Rieck for udviklere

Byg det ind i
jeres eget system.

Hele forløbet — faktura, betaling, rykkere og inkasso — kører på API-kald. Jeres kunder ser jeres egen flade; det er os, der arbejder under den.

  • Testnøgler og sandbox
  • Signerede webhooks
  • OpenAPI og TypeScript-SDK
Integrationen

Fem kald, og hele forløbet kører inde i jeres eget system.

Kunder & fakturaer

Ordren lukkes hos jer — fakturaen er ude på et sekund

I samme request opretter I kunden, hvis den ikke findes i forvejen, og fakturaen, der får sit fortløbende nummer, låses som PDF og sendes på jeres eget brevpapir. Jeres ordrenummer følger med som ekstern reference, så I altid kan finde tilbage fra vores id til jeres.

  • Kunden oprettes med i kaldet — intet stamdata-kartotek at holde synkront
  • Idempotensnøglen bygges på jeres eget ordrenummer
  • Svaret bærer beløb, saldo og status — det, jeres system skal gemme
POST/v1/invoices?issue=true&send=true
curl -X POST "https://api.rieckflow.com/v1/invoices?issue=true&send=true" \
  -H "Authorization: Bearer $RIECK_API_KEY" \
  -H "Idempotency-Key: invoice-order-2041" \
  -H "Content-Type: application/json" \
  -d '{
    "customer": { "type": "company", "name": "Acme ApS", "cvr": "12345678" },
    "lines": [{ "description": "Konsulentbistand", "quantity": 1,
                "unitPriceOere": 125000, "vatRateBps": 2500 }],
    "dueDate": "2026-08-18",
    "externalReference": "order-2041"
  }'
Svarinvoices:write
{
  "data": {
    "id": "9b2f1c1e-…", "invoiceNumber": 1042, "status": "issued",
    "grossOere": 156250, "paidOere": 0, "balanceOere": 156250,
    "externalReference": "order-2041"
  },
  "meta": { "send": { "outcome": "queued" } }
}
Betalingen

Kunden betaler uden at forlade jeres flade

Betalingslinket peger på et vindue, der er cookie-frit — så I kan lægge det i en iframe midt i jeres eget produkt i stedet for at sende folk væk. Indbetalingen registreres på fakturaen, og saldoen kan I læse tilbage med det samme.

  • Betalingskoden kan læses op i telefonen og tastes manuelt
  • Saldoen følger med i svaret, så I kan vise restbeløbet i jeres egen UI
  • Kvitteringen hentes på sin egen rute, når betalingen er registreret
POST/v1/invoices/{id}/payment-link
curl -X POST https://api.rieckflow.com/v1/invoices/9b2f1c1e-…/payment-link \
  -H "Authorization: Bearer $RIECK_API_KEY" \
  -H "Idempotency-Key: paylink-order-2041"
Svarpayments:write
{
  "data": {
    "url": "https://pay.rieckflow.com/p/RIE-7K3M2-Q9F4P",
    "paymentCode": "RIE-7K3M2-Q9F4P",
    "reference": "order-2041",
    "balanceOere": 156250
  }
}
Rykkere & inkasso

Det ubetalte krav kører videre af sig selv

Rykkerforløbet er jeres eget — trin, tekster og frister ligger som et versioneret flow, I styrer gennem API’et. Bliver der stadig ikke betalt, bliver fakturaen til en inkassosag hos advokaten med ét kald, og sagen hænger på den faktura, I allerede kender.

  • Rykkerflowet er versioneret: godkendt, aktiveret, og til at rulle tilbage
  • Sagen knyttes til fakturaen — I opretter ikke en sag ved siden af
  • Afvises kaldet, fordi kravet ikke er inkassoklart, er grunden maskinlæsbar
POST/v1/invoices/{id}/collect
curl -X POST https://api.rieckflow.com/v1/invoices/9b2f1c1e-…/collect \
  -H "Authorization: Bearer $RIECK_API_KEY" \
  -H "Idempotency-Key: collect-order-2041"
Svarcases:write
{
  "data": {
    "caseId": "5f0a91b7-2c44-4a1e-9d0b-8b2a6c31d551",
    "caseNumber": "10042",
    "status": "OPRETTET",
    "invoiceId": "9b2f1c1e-6b87-4d9b-91a0-47c8d72b8440"
  }
}
Testmiljøet

Byg integrationen færdig, før den rører en rigtig kunde

Nøglens miljø står i præfikset: rk_test_ rører aldrig en rigtig debitor. Og fordi hele forløbet er datoer — forfald, rykkere, inkassoklarhed — kan I skrue uret frem og se dag 40 i jeres egen integration uden at vente en måned på den.

  • Samme ruter, samme svar, samme webhooks som i drift
  • Uret rykkes pr. organisation, ikke globalt
  • Testdata kan ikke ende i et rigtigt brev
POST /v1/test/advance-clock
  • 201invoice.issued · faktura 1042
  • 200uret rykket 30 dage frem
  • 201invoice.overdue · faktura 1042
  • 201invoice.collections · sag 10042
Webhooks

Jeres system får besked — det skal ikke spørge

Hændelserne bliver sendt til jeres endpoint, signeret med HMAC-SHA256 i standardwebhooks-formatet, og gentaget ved fejl. Brug webhook-id som dedup-nøgle, og hent så fakturaen som sandheden, før I åbner eller lukker noget hos jer selv.

  • Hemmeligheden kan roteres uden nedetid: to signaturer i overgangen
  • Sekvensnummeret er pr. kilde — huller er lovlige, dubletter er ikke
  • Leveringer kan gensendes, når jeres endpoint har været nede
Leveringens headers
  • webhook-idmsg_2f1c1e6b874d9b91
  • webhook-timestamp1786134344
  • webhook-signaturev1,Zm9vYmFy…
Hændelser på fakturasporet
  • invoice.issued
  • invoice.sent
  • invoice.paid
  • invoice.overdue
  • invoice.credited
  • invoice.collections
  • payment.received

Dokumentationen er næste skridt.

API-adgang og SSO følger med Advanced. Nøglerne udstedes af en organisationsadministrator i portalen.