Skip to main content
Une capacité indique si un client peut utiliser un résultat, une méthode de paiement et une direction spécifiques. Les tâches ouvertes indiquent ce qui doit se produire avant que cette capacité ou une ressource associée puisse avancer.

Découvrir les capacités prises en charge

Lisez les options actuelles du client avec GET /v3/customers/{customerId}/capabilities/supported :
Choisissez une entrée de réponse qui correspond aux directions, à la method et au accountType prévus. Continuez uniquement lorsque availability est available ou beta et eligibility.eligible est true. Si des institutions sont renvoyées, sélectionnez uniquement un ID de cette réponse. Stockez le data[].id sélectionné en tant que CAPABILITY_ID. Ne copiez jamais un ID de capacité d’un autre client ou environnement.

Types de comptes mutualisés vs nominatifs

Les capacités bancaires existent en deux variantes, encodées dans le champ accountType et le suffixe de l’ID de capacité (par exemple ach_pooled, wire_named) :
  • pooled : compte bancaire Swipelux partagé. Chaque encaissement utilise une référence unique pour acheminer les fonds. Choisissez ceci pour les transferts ponctuels.
  • named : coordonnées bancaires dédiées au client (IBAN virtuel, compte ACH dédié). Réutilisables et partageables avec n’importe quel payeur. Requis pour les comptes bancaires émis.
Par défaut, utilisez pooled. Utilisez named uniquement lorsque le client a besoin de coordonnées bancaires réutilisables. Vérifiez la réponse supported pour savoir quelles variantes sont disponibles.

Demander la capacité

Demandez l’option sélectionnée avec POST /v3/customers/{customerId}/capabilities/{capabilityId} :
Utilisez un tableau institutions explicite uniquement lorsque vous devez sélectionner parmi les IDs renvoyés par la réponse de capacité prise en charge. Stockez data.status en tant que CAPABILITY_STATUS, data.openTaskIds en tant que OPEN_TASK_IDS, et chaque data.applications[].id dans APPLICATION_IDS.

Compléter les tâches actuelles

Listez les tâches avec GET /v3/customers/{customerId}/tasks, sélectionnez les IDs de OPEN_TASK_IDS, puis lisez chaque tâche actuelle avec GET /v3/customers/{customerId}/tasks/{taskId} :
Utilisez le dernier data.revision et les dernières data.requirements. Récupérez à nouveau la tâche juste avant la soumission si l’un ou l’autre peut avoir changé. Chaque tâche ouverte inclut un horodatage dueAt. Lorsque Swipelux crée une tâche sans date d’échéance explicite, dueAt prend par défaut exactement 31 jours après le createdAt de la tâche. Traitez dueAt comme informatif : vous ne pouvez pas le définir via l’API et il ne déclenche aucune transition automatique du cycle de vie. Seul le champ distinct deadline, lorsqu’il est présent, provoque une transition automatique.

Actions hébergées

Dans la réponse détaillée de la tâche, chaque entrée de verificationSessions et tosSessions inclut un objet action. Les réponses de liste de tâches n’incluent pas ces liens d’action. Enregistrez l’id de chaque session, puis lisez action.kind avant d’orienter le client ; ne déduisez pas la disponibilité du lien à partir du status de la session.
  • action.kind: "available" inclut action.url et action.expiresAt (actuellement toujours null). Enregistrez action.url, envoyez-y le client, puis relisez la tâche. Les champs url et expiresAt au niveau de la session contiennent les mêmes valeurs.
  • action.kind: "unavailable" signifie qu’aucun lien ne doit être présenté. Les champs url et expiresAt au niveau de la session sont absents. Le status d’une session ne détermine pas à lui seul le type d’action reçu.
Ce sont des actions liées à la tâche, pas un cycle de vie de vérification client distinct.

Téléverser des documents

Lorsqu’une exigence demande un document, téléversez-le avec POST /v3/customers/{customerId}/documents :
Stockez le data.id renvoyé en tant que DOCUMENT_ID avant de soumettre la réponse qui y fait référence.

Réponses API

Soumettez un ensemble complet de réponses pour la révision actuelle avec POST /v3/customers/{customerId}/tasks/{taskId}/submissions :
Prenez chaque ID d’exigence et type de réponse depuis la dernière tâche. Si l’API signale que la tâche a changé, récupérez-la à nouveau et reconstruisez la soumission à partir de la nouvelle révision.

Prérequis de bénéficiaire effectif pour les entreprises

Demander une capacité professionnelle qui nécessite des preuves de bénéficiaire effectif réussit même lorsque le client n’a pas encore de propriétaire qualifié. La capacité est créée en restricted avec statusReason.code: tasks_due, et la tâche d’intake professionnelle demande les faits de propriété manquants, y compris la structure de propriété. La même tâche porte une exigence resource_reference dont la demande inclut qualification: "beneficial_owner" :
Une partie liée est qualifiée lorsqu’il s’agit d’une partie person active du même client avec ownership.declared: true ou un pourcentage de propriété fourni d’au moins 25. L’exigence est dérivée de la liste actuelle des parties liées, vous n’y répondez donc généralement pas directement :
  • Créer ou mettre à jour une partie liée qualifiée satisfait l’exigence lors de la même réévaluation et ouvre le travail de profil et de documents propre à ce propriétaire. Consultez Ajouter des parties liées professionnelles.
  • Vous pouvez aussi référencer explicitement une partie qualifiée avec une réponse resource_reference portant son relatedPartyId.
  • L’exigence reste listée dans la tâche actuelle après avoir été satisfaite. Lorsqu’aucune autre obligation ne reste ouverte, la tâche devient satisfied.
  • Archiver la dernière partie qualifiée, ou supprimer les faits qui la qualifiaient, rouvre l’exigence, même après que la tâche est passée à satisfied.

Continuer lorsque la capacité est prête

Lisez à nouveau la capacité avec GET /v3/customers/{customerId}/capabilities/{capabilityId} :
Remplacez le statut stocké et les IDs de tâche par la dernière réponse. Continuez uniquement lorsque le statut de capacité actuel autorise le compte, le devis ou le transfert que vous prévoyez de créer. Ensuite, choisissez le parcours correspondant dans Flux courants.