Environment variables
Ontdek ondersteunde capabilities
Lees de huidige opties van de klant metGET /v3/customers/{customerId}/capabilities/supported:
List supported capabilities
directions, method en accountType. Ga alleen verder wanneer availability gelijk is aan available of beta en eligibility.eligible gelijk is aan true. Als er institutions worden geretourneerd, selecteer je alleen een ID uit die respons.
Elke institution-entry bevat een logoUrl en een isDefault-vlag. Gebruik logoUrl om het logo van de bank te tonen in een UI voor bankselectie, en toon je eigen generieke bankicoon wanneer het null is. isDefault geldt alleen voor deze klant en capability, niet globaal voor de institution. GET /v3/institutions retourneert dezelfde nullable logoUrl. Institution-ID’s zijn opaque, dus verwerk nieuwe ID’s zonder codewijzigingen.
Institution entry
data[].id als CAPABILITY_ID. Kopieer nooit een capability-ID van een andere klant of omgeving.
Pooled vs named accounttypes
Bank-capabilities komen in twee varianten, gecodeerd in hetaccountType-veld en de capability-ID-suffix (bijvoorbeeld ach_pooled, wire_named):
pooled: gedeelde Swipelux-bankrekening. Elke pay-in gebruikt een unieke referentie om geld te routeren. Kies dit voor eenmalige transfers.named: dedicated bankgegevens voor de klant (virtueel IBAN, dedicated ACH-rekening). Herbruikbaar en te delen met elke betaler. Vereist voor uitgegeven bankrekeningen.
pooled. Gebruik named alleen wanneer de klant herbruikbare bankgegevens nodig heeft. Controleer de supported-response voor welke varianten beschikbaar zijn.
Gebruik swift_named om SWIFT-stortingen te ontvangen of SWIFT-bankgegevens uit te geven. swift_pooled ondersteunt alleen uitbetalingen, dus controleer de directions van elke optie in de supported-capability-respons. Een named SWIFT-rekening retourneert herbruikbare ontvangstgegevens, waaronder de BIC van de bank, een referentie wanneer die vereist is, en het adres van de begunstigde wanneer de bank dat verstrekt.
Voor uitgegeven ACH-, Wire- en SWIFT-rekeningen kun je met institution een specifieke bank kiezen en het rekeningverzoek opslaan voordat de bank de klant goedkeurt. Zie Een bankrekening uitgeven.
Vraag de capability aan
Vraag de geselecteerde optie aan metPOST /v3/customers/{customerId}/capabilities/{capabilityId}:
Request capability
institutions-array wanneer je moet kiezen uit ID’s die de supported-capability-respons heeft geretourneerd.
Bewaar data.status als CAPABILITY_STATUS, data.accountProvisioning als ACCOUNT_PROVISIONING_STATUS, data.openTaskIds als OPEN_TASK_IDS en elke data.applications[].id in APPLICATION_IDS.
Gedeelde applications per bank
Voor named bank-capabilities heeft elke klant één application-case per bank. Pooled en platform-capabilities gebruiken cases zonder bank. Swipelux deelt een case over elke compatibele capability die je aanvraagt:- Eén goedkeuring kan meerdere capabilities dekken. Een goedgekeurde case bij één bank kan bijvoorbeeld zowel een ACH- als een wire-capability
readymaken. - Een later verzoek dat overeenkomt met een bestaande case, hergebruikt die. Swipelux opent geen tweede application en voegt geen dubbele taken toe.
- Cases bij verschillende banken zijn onafhankelijk. Een afwijzing bij één bank heeft geen invloed op een case bij een andere bank.
201betekent dat het verzoek een nieuwe application-case heeft geopend.200betekent dat het verzoek is uitgekomen bij een application-case die de klant al had, bijvoorbeeld een herhaald verzoek voor een bank-capability die de klant al heeft, of een verzoek voor een geannuleerde capability. Een herhaald verzoek voorcardofstablecoin_transfersretourneert nog steeds409 capability_already_exists.selectedApplicationIdis een top-level veld naastdatamet de ID van de case die het verzoek heeft geselecteerd of geopend. Swipelux laat het weg wanneer het verzoek geen case heeft geselecteerd. Een idempotente replay retourneert dezelfde waarde.
Response (abbreviated)
institutions-lijst opnieuw om dezelfde case te selecteren, of stuur één institution-ID om die bank te targeten. Een bank die de klant definitief heeft afgewezen, wordt overgeslagen. Wanneer je alleen die bank noemt, of elke eligible bank de klant heeft afgewezen, retourneert het verzoek 409 capability_terminally_rejected. Om na een afwijzing een andere bank te proberen, vraag je de capability opnieuw aan met de institution-ID van die bank.
De status van een capability weerspiegelt alle gerelateerde cases van de klant. Voor een named capability is één ready case waarvan de goedkeuring hem dekt genoeg om hem ready te maken, ongeacht wat andere banken melden. Een pooled capability wacht ook op zijn methodecontrole, gemeld in probes in de lijst met applications van de klant.
Bekijk de applications van de klant
Bekijk elke application-case van de klant metGET /v3/customers/{customerId}/applications. Resultaten worden gepagineerd met nextCursor en hasMore, en accepteren updatedAfter:
List applications
applications[] van een capability, plus:
scope:namedvoor een case bij één bank,provider_pooledofplatformvoor cases zonder bank, ofnullvoor een niet-geclassificeerde historische case.institutionontbreekt bijprovider_pooled- enplatform-cases.requestedScope[]: de capability-keys die voor de case zijn aangevraagd, elk met de eersterequestedAt. Entries worden nooit verwijderd.coverage[]: de capability-keys die de goedkeuring van de case dekt, elk metgrantedAtensource. Coverage legt scope vast, geen autorisatie. Lees de capability voor de huidige status.probes[]: methodecontroles voor de pooled capability-keys die de case dekt, elk metcapabilityKey,statusenreason. Named keys vereisen nooit een probe.generation,predecessorApplicationIdensupersededByApplicationId: opvolgingslinks. WanneersupersededByApplicationIdis ingesteld, is de case vervangen. Volg die ID naar de huidige case. Deapplications[]van een capability bevat alleen huidige cases, dus een vervangen case verschijnt alleen in deze lijst.
Response (abbreviated)
Voltooi huidige taken
Bekijk taken metGET /v3/customers/{customerId}/tasks, selecteer ID’s uit OPEN_TASK_IDS en lees elke huidige taak met GET /v3/customers/{customerId}/tasks/{taskId}:
List open tasks
data.revision en data.requirements. Refetch de taak direct vóór indiening als een van beide kan zijn gewijzigd.
Hergebruikt profielbewijs
Voor application-intaketaken die directe indiening via de API accepteren, hergebruikt Swipelux informatie die de klant al heeft verstrekt. Wanneer zo’n taak wordt aangemaakt of gereconcilieerd, controleert Swipelux het klantprofiel en de door de klant zelf geüploade documenten. Eligible vereisten die al worden onderbouwd door een bruikbare profielwaarde of een bruikbaar document, gaan naarin_review in plaats van actionable te blijven. Profielupdates en nieuwe documentuploads activeren dezelfde controle voor bestaande taken.
Alleen ontbrekende of incompatibele waarden blijven actionable. Hergebruik keurt het bewijs niet goed. Swipelux beoordeelt het nog steeds. Expliciete correctieverzoeken en eerder beantwoorde vereisten blijven actionable. Documenten van eigenaren en related parties worden niet hergebruikt, en vereisten die alleen via een hosted session worden verzameld, behouden hun normale flow.
Vereisten renderen
Bouw formulieren op basis van de metadata die elke vereiste retourneert, niet op basis van requirement-keys. Een vereiste kan een optionele kortetitle bevatten, en elke request bevat een prompt om onder de kop te tonen.
Vereisten met request.type: "profile" identificeren het profielveld met profilePointer en voegen invoermetadata toe:
allowedValues: de toegestane waarden voor een scalair veld, of voor elk item van een arrayveld. Dien deze waarden in, niet vertaalde weergavelabels.valueSchema: een zelfstandig JSON Schema Draft 7-document dat de invoervorm, geneste properties, verplichte velden en structurele beperkingen beschrijft. Enums op objecten staan op de relevante property, bijvoorbeeldvalueSchema.items.properties.type.enumvoor fiscale identificatiecodes. Swipelux past na indiening nog steeds veldoverschrijdende validatie en reviewvalidatie toe, dus een waarde die het schema doorstaat, kan nog steeds worden afgewezen.valueType: "country", ofitemValueType: "country"voor arrays: het veld accepteert ISO 3166-1 alpha-2-codes in hoofdletters. Geneste landproperties invalueSchemagebruikenformat: "iso-3166-1-alpha-2". Gebruik een standaard landenlijst voor gelokaliseerde labels.
Requirement
valueSchema en allowedValues weg. Render die op basis van prompt en valueType.
Elke open taak bevat een dueAt-tijdstempel. Wanneer Swipelux een taak aanmaakt zonder expliciete vervaldatum, staat dueAt standaard op precies 31 dagen na de createdAt van de taak. Behandel dueAt als informatief: je kunt het niet via de API instellen en het activeert geen automatische levenscyclusovergang. Alleen het aparte veld deadline veroorzaakt, indien aanwezig, een automatische overgang.
Gehoste acties
In het taakdetailantwoord bevat elke entry inverificationSessions en tosSessions een action-object. Antwoorden met een takenlijst bevatten deze actielinks niet. Sla de id van elke sessie op en lees vervolgens action.kind voordat je de klant doorstuurt; leid de beschikbaarheid van een link niet af uit de status van de sessie.
action.kind: "available"bevataction.urlenaction.expiresAt(momenteel altijdnull). Slaaction.urlop, stuur de klant ernaartoe en lees de taak daarna opnieuw. De veldenurlenexpiresAtop sessieniveau bevatten dezelfde waarden.action.kind: "unavailable"betekent dat er geen link mag worden getoond. De veldenurlenexpiresAtop sessieniveau ontbreken. Alleen destatusvan een sessie bepaalt niet welk actietype je ontvangt.
Verification session
action_required, bevat reviewFeedback.code: hosted_profile_direct_submission_required. Verzamel die waarde bij de klant en dien deze in als API-antwoord.
Documenten uploaden
Wanneer een vereiste om een document vraagt, upload je het metPOST /v3/customers/{customerId}/documents:
Upload document
data.id als DOCUMENT_ID voordat je het antwoord indient dat ernaar verwijst.
Om een opgeslagen bestand later op te halen, roep je GET /v3/customers/{customerId}/documents/{documentId}/download aan. Swipelux retourneert een url die het bestand als bijlage downloadt en na één uur verloopt. Gearchiveerde documenten retourneren 404.
API-antwoorden
Dien één volledige antwoordset in voor de huidige revisie metPOST /v3/customers/{customerId}/tasks/{taskId}/submissions:
Submit task answers
UBO-voorwaarde voor bedrijven
Het aanvragen van een zakelijke capability die UBO-bewijs nodig heeft, slaagt ook wanneer de klant nog geen kwalificerende eigenaar heeft. De capability wordt aangemaakt alsrestricted met statusReason.code: tasks_due, en de zakelijke intake-taak vraagt de ontbrekende ownership facts op, inclusief de eigendomsstructuur.
Dezelfde taak bevat een resource_reference vereiste waarvan het verzoek qualification: "beneficial_owner" bevat:
Beneficial owner requirement
person party van dezelfde klant is met een opgegeven eigendomspercentage van ten minste 25, of met ownership.declared: true zonder percentage.
De vereiste wordt afgeleid uit het huidige related-party bestand, dus je beantwoordt hem meestal niet direct:
- Het aanmaken of bijwerken van een kwalificerende related party voldoet aan de vereiste in dezelfde herevaluatie en opent het eigen profiel- en documentwerk van die eigenaar. Zie Voeg zakelijke related parties toe.
- Je kunt ook expliciet naar een kwalificerende party verwijzen met een
resource_referenceantwoord dat de bijbehorenderelatedPartyIdbevat. - De vereiste blijft in de huidige taak vermeld nadat eraan is voldaan. Wanneer geen andere verplichting meer openstaat, wordt de taak
satisfied. - Het archiveren van de laatste kwalificerende party, of het verwijderen van de facts die hem kwalificeerden, heropent de vereiste, zelfs nadat de taak
satisfiedwas.
Ga verder wanneer de capability ready is
Lees de capability opnieuw metGET /v3/customers/{customerId}/capabilities/{capabilityId}:
Refetch capability
status geeft aan of de bevoegdheid is goedgekeurd. Voor een capability die een account uitgeeft, rapporteert accountProvisioning afzonderlijk of dat account not_started, in_progress, issued of failed is; een capability die geen account uitgeeft retourneert not_applicable.
Zolang de capability pending is, laten twee van de statusReason.code-waarden die ze kan melden zien of er een beoordeling loopt. preparing_submission betekent dat Swipelux nog een aanvraag voorbereidt voor indiening en dat er geen beoordeling loopt, zelfs als de aanvraag bij een andere bank rejected is of aandacht nodig heeft. review_in_progress betekent dat er een beoordeling loopt, bijvoorbeeld terwijl een aanvraag in_review is of een gehoste verificatie open staat. Beide gebruiken resolution: wait. Een wisseling tussen deze codes houdt de status op pending, dus er wordt geen capability.status_changed-event verzonden. Lees de capability om de huidige code te zien.
Ga alleen verder wanneer de huidige capability-status het account, de quote of de transfer die je wilt aanmaken toestaat. Wanneer de flow een uitgegeven account nodig heeft, wacht je ook tot accountProvisioning de status issued bereikt.
Kies vervolgens de bijpassende journey in Common flows.