Webhooky dobropisů umožňují automatické odesílání informací o vytvořených dobropisech do vašeho systému. Díky této funkcionalitě můžete snadno zpracovávat a evidovat dobropisy vytvořené v Retinu přímo ve vašem vlastním systému.
Aktivace funkcionality
V administraci Retino přejděte do Nastavení > Marketplace
Aktivujte doplněk Webhooky dobropisů
Po aktivaci přejděte na detail doplňku kliknutím na tlačítko Spravovat
Zadejte URL adresu vašeho endpointu, kam budeme odesílat data o dobropisech
Klikněte na tlačítko Uložit
Důležité: Pro správné fungování webhooků je nutné na vaší straně implementovat příjem dat ve formátu popsaném níže.
Formát dat webhooků
Webhooky dobropisů využívají standardní systém webhooků v Retinu s event_type retino_credit_note.created
. Příklad struktury dat:
{ "created_at": "2023-04-04T09:00:19.249525+00:00", "event_type": "retino_credit_note.created", "credit_note": { "id": "5cae6caf-c1cb-49ed-96bd-2d2837765ffc", "ticket_id": "5cae6caf-c1cb-49ed-96bd-2d2837765ffc", "stock": true, "currency": "CZK", "language": "cs", "order_id": "2022000001", "variable_symbol": "2022000001", "bank_account": { "type": "CZECH_BANK_ACCOUNT", "czech_bank_account": "123456789/0100" }, "customer": { "city": "Praha", "name": "Jakub Novák", "street": "Hradní", "country": "CZ", "postal_code": "11000", "house_number": "1", "company_id": "(ičo společnosti, může být prázdné)", "company_vat_number": "(dič společnosti, může být prázdné)" }, "lines": [ { "id": "9ff867e8-7f90-4c54-9d65-9212ceceae76", "name": "Macbook PRO", "price": 39900, "vat_rate": 0.21, "amount": 1, "variant": "Space black", "product_id": "MAC_PRO_2023" } ] } }
Popis datové struktury
Webhook obsahuje následující hlavní části:
created_at - datum a čas vytvoření události
event_type - typ události (vždy "retino_credit_note.created")
credit_note - objekt obsahující data o dobropisu
Struktura objektu credit_note:
id - unikátní identifikátor dobropisu
ticket_id - ID případu v Retinu, ke kterému se dobropis vztahuje
stock - boolean hodnota určující, zda dobropis ovlivňuje skladové zásoby
currency - měna dobropisu (ISO kód, např. "CZK", "EUR")
language - jazyk dobropisu (ISO kód, např. "cs", "en")
order_id - ID objednávky, ke které se dobropis vztahuje
variable_symbol - variabilní symbol pro identifikaci platby
bank_account - objekt s informacemi o bankovním účtu
customer - objekt s informacemi o zákazníkovi
lines - pole objektů s položkami dobropisu
Implementace na vaší straně
Pro úspěšnou implementaci webhooků dobropisů je potřeba:
Vytvořit endpoint na vašem serveru, který bude přijímat HTTP POST požadavky
Implementovat zpracování příchozích dat ve formátu JSON
Ověřit autenticitu požadavku pomocí hlavičky X-Retino-Secret (více v dokumentaci webhooků)
Odpovědět na požadavek se stavovým kódem 2xx v časovém limitu 10 sekund
Tip: Pro testování příjmu webhooků můžete použít služby jako webhook.site nebo RequestBin.
Nahrání PDF souboru dobropisu (volitelné)
Po zpracování webhooků můžete volitelně nahrát vlastní PDF doklad dobropisu zpět do Retina pomocí našeho veřejného API.
Použijte endpoint:
PATCH https://app.retino.com/api/v2/retino-credit-notes/{credit_note_id}/
S jedním z následujících těl požadavku:
Nahrání souboru pomocí URL:
{ "file_url": "https://example.com/path/to/your/file.pdf" }
Nahrání souboru pomocí Base64:
{ "file_base64": "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoK..." }
Monitorování a řešení problémů
Všechny odeslané webhooky a jejich stav můžete sledovat v:
Nastavení > Webhooky - v detailu konkrétního webhooky
Časté problémy:
Endpoint není dostupný nebo neodpovídá do 10 sekund
Endpoint nevrací stavový kód 2xx
Nevalidní formát URL adresy v nastavení
V případě opakovaných neúspěšných odeslání webhooků vás budeme informovat emailem.