Xác thực
Gửi khóa API dưới dạng mã thông báo bearer. Khóa này phải có quyền agency.time.log; khóa không có quyền này sẽ bị từ chối với mã lỗi 403, không phải 404.
Endpoint này không nhận ID tổ chức. Khóa của bạn đã xác định tổ chức mà nó thuộc về và phản hồi được giới hạn trong phạm vi đó.
Dùng thử
Thay thế bất kỳ nội dung nào trong ngoعل (angle brackets) bằng giá trị của riêng bạn và trình giữ chỗ key bằng một key từ trang tổng quan của bạn.
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> }'Đã đăng nhập? Bảng điều khiển API trong trang quản lý của bạn sẽ tự điền ID tổ chức thực tế và khóa của riêng bạn, sau đó chạy yêu cầu đối với API trực tiếp để bạn có thể xem phản hồi thực tế. Mở điểm cuối này trong bảng điều khiển API
Chi tiết
`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.
Nội dung yêu cầu
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
project_id | string | Có | — |
task_id | string | Không | — |
work_date | string | Có | — |
minutes | integer | Có | — |
description | string | Không | — |
billable | boolean | Không | — |
user_id | string | Không | Log on somebody else's behalf. Requires `agency.time.manage`; without it a caller may only log their own time. |
Phản hồi
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
id | string | Có | — |
user_id | string | Không | — |
project_id | string | Có | — |
project_name | string | Không | — |
task_id | string | Không | — |
task_name | string | Không | — |
client_id | string | Không | — |
work_date | string | Có | — |
minutes | integer | Có | ⛔ 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 | Có | Presentational only — never multiplied by anything. |
description | string | Không | — |
billable | boolean | Có | — |
billing_run_id | string | Không | The run that invoiced this entry. `null` means it is still outstanding. |
billed_rate_minor_per_hour | integer | Không | — |
billed_amount_minor | integer | Không | 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 | Không | — |
billed_under_fixed_price | boolean | Không | 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 | Không | 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> | Không | Which rate card won, so a surprising invoice can be explained. |
rate_kind | string<hourly, fixed> | Không | — |
created_at | string | Có | — |
Các lỗi điểm cuối này có thể trả về
401 · 403 · 422