agency-time

POST /v1/agency/time/billing-runs

Bill now — turn unbilled time into a draft invoice.

Minden agency-time végpont

Hitelesítés

Küldjön egy API-kulcsot bearer tokenként. Ez a végpont nem határoz meg konkrét jogosultságot a specifikációban, ezért adja meg a kulcsnak a legkevesebbet, amire szüksége van, és a feltételezés helyett ellenőrizze a választ.

A szervezet azonosítójának helye

Ez a végpont a org_id mezőt várja a JSON törzsben.

A szervezeted azonosítója a vezérlőpult API-kulcsok képernyőjén található, közvetlenül a kulcs mellett. Ez ugyanaz az azonosító minden indított hívásban.

Próbálja ki

Cserélje ki a hegyes zárójelek közötti részt a saját értékeivel, a kulcshelyőrzőt pedig a vezérlőpultján található kulccsal.

curl -X POST https://api.zinndigital.com/v1/agency/time/billing-runs \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "client_id": <string>, "currency": <string> }'

Be van jelentkezve? A vezérlőpultban lévő API-konzol kitölti a valós szervezetazonosítóját és a saját kulcsát, és a kérést az éles API-n futtatja, hogy láthassa a tényleges választ. Nyissa meg ezt a végpontot az API konzolban

Részletek

The owner's *"as well as sending on demand invoices"*. Claims the client's unbilled, priced work, hands it to the agency invoicing suite as a **draft**, and records what came back. ⛔ The entries are claimed in a committed transaction **before** the invoicing suite is called, so no other trigger can select them while the call is in flight. The idempotency key handed to the suite is derived from the sorted entry ids rather than minted, so a retry after a crash is given back the invoice that already exists instead of raising a second one for the same hours. `reconcile_state` is `ok` only when the invoice's total for these lines equals our own exact arithmetic. `mismatch` means do not send it.

Kérés törzse

NévTípusKötelezőMi ez
client_idstringIgen
currencystringIgen
untilstringNemBill work up to and including this date — "everything to the end of last month".
notesstringNem
org_idstringNem

Válasz

NévTípusKötelezőMi ez
idstringIgen
client_idstringNem
currencystringIgen
period_startstringNem
period_endstringNem
triggerstring<manual, on_log, day_of_month, threshold>Igen
statusstring<claimed, invoiced, failed, released>Igen`claimed` is the state between claiming the time and the invoicing suite's reply — a process that dies there leaves one, and the recovery pass finishes it with the same derived…
subtotal_minorintegerIgenOur own exact arithmetic, before tax. What the invoice is reconciled against.
minutes_totalintegerIgen
duration_labelstringNem
entry_countintegerNem
fixed_line_countintegerNem
invoice_idstringNem
invoice_numberstringNem
invoice_createdbooleanNemFALSE means the invoicing suite's idempotency key fired and handed back an invoice an earlier attempt had already raised. Surfaced rather than hidden: it is the observable that…
reconcile_statestring<pending, ok, mismatch, unavailable>NemWhether the invoice's total for these lines equals our own arithmetic **exactly**. There is no "close enough": both sides compute from the same two integers, so any difference i…
reconcile_detailstringNem
invoiced_atstringNem
released_atstringNem
last_errorstringNem
created_atstringIgen
actualobjectNemWhat this run actually consumed, derived from the time entries rather than read off the run's stored columns — so a divergence is visible on the screen.

Hibák, amelyeket ez a végpont visszaadhattatlan

401 · 403 · 422