Zkontrolujte kompatibilitu zdrojů
Před quote potvrďte, že:- Capability je připravená, patří zákazníkovi a odpovídá zamýšlenému směru a metodě.
- Zdroj stablecoinu je aktivní vydaná peněženka, která podporuje vstupní měnu.
- Zdroje z peněženky do peněženky používají stejnou měnu a síť.
- Fiat výplatní účet nebo cíl je připraven a podporuje výstupní měnu a metodu.
Zvolte přesnou částku
Vytvořte quote pomocíPOST /v3/quotes. Odešlete jednu stranu částky, obě měny a ID zdrojů odvozená z odpovědi s těmito hlavičkami:
- Přesný vstup
- Přesný výstup
Nastavte
in.amount a vynechejte out.amount. Odpověď vypočítá, co cíl obdrží.data.id quote, data.status, data.expiresAt, vrácené nohy, kurz a poplatky. Používejte vrácené dekadické řetězce; nepočítejte proveditelné částky pomocí aritmetiky s plovoucí desetinnou čárkou.
Po quote s přesným výstupem financovaným ze stablecoinu přečtěte GET /v3/customers/{customerId}/accounts/{accountId}. Porovnejte aktuální balances[].available zdroje pro vstupní měnu s vráceným data.in.amount. Pokud jsou prostředky nedostatečné, změňte nebo financujte zdroj a vytvořte nový quote. Fiat financované quote s přesným výstupem tuto kontrolu zůstatku zdrojové peněženky nepoužívají.
Proveďte jednou a bezpečně obnovte
Přečtěte aktuální quote pomocíGET /v3/quotes/{quoteId}. Provádějte jen tehdy, dokud to jeho stav a expiresAt umožňují.
Vytvořte převod pomocí POST /v3/transfers:
Idempotency-Key a před odesláním požadavku jej uložte. Pokud se odpověď ztratí, opakujte identickou metodu, cestu, tělo a klíč. Nevytvářejte druhý prováděcí klíč pro obnovení nejistého výsledku.
Pokud API vrátí quote_already_executed, použijte jeho transferId k pokračování se stávajícím převodem. Idempotentní přehrání může také vrátit Idempotency-Replayed: true.
Sledujte aktuální převod
PřečtěteGET /v3/transfers/{transferId} po vytvoření a po každém webhooku. Uložte nejnovější data.state, data.stateDetail a data.openTaskIds.
Když jsou ID úkolů otevřená, načtěte GET /v3/transfers/{transferId}/tasks a dokončete každý úkol s jeho aktuální revizí a požadavky.
Pro příchozí pohyb může GET /v3/transfers/{transferId}/instructions vrátit financovací údaje specifické pro převod. Vykreslete pouze vrácenou variantu pokynů a přesnou referenci.
Dále implementujte Webhooky, aby každá asynchronní aktualizace převodu vstupovala do stejné cesty zpracování aktuálního stavu.