- Část 1, koncept. Přečtěte si nejprve. v3 je přepracování, nikoli přejmenování: pokud budete staré endpointy mapovat jeden ku jednomu, budete s API bojovat. Deset minut zde vám ušetří dny později.
- Část 2, API. Mapování endpoint po endpointu, ukázky požadavků, stavové automaty a kontrolní seznam migrace.
api.deprecation pro oznámení o ukončení podpory.
Obsah. Část 1: 1.1 proč existuje v3, 1.2 objektový model, 1.3 připravenost per capability, 1.4 task smyčka, 1.5 pohyb peněz, 1.6 stavové automaty, 1.7 konvence, 1.8 zlatá cesta. Část 2: 2.1 customers, 2.2 capabilities, 2.3 tasks a submissions, 2.4 accounts, 2.5 recipients a destinations, 2.6 quotes a transfers, 2.7 webhooks, 2.8 sandbox, 2.9 legacy endpointy, 2.10 pořadí migrace, 2.11 checklist záludností.
Část 1, koncept
1.1 Proč existuje v3
v1 a v2 vyvinuly čtyři překrývající se způsoby, jak připravit customera na platby:/rails, /banks, /accounts/applications a rozhraní business rail-applications, každé s vlastní stavovou terminologií. Sběr dokumentů (/documents, KYC importy, tokeny verifikačního SDK) byl odpojen od toho, co ve skutečnosti odblokovával. v3 to vše sbaluje do šesti zdrojů, tedy customera plus pěti věcí, které vlastní:
1.2 Objektový model
Dvě strukturální pravidla, která je třeba si zvnitřnit:- Capabilities řídí vše. Accounts se poskytují pod
readycapability; quotes se cení proti capability. Onboarding se rovná získání capabilities, které potřebujete, do stavuready. - Tasks se připojují kdekoli. Capability, account nebo probíhající transfer mohou nést
openTaskIds. Kdekoli je uvidíte, smyčka je stejná: přečíst task, odeslat odpovědi, počkat na kontrolu, znovu přečíst rodiče.
1.3 Připravenost je per capability, ne per customer
v1 zapletla připravenost/rails s KYC branou napříč celým customerem. Ve v3 neexistuje stav customera: customer může být plně použitelný na stablecoin_transfers, zatímco jeho capability sepa má stále otevřené tasks. Capabilities typu pooled-account se obecně dostávají do stavu ready rychleji než named, začněte tedy transakce provádět na tom, co je ready, místo abyste čekali na vše.
Pokud váš kód v1 nebo v2 řídí UI odznaky podle stavu verifikace customera, přepište jej:
- „Mohou obchodovat na X?” se stává capability X
status == "ready". - „Musí něco udělat?” se stává jakýkoli task se stavem
action_required(capability typicky ukazujerestrictedsstatusReason.resolution: "complete_tasks"). - „Čekáme na Swipelux?” se stává tasks
in_review, capabilitypending.
1.4 Task smyčka
Vše, co dělalo staré document a KYC rozhraní, je nyní tato jediná smyčka: Klíčové vlastnosti:- Task nese
requirements[], jednotlivé požadavky. Každý márequirementIdv rámci tasku, stabilníkeypojmenovávající požadavek (například doklad o adrese, deduplikujte podle něj své UI) a typovanérequestpopisující přesně, jaký vstup se očekává (text, date, select, document, attestation atd.). - Odesílání je řízené kontrolou: nikdy přímo nemění stav capability ani accountu, to dělá až akceptace. Jedna výjimka: odpovědi typu
profilese při odeslání propisují do profilu customera (2.3). Po odeslání polluj task nebo rodičovský zdroj. taskRevision(ozvěna hodnotyrevisionu tasku) je ochrana konkurence: pokud se task od doby, co jste jej četli, změnil, přečtěte jej znovu a znovu sestavte své odpovědi.absenceje plnohodnotná odpověď („Toto nemám, protože…”), použijte ji místo ponechávání požadavků nevyřešených.
1.5 Pohyb peněz
Jeden tok pro payins, payouts a stablecoin pohyby. Neexistuje vstup směru, nikdy nedeklarujete payin vs payout. Tvar vstupní a výstupní měny odvozuje na quote a transfer read-onlydirection: fiat_to_stablecoin (payin), stablecoin_to_fiat (payout) nebo stablecoin_move.
1.6 Jeden stavový automat na zdroj
Každý zdroj se stavem má vlastní enum a každý ne-šťastný stav nese strukturovaný důvod. Accounts, applications a transfers sdílí tvar{ code, message, actor, retryable }: accounts a applications jej vystavují jako statusReason, transfers jako stateDetail. actor říká, kdo musí jednat (customer, developer, provider, network, swipelux), retryable říká, zda opakování může pomoci. Capabilities používají { code, resolution, message }, kde resolution (complete_tasks, wait, contact_support, none) říká, co posouvá capability vpřed. Hodnoty code jsou otevřený, pouze rozšiřovaný katalog: větvte podle resolution (nebo actor plus retryable) a tolerujte kódy, které jste nikdy neviděli.
Stavy, kterými se tato příručka nezabývá (
rejected, suspended, disabled, failed, canceled), jsou terminální nebo řízené podporou; definice per zdroj jsou ve specifikaci.
Transfer, podrobně:
1.7 Konvence
Pravidla idempotence, která si stojí za to zvnitřnit před psaním kódu:
- Použití klíče s jiným body je
409 idempotency_conflict, dokud je klíč uchováván (nejméně 7 dní), takže nikdy neplánujte znovu použití klíče. Generujte čerstvý UUID na logickou operaci a uchovávejte jej se svou úlohou. - Přehrání pokrývá i chyby: pokud původní požadavek skončil terminálním 4xx, stejný klíč plus body vrátí znovu stejnou problem odpověď.
- Dva souběžné požadavky se stejným klíčem: jeden vyhraje, druhý dostane
409. Poražený zkuste znovu po tom, co se vítěz usadí; přehrání vrátí původní odpověď.
1.8 Zlatá cesta
Část 2, API
2.1 Customers
Vytvoření, rozlišené podle
type (ilustrativní hodnoty, názvy polí dle specifikace):
- Vytváření je progresivní: samotné
{ "type": "individual" }je platné vytvoření. Chybějící fakta customera nikdy neznehodnotí, později se objeví jako intake tasks na capabilities, které je potřebují. - Podniky nesou
businessplus registrační data. CRUD nad shareholdery ve v1 se mapuje na related parties, rozšířeno tak, aby pokrývalo directors, officers a owners: vytvořte je inline při vytváření customera (každý dostane stabilnírp_id) nebo je spravujte přes dedikované related-parties endpointy. - Neexistuje pole
statusna customerovi, viz 1.3. - Stávající customers přecházejí: customers vytvoření na v1 nebo v2 jsou adresovatelní stejným id na v3 endpointech. v3 čtení je sanitizovaný pohled, legacy hodnoty, které selžou validací v3, přijdou nazpět chybějící. Po vašem prvním v3 zápisu se ten pohled stane trvalým: chybějící hodnoty se samy nevrátí. Proto obohaťte data brzy, naplánujte jednorázový průchod, který
PATCHne plný profil ze svých vlastních záznamů předtím, než se začnete spoléhat na v3 čtení.metadataz v1 je oddělený namespace a není přeneseno, znovu jej nastavte ve v3. externalIdje prvotřídní pole a unikátní napříč vašimi customers na v3, per prostředí (409 duplicate_external_id). Archivace customera neuvolní jehoexternalId, vymažte jej pomocí PATCH před DELETE, pokud jej hodláte znovu použít.DELETEje archivační kaskáda (žádné obnovení; id se nikdy nepoužijí znovu). Blokuje se s409 customer_has_active_resourcesplusblockingResources[], dokud existuje jakýkoli nearchivovaný account nebo probíhající transfer.- Pravidla slučování PATCH: explicitní
nullvymaže nullable pole, pole se nahrazují celá (kromě inline related parties, které se upsertují podle id), klíčemetadatase slučují. Kompletní schémata a filtry seznamů jsou v OpenAPI specifikaci.
2.2 Z /rails, /banks, applications se stanou Capabilities
- Capability se rovná
method(ach,wire,rtp,pix,sepa,swift,spei,pse,transfers_3_0,faster_payments,sepa_instant,uaefts,card,stablecoin_transfersatd.) plusaccountType(poolednebonamed,nullpro nebankovní metody) plusdirections(payinnebopayout). VeřejnécapabilityIdje kvalifikovaná dvojice (sepa_pooled,ach_named) nebo prostá metoda procardastablecoin_transfers. - Každý požadavek na capability zplodí application, záznam za pokus pod
.../capabilities/{capabilityId}/applications(plus/{applicationId}/history), s vlastními stavy (1.6) astatusReason. Je to audit trail požadavku; každodenně polluj samotnou capability. capabilities/supportedvrací dostupnost (available,betanebodisabled), způsobilost a nabízené instituce. Výběr banky probíhá při žádosti prostřednictvím volitelného poleinstitutions, neexistuje samostatný zdroj/banks. Vynechání (nebo poslání[]) vybere všechny výchozí instituce;isDefault: trueje příznak specifický pro customera a capability, nikoli globální. Neprázdný seznam přepíše výchozí a bankovní capability bez použitelné výchozí instituce vrátí422 capability_institutions_required. Id institucí jsou neprůhledná, tolerujte nová.stablecoin_transfersje automaticky udělena při vytvoření customera a rodí seready(proto se o ni nikdy nežádá a nelze ji zrušit).cardje jen pro individual.openTaskIdsna capability je váš ukazatel „co dělat dál”. Otevřený se rovnáaction_requiredneboin_review, a souhrn zahrnuje sdílené tasky na úrovni customera dosažené přes aktivní závislosti.cancelfunguje pouze zpendingneborestricteda bez blokujících zdrojů, jinak409 capability_not_cancelable, jehož problem body uvádíblockingResources. Nové vyžádání po zrušení je čerstvé vytvoření s novým idempotency klíčem.- Polluj GET. Stav capability se obnovuje při čtení; polluj
GET .../capabilities/{capabilityId}nebo se přihlaste k odběrucapability.status_changed, neukládejte do cache. - Vyžádání jedné metody může naráz zpřístupnit související metody, ke capabilities přistupujte jako k množině, kterou znovu čtete, nikoli k jednomu řádku, který sledujete.
- Použijte
tasks-preview, abyste ukázali onboarding požadavky před podáním žádosti. - Verifikace není jednorázová: nové tasky se mohou objevit na už
readycapability (periodická nebo událostmi řízená reverifikace). Držte task smyčku zapojenou po celou dobu života customera, ne jen během onboardingu.
2.3 Z Documents a KYC se stanou Tasks a Submissions
Poznámka k pojmenování. Tyto endpointy krátce vycházely jako
requirements a fulfillments. Od 2026-08-02 jsou veřejné názvy tasks a submissions. Přejmenování se týkalo pouze zdrojů a cest endpointů, pole requirements[] uvnitř tasku a jeho requirementId si tyto názvy ponechávají.GET /v3/customers/{customerId}/tasks, odpovídejte pomocí POST .../tasks/{taskId}/submissions.
Kolem té smyčky:
- Úložiště surových souborů:
POST/GET/DELETE /v3/customers/{customerId}/documents(plus/{documentId}), nahrajte jednou se svým API klíčem, poté odkazujte na document ids v odpovědích submission. Toto nahrazuje každý upload-token a direct-upload intake. - Zcela nová čtení:
GET /v3/tasks(merchant-wide schránka),GET /v3/transfers/{transferId}/tasks,GET .../tasks/{taskId}/history,GET .../tasks/{taskId}/submissions(plus/{submissionId}).
- Typy odpovědí:
profile,text,date,single_select,multi_select,boolean,attestation,document,resource_reference,absence. Objektrequestkaždého požadavku vám řekne, jaký typ očekává. - Submission musí odpovědět na každý akční požadavek v aktuálním kole, s přesnou hodnotou
taskRevision, kterou jste přečetli. Částečná submissiona jsou odmítána. - Odpovědi typu
profilepropisují: aktualizují profil customera přes běžnou validační cestu a okamžitě přehodnotí každou capability odkazující na stejnou intake práci. Sourozenecké intake tasky, jejichž požadavky jsou všechny splněny, se automaticky uzavírají. - Požadavky mohou tvořit alternativní skupiny (
alternativeKey): odešlete přesně jeden ze skupiny. changes_requestedinkrementujeremediationRounda nesereviewFeedback. Přečtěte task znovu, znovu odešlete s čerstvým idempotency klíčem.- URL hostované verifikace se objevují jen v detailu tasku scoped na customera (
GET /v3/customers/{customerId}/tasks/{taskId}) a jen dokud je session akční; seznamy aGET /v3/tasks/{taskId}jsou záměrně bez URL. - Podmínky služby jsou také task:
openTaskIdsmůže obsahovat task scategory: "terms_of_service", jehož hostovaná stránka akceptace je odkazována stejně (jen v detailu scoped na customera). Obecná submissiona nemohou akceptovat podmínky a schválení KYC nikdy neimplikuje akceptaci podmínek. - Tasks jsou scoped per capability, takže „stejný” požadavek (například doklad o adrese) se může objevit jednou per capability. Deduplikujte ve svém UI podle
keypožadavku. - Žádná vrstva překladu: postování na
/v1/documentsneodblokuje v3 capabilities. Jakmile je customer na v3, veškeré požadavky žeňte přes tasky.
2.4 Accounts a wallets
Vytvoření, rozlišené podle
origin plus type. Issued bankovní účty berou jednu method; external bankovní účty berou místo toho pole methods (odeslání method je tam odmítnuto):
countryu issued bankovních účtů je volitelné (výchozí per metoda); u external bankovních účtů jej uveďte explicitně. Wallet účty nemají zemi vůbec.settlement.accountIdje povinné u issued bankovních účtů: pojmenovává issued wallet účet, který přijímá vypořádané prostředky z vkladů na bankovní účet.- Issued účty vystavují
details(IBAN nebo routing plus account nebo address), verzovanérouting(souřadnice pro vklad se mohou rotovat, vždy vykreslete nejnovější čtení),fees,balances. - Sítě:
polygon,ethereum,base,arbitrum,optimism,bsc,avalanche. - Brána capability platí jen pro issued účty: vytvořit jeden proti neready capability selže s chybou kódovanou capability, nejprve požádejte o capability (2.2). External účty capability nepotřebují (a ani schválení customera); dostanou jen validaci request-schema a bankovních detailů.
- Issued bankovní účty se rodí
provisioningsdetails: null. Polluj účet nebo sledujaccount.status_changed, dokud nebudeready. DELETEarchivuje, nikdy nemaže natvrdo. Účty odkazované probíhajícími transfery vrátí409 account_has_active_transfers. Opakujte po tom, co ty transfery dosáhnou terminálního stavu.- Zcela nové ve v3: Rules, trvalé pokyny na issued wallet účtu (
POST/GET /v3/customers/{customerId}/rules,GET/PATCH/DELETE .../rules/{ruleId}), které automaticky přesouvají příchozí prostředky na jiný účet nebo wallet destination. Bez ekvivalentu ve v1 nebo v2.
2.5 Recipients a destinations
v2 neměla koncept recipient. Pokud jste na v2 a vyplácíte třetím stranám, je to nové rozhraní, nikoli přejmenování.
- Recipient se rovná kdo:
individual(křestní a příjmení) nebobusiness(název společnosti), s povinnýmrelationship(employee,contractor,vendor,subsidiary,merchant,customer,landlord,family,other). Recipients a destinations jsou jen pro třetí strany. First-party payout recipienta vůbec nepoužívá: cíluj jeden z customerových vlastníchacc_účtů jakodestinationIdu quote (2.6). - Destination se rovná kam: typované per metoda,
sepa(iban, bic volitelně),achnebowire(routing plus account),swift(plné souřadnice plus volitelně intermediary),spei(clabe),pse,transfers_3_0(cbu) atd., plus wallet destinations. Každá destination má vlastní stav. Sledujtedestination.status_changed. - Fiat destinations vyžadují úplnou
addressrecipienta (street, city, postal code, country) před vytvořením. Chybějící části selžou s422 recipient_address_required. Wallet destinations vynechávají adresu, ale vyžadují top-levelownership(self_custodiednebocustodialse jménem custodiana). - Přesnost jména beneficienta má význam: přijímající banky porovnávají právní jméno účtu. Posílejte přesné právní jméno a příjmení nebo název společnosti, nikoli zobrazovací přezdívku.
- Schémata polí destination per metoda jsou v OpenAPI specifikaci.
2.6 Quotes a transfers
destinationIdbereacc_(customer-owned account) nebodst_(recipient destination) id. Fiat-funded quotes (payins) musí cílitacc_účet,dst_cíl vždy znamená payout (jinak422 quote_direction_invalid).externalIdna quotes a transfers je neunikátní korelační reference (vrácená při čtení, filtrovatelná v seznamech). Pravidlo unikátnosti per prostředí (2.1) platí jen pro customerexternalId.- Quote proveďte přesně jednou, před
expiresAt. Vypršelý quote selže s409 quote_expired, druhé provedení s409 quote_already_executed(problem nese stávajícítransferId). - Zrušení transferu zatím není podporováno:
POST .../cancelvrací409 transfer_not_cancelablev každém stavu. Dnešnícanceledtransfery přicházejí z vypršení funding okna u nefinancovaného payin, ne z tohoto endpointu. - Payins začínají
awaiting_funds: vykresleteGET .../instructionsplátci, souřadnice banky plus referenční nebo memo kód pro fiat, deposit adresa pro krypto. Referenční kód je způsob, jak se vklad páruje. Vždy jej zobrazte. stateplusstateDetailpro strojově čitelné podstavy;action_requiredznamená, že je připojen compliance task (openTaskIds,GET .../tasks), odpovídejte přes submissions.- Příchozí vklady detekované na issued účtech se objevují jako transfery s
origin: "inbound_deposit"(oproti"quoted"). - Reference platebních sítí jsou konsolidované pod
references:transactionHash,traceNumber,imad,uetr,explorerUrl,returnedTransferId.
Dvě migrační varování:
- Transfery nepřecházejí mezi verzemi. Transfery vytvořené na v1 nebo v2 nejsou čitelné z v3. Seznam je vynechá a
GET /v3/transfers/{transferId}vrátí 404. Přenechte nejprve vytváření, ponechte v1 čtecí cestu, dokud tyto transfery nedosáhnou terminálních stavů, a pak ji zahoďte. - Žádné swapy tokenů.
stablecoin_movevyžaduje stejnou měnu in a out: USDC na USDT selže s422 recipient_destination_invalidnesoucí chybu polecurrency_mismatch. Stejná síť na obou stranách, žádný bridging, a wallet-to-wallet přesuny aktuálně podporují jen doručení bez poplatku: quote s nenulovým platform nebo developer fee selže s422 amount_not_deliverable.
2.7 Webhooks
Katalog událostí:
customer.created, customer.updated, customer.archived, capability.created, capability.status_changed, application.status_changed, recipient.status_changed, destination.status_changed, account.created, account.status_changed, account.details_changed, transfer.created, transfer.state_changed, api.deprecation.
GET /v3/webhooks/portalvrací URL hostovaného management portálu pro delivery logy, opakování a manuální přehrání.transfer.createdse aktuálně doručuje s legacy tvarem payloadu z v1 (v3 obálka se aktivuje, až v1 webhooks skončí). Berte to čistě jako náznak a GET si transfer; nestavějte proti jeho body.- Události jsou náznaky: po přijetí GETněte zdroj a jednejte podle čtení. Nikdy nestavějte stav podle payloadu události nebo pořadí. Doručení je at-least-once a může být opožděné nebo přeuspořádané. Deduplikujte podle event id a chybějící události zotavujte pomocí inkluzivního filtru
updatedAfterkaždého seznamu. - Přihlaste se k odběru
api.deprecation, strojového kanálu pro ukončení podpory verzí. - Dnes žádná událost
task.*: po odeslání polluj task nebo jeho rodiče.
2.8 Sandbox
Stejná base URL; sandbox API klíč vybírá prostředí.
v3 sandbox simuluje celou smyčku kontroly od začátku do konce: vytvořte task, odešlete proti němu,
review jej na accepted nebo rejected, sledujte, jak se capability odblokuje. Nazkoušejte si UX pro nápravu před produkcí. Sandboxem vytvořené tasky i běžné intake tasky, které se objevují na vyžádaných capabilities, jsou tímto způsobem přezkoumatelné; stejně jako v produkci se nespouštějí žádné task webhooks, polluj (2.7).
2.9 Legacy endpointy bez náhrady ve v3
Tyto nemají v3 náhradu. Většina zůstává na v1 beze změny (ponechte svá stávající volání); dvě jsou zcela vyřazeny (viz Dispozice):
Každý další veřejný endpoint v1 nebo v2 se objevuje v mapovací tabulce výše.
2.10 Doporučené pořadí migrace
Každý krok jde nasadit nezávisle; v1 nebo v2 a v3 běží vedle sebe proti stejné customer bázi. Nazkoušejte každý krok proti svému sandbox klíči (2.8) předtím, než jej zopakujete v produkci.1
Instalatérské práce
Idempotency-Key na všech požadavcích s efektem (POST, PATCH, PUT, DELETE; sandbox endpointy vyňaty); peníze jako řetězce; pomocníci pro cursor pagination.2
Webhooks
Zaregistrujte v3 endpointy per událost, včetně
api.deprecation. Konfigurace jednoho endpointu ve v1 je samostatné rozhraní, nechte ji být; oba běží vedle sebe až do vypuštění v kroku 9.3
Obohacení profilu
PATCH /v3/customers/{id} s celým profilem, který máte (v1 sbírala méně, než v3 vystavuje) a znovu nastavte metadata. Udělejte z toho záměrně první v3 zápis per customer: naplní sanitizovaný pohled dřív, než se ten pohled stane trvalým (2.1).4
Čtení
Nasměrujte čtení customer, capability a account na v3; přepište logiku stavu customera dle 1.3. Až po kroku 3 se neobohacená čtení vracejí s chybějícími legacy-invalidními poli.
5
Onboarding zápisy
Vytvářejte přes
POST /v3/customers; požadujte capabilities místo /rails, /banks nebo applications; postavte task smyčku (největší zcela nová UI práce, tasks-preview pomáhá ukazovat požadavky předem). Od tohoto bodu přestaňte postovat /v1/documents u customerů řízených v3, neodblokují capabilities (2.3).6
Accounts
Vydávejte přes v3; přesuňte importy na
origin: external.7
Payouts
Recipients plus destinations, poté quote a transfer.
8
Payins
Quote, transfer, instructions; nadále vykreslujte referenční kód.
9
Vypuštění
Transfery nepřecházejí mezi verzemi (2.6). Ponechte čtecí cestu v1 nebo v2 a v1 webhook endpoint pro transfery tam vytvořené, čtěte duálně, dokud nedosáhnou terminálních stavů, poté vyhoďte starého klienta a v1 webhook konfiguraci.
2.11 Checklist záludností
- Čerstvý UUID per logická operace, uchovávaný s vaší úlohou a použitý znovu při opakování; nikdy nepoužívejte klíč znovu se změněným body (
409 idempotency_conflict). Sandbox endpointy jsou z hlavičky vyňaty. - Obohaťte stávající customery (
PATCHcelý profil, znovu nastavtemetadata, nepřenáší se) před jakýmkoli dalším v3 zápisem, první v3 zápis učiní sanitizovaný pohled trvalým. -
externalIdje unikátní per prostředí a archivací se neuvolní, vymažte jej přesPATCHpředDELETE, pokud jej plánujete znovu použít. - Neexistuje pole
statusu customera, připravenost odvozujte per capability. -
action_requirediin_reviewobojí znamenají otevřený task. - Submissions jsou řízené kontrolou (odeslání není totéž co odblokování) a musí odpovědět na každý akční požadavek s přesným
taskRevision. Při neshodě přečtěte znovu a přebudujte. - Neexistuje webhook
task.*, po každém odeslání polluj task (nebo jeho rodiče). - Opakování při
changes_requestedse rovná přečtení tasku znovu, čerstvé odpovědi, čerstvý idempotency klíč. - Postování na
/v1/documentsnikdy neodblokuje v3 capability, jakmile je customer na tascích, veďte všechny požadavky přes tasky. - Nové tasky se mohou objevit na už
readycapability, držte task smyčku zapojenou i po onboardingu, ne jen během něj. -
cancelcapability funguje jen zpendingneborestrictedbez blokujících zdrojů (409 capability_not_cancelable); nové vyžádání po zrušení je čerstvé vytvoření s čerstvým idempotency klíčem. - Capability musí být
readypředtím, než pod ní vydáváte účty nebo proti ní quotujete. - Quote má částku přesně na jedné straně; žádné pole směru; proveďte přesně jednou před
expiresAt(409 quote_expirednebo409 quote_already_executed). - Stablecoin přesuny jsou pouze same-currency, same-network (USDC na USDT selže
422); wallet-to-wallet podporuje jen doručení bez poplatku. -
DELETEarchivuje, nikdy nemaže natvrdo. Smazání účtu je blokováno probíhajícími transfery (409 account_has_active_transfers); smazání customera navíc jakýmkoli nearchivovaným účtem (409 customer_has_active_resources,blockingResources[]je jmenuje). - Transfery v1 nebo v2 jsou pro čtení z v3 neviditelné (seznam vynechá, GET 404), čtěte duálně, dokud se nevypustí, poté zahoďte staré cesty.
- Deposit
routinga instrukce se mohou měnit, vždy vykreslete nejnovější GET a vždy zobrazte referenční kód. - Webhooks jsou náznaky; GET je pravda, deduplikujte podle event id, chybějící události zotavte pomocí
updatedAfter.