Аутентификация
API кілтін bearer токені ретінде жіберіңіз. Кілтте agency.time.log рұқсаты болуы тиіс; онсыз кілтке 404 емес, 403 қатесі қайтарылады.
Бұл соңғы нүкте ұйым идентификаторын қабылдамайды. Сіздің кілтіңіз оның қай ұйымға тиесілі екенін өзі анықтайды және жауап соған шектеледі.
Әрекет етіп көру
Бұрыштық жақшалардағы кез келген нәрсені өз мәндеріңізбен, ал кілт орналастырушысын басқару тақтасынан алынған кілтпен алмастырыңыз.
curl -X POST https://api.zinndigital.com/v1/agency/time/entries \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "project_id": <string>, "work_date": <string>, "minutes": <integer> }'Жүйеге кіргенсіз бе? Бақылау тақтасындағы API консолі ұйымыңыздың нақты идентификаторы мен жеке кілтіңізді автоматты түрде толтырады да, нақты жауапты көре алуыңыз үшін сұрауды тікелей жұмыс істеп тұрған API арқылы орындайды. Бұл соңғы нүктені API консолінде ашыңыз
Мәліметтер
`minutes` is an integer, 1..1440. Requires `agency.time.log` for your own time, or `agency.time.manage` to pass `user_id` and log on somebody else's behalf. If this client's billing schedule is *"invoice straight away"*, logging arms it and starts the billing workflow immediately — the invoice is raised in seconds rather than at the next sweep, without the invoicing call ever sitting in this request.
Сұрау денесі
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
project_id | string | Иә | — |
task_id | string | Жоқ | — |
work_date | string | Иә | — |
minutes | integer | Иә | — |
description | string | Жоқ | — |
billable | boolean | Жоқ | — |
user_id | string | Жоқ | Log on somebody else's behalf. Requires `agency.time.manage`; without it a caller may only log their own time. |
Жауап
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
id | string | Иә | — |
user_id | string | Жоқ | — |
project_id | string | Иә | — |
project_name | string | Жоқ | — |
task_id | string | Жоқ | — |
task_name | string | Жоқ | — |
client_id | string | Жоқ | — |
work_date | string | Иә | — |
minutes | integer | Иә | ⛔ An INTEGER of minutes. There is no `hours` field on this API: an hours-as-float duration re-enters the money through the rate and no rounding point can recover it. |
duration_label | string | Иә | Presentational only — never multiplied by anything. |
description | string | Жоқ | — |
billable | boolean | Иә | — |
billing_run_id | string | Жоқ | The run that invoiced this entry. `null` means it is still outstanding. |
billed_rate_minor_per_hour | integer | Жоқ | — |
billed_amount_minor | integer | Жоқ | What was actually charged, frozen at billing time so the document can be re-derived years later even if every rate card has since changed. |
billed_currency | string | Жоқ | — |
billed_under_fixed_price | boolean | Жоқ | TRUE when these minutes were rolled into a task's FIXED price rather than charged by the hour. `billed_amount_minor` is then 0 and that zero is correct — read this flag, not the… |
rate_minor_per_hour | integer | Жоқ | The rate that WOULD apply, resolved against this entry's own `work_date`, for an entry not yet billed. ⛔ `null` means **unpriced**, not free: work with no rate card is never inv… |
rate_scope | string<task, project, client, org> | Жоқ | Which rate card won, so a surprising invoice can be explained. |
rate_kind | string<hourly, fixed> | Жоқ | — |
created_at | string | Иә | — |
Бұл соңғы нүкте қайтара алатын қателер
401 · 403 · 422