# GET /distributor-portal/brands

Lister les marques pour lesquelles vous êtes un contact actif, pour construire un sélecteur. Session de compte contact distributeur.

Source : https://docs.sealtrust.io/reference/get-distributor-portal-brands/

---

Vous listez chaque marque pour laquelle votre compte est un contact
distributeur ACTIF (ni en attente, ni révoqué). C'est l'appel qui alimente un
sélecteur de marque : une entreprise de distribution porte souvent plusieurs
marques à la fois, et chaque autre point d'entrée du portail répond pour UNE
SEULE marque sélectionnée (`brand_id`), jamais pour toutes à la fois.

L'adresse complète est `https://api.sealtrust.io/v1/distributor-portal/brands`.
La même route existe sans le préfixe `/v1`.

> [!INFO] Une seule marque : rien à afficher
> La plupart des comptes contact distributeur ne servent qu'une marque. Dans
> ce cas, cette liste contient une seule entrée et une interface n'a rien à
> proposer : [`GET /distributor-portal/me`](/reference/get-distributor-portal-me/)
> se comporte exactement comme avant cette extension multi-marques.

## Autorisation

Session d'un compte contact distributeur. Voir
[`GET /distributor-portal/me`](/reference/get-distributor-portal-me/) pour le
détail des règles de session et des refus 401/403.

## Plafond d'appels

30 appels par minute, partagé avec le reste du portail distributeur.

## Requête d'exemple

```bash
curl -i https://api.sealtrust.io/v1/distributor-portal/brands \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.0000000000000000000000000000.0000000000000000000000000000"
```

## Réponse d'exemple

```json
[
  {
    "brand_id": 42,
    "brand_code": "7K3QXW9M2A",
    "brand_name": "Exemple SAS",
    "retailer_id": 9,
    "retailer_code": "DIST-DE",
    "retailer_name": "Distribution Exemple GmbH",
    "territory_countries": ["DE", "AT"],
    "alerts_opt_in": false
  },
  {
    "brand_id": 57,
    "brand_code": "9PQ2WZ4KXR",
    "brand_name": "Autre Marque SAS",
    "retailer_id": 31,
    "retailer_code": "DIST-OM-DE",
    "retailer_name": "Distribution Exemple GmbH (Autre Marque)",
    "territory_countries": ["DE"],
    "alerts_opt_in": true
  }
]
```

### Les champs de la réponse

| Champ | Type | Description |
| --- | --- | --- |
| `brand_id` | `integer` | Identifiant de la marque — à passer en `brand_id` aux autres appels du portail. |
| `retailer_id` | `integer` | Votre distributeur chez cette marque. |
| `territory_countries` | `array` ou `null` | Territoire contractuel exclusif chez cette marque. |
| `alerts_opt_in` | `boolean` | Cette marque a activé pour vous la vue [`GET /distributor-portal/out-of-territory`](/reference/get-distributor-portal-out-of-territory/). |

Une liste vide n'arrive jamais pour un appel autorisé qui aboutit : un compte
sans aucun contact actif reçoit un 403, pas une liste vide (voir ci-dessous).

## Erreurs

| Code | Condition | Que faire |
| --- | --- | --- |
| 401 | Jeton absent, illisible ou expiré. | Reconnectez-vous. |
| 403 | Aucune ligne de contact active pour ce compte, à aucune marque. Message `No active distributor access`. | Demandez à une marque de vous inviter. |
| 429 | Plafond d'appels dépassé. | Attendez le délai de `Retry-After`. |

## Voir aussi

- [`GET /distributor-portal/me`](/reference/get-distributor-portal-me/),
  le profil de la marque sélectionnée.
- [`GET /distributor-portal/shipments`](/reference/get-distributor-portal-shipments/),
  les expéditions de la marque sélectionnée.
