Onboarding manuel — SANDBOX uniquement
Les endpoints de cette page constituent le parcours historique permettant de créer manuellement les éléments d'annuaire du client, puis de réaliser le claim, la validation KYB et la consultation de l'état.
Ils sont accessibles uniquement lorsque les trois conditions suivantes sont réunies :
- l'environnement utilisé est la SANDBOX ;
- l'option MANUEL est activée sur le compte partenaire ;
- le tenant a été créé avec
"onboardingMode": "MANUAL".
Ces endpoints ne sont pas disponibles en QUAL ni en PROD. Pour un tenant créé avec "onboardingMode": "AUTO", le parcours d'onboarding doit être utilisé.
Créer une legal unit
La legal unit sert de racine juridique interne au tenant. Sa création exige un ownership valide et un header x-tenant strictement cohérent avec le tenantSlug ciblé.
POST https://partners-api.sandbox.mybcs.fr/v1/tenants/{tenantSlug}/legal-units
Authorization: Bearer <access_token>
User-Agent: BCSolutions
Content-Type: application/json
{
"countryCode": "FR",
"name": "Acme France SAS",
"siren": "123456789"
}
Le contrat OpenAPI mentionne également un kycStatus facultatif lorsque le workflow l'utilise. Dans le cas général, un payload minimal countryCode + name + siren suffit pour initialiser la ressource.
Créer un office
Un office est créé sous une legal unit existante. Lorsque scheme et value sont fournis ensemble, l'office et son identifiant métier sont créés de façon atomique.
POST https://partners-api.sandbox.mybcs.fr/v1/tenants/{tenantSlug}/offices
Authorization: Bearer <access_token>
User-Agent: BCSolutions
Content-Type: application/json
{
"legalUnitId": "<legal_unit_id>",
"name": "Siège Paris",
"scheme": "SIRET",
"value": "73282932000074",
"isPrimary": true
}
Le guide métier illustre un alias fonctionnel comme SIRET, tandis que l'exemple OpenAPI peut exposer un code de scheme tel que 0009.
Le partenaire doit utiliser la valeur exactement attendue par son environnement contractuel. La référence contractuelle OpenAPI prime sur l'exemple métier.
Démarrer le claim d'une legal unit
En mode MANUAL, le claim déclenche le traitement historique de la legal unit racine dans l'annuaire de la SANDBOX, notamment l'enregistrement de l'adresse de facturation électronique selon les options fournies.
POST https://partners-api.sandbox.mybcs.fr/v1/tenants/{tenantSlug}/legal-units/{legalUnitId}/claim
Authorization: Bearer <access_token>
User-Agent: BCSolutions
Content-Type: application/json
{
"registerDomesticFr": true,
"registerPeppolInternational": false
}
Démarrer le claim d'un office
POST https://partners-api.sandbox.mybcs.fr/v1/tenants/{tenantSlug}/offices/{officeId}/claim
Authorization: Bearer <access_token>
User-Agent: BCSolutions
Content-Type: application/json
{
"registerDomesticFr": true,
"registerPeppolInternational": false
}
Approuver le KYB manuel
Dans le parcours MANUAL disponible en SANDBOX, le partenaire peut valider explicitement le KYB de la legal unit concernée.
POST https://partners-api.sandbox.mybcs.fr/v1/tenants/{tenantSlug}/legal-units/{legalUnitId}/kyb/approve
Authorization: Bearer <access_token>
User-Agent: BCSolutions
La réponse retourne typiquement registryId, tenantId, tenantSlug, tenantBusinessEntityId, le statut approved et updatedAt.
Un 409 Conflict signale généralement que l'état courant ne permet pas l'approbation ou que la décision a déjà été prise.
Consulter l'état d'onboarding d'une legal unit
Cet endpoint permet de consulter l'état du claim de la legal unit dans le parcours MANUAL disponible en SANDBOX.
POST https://partners-api.sandbox.mybcs.fr/v1/tenants/{tenantSlug}/legal-units/{legalUnitId}/onboarding/state
Authorization: Bearer <access_token>
User-Agent: BCSolutions
Content-Type: application/json
Exemple de réponse :
{
"legalUnitId": "019e8273-831b-71db-bd3f-ac667c23f998",
"onboardingStatus": "active",
"kybStatus": "approved_by_partner",
"technicalStatus": "completed",
"canCreateOffices": true,
"nextAction": "create_office",
"blockingReason": null,
"expiresAt": null,
"links": {
"state": "/v1/tenants/p-les-cigales-hr53241y76/legal-units/019e8273-831b-71db-bd3f-ac667c23f998/onboarding/state",
"createOffice": "/v1/tenants/p-les-cigales-hr53241y76/offices"
}
}