Skip to main content
Un compte connecté représente un vendeur rattaché à votre marketplace. Il est créé par vous, il vous appartient exclusivement, et le lien est immuable. Guide d’intégration : Créer un compte connecté.

URL de base

Les chemins ci-dessous sont relatifs à cette base. Les deux hôtes servent les mêmes endpoints.
Casse des codes. En entrée, country et currency sont acceptés dans n’importe quelle casse : cg et CG désignent le même pays. En sortie, l’objet connect_account les rend normalisés en majuscules par le référentiel, tandis que les objets d’argent (allocation, retrait, soldes) portent une devise en minuscules. Comparez sans tenir compte de la casse.

L’objet connect_account

string
Identifiant unique, préfixé acct_.
string
Vaut toujours connect_account.
string
Le compte de la marketplace qui contrôle ce vendeur. Immuable.
string | null
L’organisation propre du vendeur. Un vendeur est une entité distincte de sa marketplace.
string
Toujours business pour un compte connecté.
string
Raison sociale ou nom du vendeur.
string | null
L’e-mail du vendeur. C’est le canal par lequel Yabetoo le joint.
string | null
État du compte. active signifie que le compte existe, pas qu’il est vérifié ni qu’il peut recevoir des fonds.
string
test ou live. Hérité de la clé API qui a créé le compte.
string | null
controller ou account : qui supporte les frais Yabetoo. Dérivé du connect_mode de la marketplace, jamais fourni à la création.
string | null
Code pays ISO 3166-1 alpha-2. Détermine le barème de conformité du dossier KYC.
string | null
Code devise du compte.
string | null
Horodatage ISO 8601.

Créer un compte connecté

En-tête Idempotency-Key obligatoire (255 caractères maximum).

Paramètres

Refusés (422) : phone, type, fee_payer.

Renvoie

L’objet connect_account, en 201. ⚠️ Ce corps ne porte ni country ni currency : ils apparaissent sur la lecture et la liste.
201
Débit limité à 20 requêtes par minute.

Lister vos comptes connectés

Renvoie

Une liste paginée par curseur : { object: "list", data, has_more, next_cursor }. Chaque entrée est un connect_account complet, country et currency compris.

Lire un compte connecté

Renvoie

Un connect_account sans type ni currency, augmenté de balances :
array
Une entrée par devise. [] pour un vendeur sans portefeuille : état nominal, réponse 200.

Lister les transactions d’un compte connecté

Renvoie

{ object: "list", data, has_more } : pagination par page, donc sans next_cursor. Chaque entrée porte id, object, amount, currency, amount_fee, created_at, available_at, matured_at.

Lire la conformité d’un compte connecté

L’état de vérification du vendeur et ce qu’il est autorisé à faire. Deux lectures faites auprès du service d’identité, rendues ensemble ou pas du tout.

Renvoie

200
string | null
Statut brut du dossier de vérification : created, pending, documents_submitted, in_review, approved, rejected, needs_info, suspended. null quand aucun dossier n’existe — vendeur créé, lien d’onboarding jamais ouvert. C’est un état nominal, pas une erreur.
boolean
false tant qu’aucune politique n’est attachée au vendeur — typiquement avant l’approbation de son dossier. Dans ce cas allowed_operations est [].
string[]
Les opérations que le vendeur peut effectuer : collect (encaisser pour son compte) et withdraw (recevoir un versement).
verification.status est un affichage ; capabilities.allowed_operations est la seule autorité. Un dossier approved ne signifie pas qu’un versement passera : c’est la présence de withdraw dans allowed_operations qui le dit. Ne dérivez jamais une capacité du statut.
Un 503 E_IDENTITY_UNAVAILABLE rend un corps sans verification ni capabilities : réessayez, n’interprétez pas comme « aucune capacité ».

Créer un lien d’onboarding

Corps vide. Pas d’Idempotency-Key : l’appel reprend une session en cours. Refusés (422, rule: "derived") : country, kycLevel.

Renvoie

201

Verser le solde d’un compte connecté

En-tête Idempotency-Key obligatoire. Corps vide : le retrait porte sur la totalité du solde disponible. Refusé (422) : amount. Il n’existe pas de retrait partiel.

Renvoie

201
L’appel est synchrone et attend l’opérateur. status est l’état final : succeeded ou failed. Un refus opérateur rend 201 avec status: "failed", pas une erreur HTTP.

Erreurs

Voir la référence des erreurs Connect.

Événements associés

connect.account.created et connect.account.updated ne sont pas émis. Lisez l’état d’un vendeur avec GET /v1/connect/accounts/{acct}, et l’état de sa vérification avec GET /v1/connect/accounts/{acct}/compliance.