Environment variables
Unterstützte Fähigkeiten entdecken
Lesen Sie die aktuellen Optionen des Kunden mitGET /v3/customers/{customerId}/capabilities/supported:
List supported capabilities
directions, method und accountType entspricht. Fahren Sie nur fort, wenn availability gleich available oder beta und eligibility.eligible gleich true ist. Wenn institutions zurückgegeben werden, wählen Sie nur eine ID aus dieser Antwort aus.
Jeder Institutionseintrag enthält eine logoUrl und ein isDefault-Flag. Verwenden Sie logoUrl, um das Logo der Bank in einer Bankauswahl-UI anzuzeigen, und rendern Sie Ihr eigenes generisches Banksymbol, wenn der Wert null ist. isDefault gilt nur für diesen Kunden und diese Fähigkeit, nicht global für die Institution. GET /v3/institutions gibt dieselbe nullable logoUrl zurück. Institutions-IDs sind opak, verarbeiten Sie neue IDs daher ohne Codeänderungen.
Institution entry
data[].id als CAPABILITY_ID. Kopieren Sie niemals eine Fähigkeits-ID von einem anderen Kunden oder aus einer anderen Umgebung.
Pooled vs. named Kontotypen
Bank-Fähigkeiten gibt es in zwei Varianten, kodiert im FeldaccountType und dem Fähigkeits-ID-Suffix (zum Beispiel ach_pooled, wire_named):
pooled: gemeinsam genutztes Swipelux-Bankkonto. Jedes Pay-in verwendet eine eindeutige Referenz, um Gelder weiterzuleiten. Wählen Sie dies für einmalige Transfers.named: dedizierte Bankdaten für den Kunden (virtuelle IBAN, dediziertes ACH-Konto). Wiederverwendbar und mit jedem Zahler teilbar. Erforderlich für ausgegebene Bankkonten.
pooled. Verwenden Sie named nur, wenn der Kunde wiederverwendbare Bankdaten benötigt. Prüfen Sie die supported-Antwort, um zu sehen, welche Varianten verfügbar sind.
Um SWIFT-Einzahlungen zu empfangen oder SWIFT-Bankdaten auszugeben, verwenden Sie swift_named. swift_pooled unterstützt nur Payouts, prüfen Sie also die directions jeder Option in der Antwort zu den unterstützten Fähigkeiten. Ein named SWIFT-Konto gibt wiederverwendbare Empfangsdaten zurück, darunter die BIC der Bank, eine Referenz, falls eine erforderlich ist, und die Begünstigtenadresse, sofern die Bank sie bereitstellt.
Für ausgegebene ACH-, Wire- und SWIFT-Konten können Sie mit institution eine bestimmte Bank auswählen und die Kontoanfrage speichern, bevor die Bank den Kunden genehmigt. Siehe Bankkonto ausgeben.
Fähigkeit anfordern
Fordern Sie die ausgewählte Option mitPOST /v3/customers/{customerId}/capabilities/{capabilityId} an:
Request capability
institutions-Array nur, wenn Sie aus IDs auswählen müssen, die von der Supported-Capability-Antwort zurückgegeben wurden.
Speichern Sie data.status als CAPABILITY_STATUS, data.accountProvisioning als ACCOUNT_PROVISIONING_STATUS, data.openTaskIds als OPEN_TASK_IDS und jede data.applications[].id in APPLICATION_IDS.
Gemeinsame Anträge pro Bank
Bei named Bank-Fähigkeiten hat jeder Kunde einen Antragsfall pro Bank. Pooled- und Plattform-Fähigkeiten verwenden Fälle ohne Bank. Swipelux teilt einen Fall über alle kompatiblen Fähigkeiten, die Sie anfordern:- Eine Genehmigung kann mehrere Fähigkeiten abdecken. Zum Beispiel kann ein genehmigter Fall bei einer Bank sowohl eine ACH- als auch eine Wire-Fähigkeit
readymachen. - Eine spätere Anfrage, die zu einem bestehenden Fall passt, verwendet diesen wieder. Swipelux eröffnet keinen zweiten Antrag und fügt keine doppelten Aufgaben hinzu.
- Fälle bei verschiedenen Banken sind unabhängig. Eine Ablehnung bei einer Bank wirkt sich nicht auf einen Fall bei einer anderen Bank aus.
201bedeutet, dass die Anfrage einen neuen Antragsfall eröffnet hat.200bedeutet, dass die Anfrage einem Antragsfall zugeordnet wurde, den der Kunde bereits hatte, zum Beispiel bei einer wiederholten Anfrage für eine Bank-Fähigkeit, die der Kunde bereits besitzt, oder bei einer Anfrage für eine stornierte Fähigkeit. Eine wiederholte Anfrage fürcardoderstablecoin_transfersgibt weiterhin409 capability_already_existszurück.selectedApplicationIdist ein Feld auf oberster Ebene nebendatamit der ID des Falls, den die Anfrage ausgewählt oder eröffnet hat. Swipelux lässt es weg, wenn die Anfrage keinen Fall ausgewählt hat. Eine idempotente Wiederholung gibt denselben Wert zurück.
Response (abbreviated)
institutions-Liste erneut, um denselben Fall auszuwählen, oder senden Sie eine einzelne Institutions-ID, um gezielt diese Bank anzusprechen. Eine Bank, die den Kunden endgültig abgelehnt hat, wird übersprungen. Wenn Sie nur diese Bank angeben oder alle berechtigten Banken den Kunden abgelehnt haben, gibt die Anfrage 409 capability_terminally_rejected zurück. Um es nach einer Ablehnung bei einer anderen Bank zu versuchen, fordern Sie die Fähigkeit erneut mit der Institutions-ID dieser Bank an.
Der Status einer Fähigkeit spiegelt alle zugehörigen Fälle des Kunden wider. Bei einer named Fähigkeit genügt ein ready-Fall, dessen Genehmigung sie abdeckt, damit sie ready wird, unabhängig davon, was andere Banken melden. Eine pooled Fähigkeit wartet zusätzlich auf ihre Methodenprüfung, die in probes in der Antragsliste des Kunden gemeldet wird.
Anträge des Kunden auflisten
Listen Sie alle Antragsfälle des Kunden mitGET /v3/customers/{customerId}/applications auf. Die Ergebnisse sind mit nextCursor und hasMore paginiert und akzeptieren updatedAfter:
List applications
applications[] einer Fähigkeit zurückgegeben werden, und zusätzlich:
scope:namedfür einen Fall bei einer Bank,provider_pooledoderplatformfür Fälle ohne Bank odernullfür einen nicht klassifizierten historischen Fall.institutionfehlt beiprovider_pooled- undplatform-Fällen.requestedScope[]: die Fähigkeitsschlüssel, die für den Fall angefordert wurden, jeweils mit ihrem erstenrequestedAt. Einträge werden nie entfernt.coverage[]: die Fähigkeitsschlüssel, die die Genehmigung des Falls abdeckt, jeweils mitgrantedAtundsource. Coverage erfasst den Umfang, nicht die Autorisierung. Lesen Sie die Fähigkeit, um ihren aktuellen Status zu erhalten.probes[]: Methodenprüfungen für die pooled Fähigkeitsschlüssel, die der Fall abdeckt, jeweils mitcapabilityKey,statusundreason. Named Schlüssel erfordern nie eine Prüfung.generation,predecessorApplicationIdundsupersededByApplicationId: Nachfolgeverknüpfungen. WennsupersededByApplicationIdgesetzt ist, wurde der Fall ersetzt. Folgen Sie dieser ID zum aktuellen Fall. Dieapplications[]einer Fähigkeit listen nur aktuelle Fälle auf, daher erscheint ein ersetzter Fall nur in dieser Liste.
Response (abbreviated)
Aktuelle Aufgaben erledigen
Listen Sie Aufgaben mitGET /v3/customers/{customerId}/tasks auf, wählen Sie IDs aus OPEN_TASK_IDS aus und lesen Sie dann jede aktuelle Aufgabe mit GET /v3/customers/{customerId}/tasks/{taskId}:
List open tasks
data.revision und data.requirements. Rufen Sie die Aufgabe unmittelbar vor dem Absenden erneut ab, wenn sich eines von beiden geändert haben könnte.
Wiederverwendete Profilnachweise
Bei Antragsaufnahme-Aufgaben, die eine direkte API-Einreichung akzeptieren, verwendet Swipelux Informationen wieder, die der Kunde bereits bereitgestellt hat. Wenn eine solche Aufgabe erstellt oder abgeglichen wird, prüft Swipelux das Kundenprofil und die vom Kunden selbst hochgeladenen Dokumente. Berechtigte Anforderungen, die bereits durch einen verwendbaren Profilwert oder ein Dokument belegt sind, wechseln zuin_review, statt handlungsfähig zu bleiben. Profilaktualisierungen und neue Dokument-Uploads lösen dieselbe Prüfung für bestehende Aufgaben aus.
Nur fehlende oder inkompatible Werte bleiben handlungsfähig. Die Wiederverwendung genehmigt die Nachweise nicht. Swipelux prüft sie weiterhin. Ausdrückliche Korrekturanfragen und bereits beantwortete Anforderungen bleiben handlungsfähig. Dokumente von Eigentümern und verbundenen Parteien werden nicht wiederverwendet, und Anforderungen, die nur über eine gehostete Session erfasst werden, behalten ihren normalen Ablauf.
Anforderungen rendern
Erstellen Sie Formulare aus den Metadaten, die jede Anforderung zurückgibt, statt aus Anforderungsschlüsseln. Eine Anforderung kann einen optionalen kurzentitle enthalten, und jeder request enthält einen prompt, der unter der Überschrift angezeigt wird.
Anforderungen mit request.type: "profile" identifizieren das Profilfeld mit profilePointer und ergänzen Eingabemetadaten:
allowedValues: die zulässigen Werte für ein skalares Feld oder für jedes Element eines Array-Felds. Senden Sie diese Werte, nicht übersetzte Anzeigebezeichnungen.valueSchema: ein eigenständiges JSON Schema Draft 7-Dokument, das die Eingabeform, verschachtelte Eigenschaften, Pflichtfelder und strukturelle Einschränkungen beschreibt. Enums für Objekte erscheinen an der jeweiligen Eigenschaft, zum BeispielvalueSchema.items.properties.type.enumfür Steueridentifikatoren. Swipelux wendet nach der Einreichung weiterhin feldübergreifende Validierung und Prüfungsvalidierung an, daher kann ein Wert, der das Schema erfüllt, dennoch abgelehnt werden.valueType: "country"oderitemValueType: "country"für Arrays: Das Feld akzeptiert ISO 3166-1 alpha-2-Codes in Großbuchstaben. Verschachtelte Ländereigenschaften invalueSchemaverwendenformat: "iso-3166-1-alpha-2". Verwenden Sie für lokalisierte Bezeichnungen eine Standard-Länderliste.
Requirement
valueSchema und allowedValues weg. Rendern Sie diese anhand von prompt und valueType.
Jede offene Aufgabe enthält einen dueAt-Zeitstempel. Wenn Swipelux eine Aufgabe ohne explizites Fälligkeitsdatum erstellt, wird dueAt standardmäßig auf genau 31 Tage nach dem createdAt der Aufgabe gesetzt. Behandeln Sie dueAt als informativ: Sie können es nicht über die API setzen, und es löst keinen automatischen Lebenszyklusübergang aus. Nur das separate Feld deadline verursacht, falls vorhanden, einen automatischen Übergang.
Gehostete Aktionen
In der Antwort mit den Aufgabendetails enthält jeder Eintrag inverificationSessions und tosSessions ein action-Objekt. Antworten der Aufgabenliste enthalten diese Aktionslinks nicht. Speichern Sie die id jeder Sitzung und lesen Sie action.kind, bevor Sie den Kunden weiterleiten; leiten Sie die Verfügbarkeit des Links nicht aus dem status der Sitzung ab.
action.kind: "available"enthältaction.urlundaction.expiresAt(derzeit immernull). Speichern Sieaction.url, senden Sie den Kunden dorthin und lesen Sie die Aufgabe anschließend erneut. Die FelderurlundexpiresAtauf Sitzungsebene enthalten dieselben Werte.action.kind: "unavailable"bedeutet, dass kein Link angezeigt werden soll. Die FelderurlundexpiresAtauf Sitzungsebene fehlen. Derstatuseiner Sitzung allein bestimmt nicht, welche Aktionsart Sie erhalten.
Verification session
action_required zurücksetzt, trägt reviewFeedback.code: hosted_profile_direct_submission_required. Erfassen Sie diesen Wert beim Kunden und reichen Sie ihn als API-Antwort ein.
Dokumente hochladen
Wenn eine Anforderung ein Dokument verlangt, laden Sie es mitPOST /v3/customers/{customerId}/documents hoch:
Upload document
data.id als DOCUMENT_ID, bevor Sie die Antwort einreichen, die darauf verweist.
Um eine gespeicherte Datei später abzurufen, rufen Sie GET /v3/customers/{customerId}/documents/{documentId}/download auf. Swipelux liefert eine url, die die Datei als Anhang herunterlädt und nach einer Stunde abläuft. Archivierte Dokumente liefern 404.
API-Antworten
Reichen Sie einen vollständigen Antwortsatz für die aktuelle Revision mitPOST /v3/customers/{customerId}/tasks/{taskId}/submissions ein:
Submit task answers
Voraussetzung des wirtschaftlich Berechtigten für Unternehmen
Das Anfordern einer Unternehmens-Fähigkeit, die Nachweise zum wirtschaftlich Berechtigten benötigt, gelingt auch dann, wenn der Kunde noch keinen qualifizierenden Eigentümer hat. Die Fähigkeit wird alsrestricted mit statusReason.code: tasks_due erstellt, und die Unternehmens-Intake-Aufgabe fordert die fehlenden Eigentumsfakten an, einschließlich der Eigentumsstruktur.
Dieselbe Aufgabe trägt eine resource_reference-Anforderung, deren Anfrage qualification: "beneficial_owner" enthält:
Beneficial owner requirement
person-Partei desselben Kunden mit einem angegebenen Eigentumsanteil von mindestens 25 oder mit ownership.declared: true ohne Prozentangabe ist.
Die Anforderung wird aus dem aktuellen Bestand verbundener Parteien abgeleitet, daher beantworten Sie sie in der Regel nicht direkt:
- Das Erstellen oder Aktualisieren einer qualifizierenden verbundenen Partei erfüllt die Anforderung in derselben Neubewertung und eröffnet die eigene Profil- und Dokumentenarbeit dieses Eigentümers. Siehe Verbundene Parteien für Unternehmen hinzufügen.
- Sie können eine qualifizierende Partei auch explizit mit einer
resource_reference-Antwort referenzieren, die ihrerelatedPartyIdträgt. - Die Anforderung bleibt nach ihrer Erfüllung in der aktuellen Aufgabe aufgeführt. Wenn keine andere Verpflichtung mehr offen ist, wird die Aufgabe
satisfied. - Das Archivieren der letzten qualifizierenden Partei oder das Entfernen der Fakten, die sie qualifiziert haben, öffnet die Anforderung erneut, auch nachdem die Aufgabe
satisfiedwar.
Fortfahren, wenn die Fähigkeit bereit ist
Lesen Sie die Fähigkeit erneut mitGET /v3/customers/{customerId}/capabilities/{capabilityId}:
Refetch capability
status der Fähigkeit meldet, ob die Berechtigung genehmigt ist. Bei einer Fähigkeit, die ein Konto ausstellt, meldet accountProvisioning separat, ob dieses Konto not_started, in_progress, issued oder failed ist; eine Fähigkeit, die kein Konto ausstellt, gibt not_applicable zurück.
Solange die Fähigkeit pending ist, zeigen zwei der statusReason.code-Werte, die sie melden kann, ob eine Prüfung läuft. preparing_submission bedeutet, dass Swipelux noch einen Antrag zur Einreichung vorbereitet und keine Prüfung läuft, auch wenn der Antrag einer anderen Bank rejected ist oder Aufmerksamkeit erfordert. review_in_progress bedeutet, dass eine Prüfung läuft, zum Beispiel während ein Antrag in_review ist oder eine gehostete Verifizierung geöffnet ist. Beide verwenden resolution: wait. Ein Wechsel zwischen diesen Codes belässt den Status bei pending, daher wird kein capability.status_changed-Ereignis gesendet. Lesen Sie die Fähigkeit, um den aktuellen Code zu sehen.
Fahren Sie nur fort, wenn der aktuelle Fähigkeitsstatus das Konto, das Quote oder den Transfer erlaubt, den Sie erstellen möchten. Wenn der Flow ein ausgestelltes Konto benötigt, warten Sie zusätzlich, bis accountProvisioning den Wert issued erreicht.
Wählen Sie als Nächstes die passende Reise in Häufige Abläufe.