> For the complete documentation index, see [llms.txt](https://qosic.gitbook.io/qospay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://qosic.gitbook.io/qospay/merchant-api/discovery/operators.md).

# operators

Découvrez toujours les opérateurs dynamiquement au lieu de les coder en dur. Le résultat est limité aux routes actuellement configurées pour le marchand authentifié.

```http
GET /api/v1/payment/operators/list HTTP/1.1
Host: api.example.com
Authorization: Bearer <access-token>
Accept: application/json
```

```bash
curl "https://api.example.com/api/v1/payment/operators/list" \
  --header "Authorization: Bearer ${QOS_ACCESS_TOKEN}" \
  --header "Accept: application/json"
```

### Réponse réussie — HTTP 200

```json
{
  "data": [
    {
      "countryCode": "234",
      "name": "Nigeria",
      "providerServiceType": "CollectionAndFundsTransfer",
      "operators": [
        {
          "operatorId": "NGPAY",
          "description": "Bank Transfer",
          "category": "Bank Transfer",
          "customerIdentificationType": "ACCOUNT_NUMBER"
        }
      ],
      "currencies": [
        "NGN"
      ]
    },
    {
      "countryCode": "234",
      "name": "Nigeria",
      "providerServiceType": "BillsPayment",
      "operators": [
        {
          "operatorId": "ELECTRICITY",
          "description": "Electricity Bills",
          "category": "Utility",
          "customerIdentificationType": "EITHER"
        }
      ],
      "currencies": [
        "NGN"
      ]
    }
  ],
  "message": "Success",
  "success": true,
  "responseCode": "00"
}
```

### Champs de la réponse

| Champ                                    | Signification                                                                                                    |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `countryCode`                            | Valeur du pays à envoyer dans les requêtes suivantes.                                                            |
| `name`                                   | Nom d’affichage du pays.                                                                                         |
| `providerServiceType`                    | `Collection`, `CollectionAndFundsTransfer` ou `BillsPayment`. Cette valeur détermine le parcours pris en charge. |
| `operators[].operatorId`                 | Identifiant stable de l’opérateur configuré, à transmettre comme `operatorId`.                                   |
| `operators[].description`                | Nom lisible de l’opérateur.                                                                                      |
| `operators[].category`                   | Catégorie définie par le provider pour l’affichage ou le routage.                                                |
| `operators[].customerIdentificationType` | `MSISDN`, `ACCOUNT_NUMBER` ou `EITHER`. Utilisez cette valeur pour collecter le bon champ de destination.        |
| `currencies`                             | Devises configurées pour le pays. Sélectionnez-en une et envoyez-la explicitement.                               |

{% hint style="warning" %}
Si aucune route active n’est configurée, l’API renvoie HTTP `400` avec `No active providers found for merchant`. Un simple rafraîchissement ne corrigera pas la configuration ; utilisez le canal d’onboarding marchand.
{% endhint %}
