> ## Documentation Index
> Fetch the complete documentation index at: https://docs.colismove.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Onboarding agence

> Guide complet pour les agences de transport professionnelles

# Onboarding agence

Les agences de transport professionnelles peuvent s'inscrire sur ColisMove pour gérer des envois en volume, plusieurs branches et des employés.

## Flux d'onboarding

```mermaid theme={null}
flowchart TD
    A[Register Agency] --> B[Upload KYC Documents]
    B --> C[Admin Reviews Documents]
    C -->|Approved| D[Complete Stripe Onboarding]
    C -->|Rejected| B
    D --> E[Create Branches]
    E --> F[Add Employees]
    F --> G[Start Operations]
```

## Étape 1 : Inscrire l'agence

```bash theme={null}
POST /v1/api/agencies/register
{
  "name": "Express Transport SARL",
  "description": "Professional transport agency",
  "phoneNumber": "+33612345678",
  "address": "123 Rue du Commerce, Paris",
  "city": "Paris",
  "country": "FR"
}
```

## Étape 2 : Téléverser les documents KYC

Téléverser les documents d'entreprise requis :

```bash theme={null}
POST /v1/api/agencies/{id}/kyc/documents
Content-Type: multipart/form-data

file: [business-registration.pdf]
```

Documents requis :

* Justificatif d'immatriculation (KBIS ou équivalent)
* Document d'identification fiscale
* Justificatif d'adresse
* Pièce d'identité du dirigeant

Vérifier le statut des documents :

```bash theme={null}
GET /v1/api/agencies/{id}/kyc/documents
```

## Étape 3 : Onboarding Stripe Connect

Une fois les documents KYC approuvés :

```bash theme={null}
POST /v1/api/agencies/{id}/stripe-onboard
```

Renvoie une URL d'onboarding Stripe pour la configuration bancaire de l'agence.

## Étape 4 : Créer des branches

Ajouter des emplacements physiques :

```bash theme={null}
POST /v1/api/agencies/{id}/branches
{
  "name": "Paris Gare du Nord",
  "address": "18 Rue de Dunkerque, 75010 Paris",
  "phoneNumber": "+33612345679",
  "latitude": 48.8809,
  "longitude": 2.3553
}
```

## Étape 5 : Ajouter des employés

Inviter les membres de l'équipe :

```bash theme={null}
POST /v1/api/agencies/{id}/employees
{
  "userId": 456,
  "role": "AGENT"
}
```

## Portefeuille de l'agence

Consulter les gains de l'agence :

```bash theme={null}
GET /v1/api/agencies/{id}/wallet
```

Demander un retrait :

```bash theme={null}
POST /v1/api/agencies/{id}/withdraw
{
  "amount": 500.00
}
```

## Gestion de l'agence

| Endpoint                                   | Description                             |
| ------------------------------------------ | --------------------------------------- |
| `GET /agencies/my-agency`                  | Récupère les détails de votre agence    |
| `PUT /agencies/{id}`                       | Met à jour les informations de l'agence |
| `GET /agencies/{id}/branches`              | Liste toutes les branches               |
| `GET /agencies/{id}/employees`             | Liste tous les employés                 |
| `DELETE /agencies/{id}/employees/{userId}` | Retire un employé                       |

<Info>
  Les propriétaires d'agence ont le rôle `ROLE_VERIFIED_USER` et gèrent leur agence de manière autonome. Les super administrateurs peuvent suspendre une agence via `PATCH /superadmin/agencies/{id}/suspend`.
</Info>
