support

POST /v1/tickets/{ticketId}/messages

Reply to a support ticket.

Barcha support yakuniy nuqtalari

Autentifikatsiya

API kalitini bearer token sifatida yuboring. Kalit tickets.reply ruxsatiga ega boʻlishi shart; ruxsatsiz kalit 404 emas, balki 403 xatosi bilan rad etiladi.

Bu yakuniy nuqta hech qanday tashkilot identifikatorini qabul qilmaydi. Sizning kalitingiz unga tegishli tashkilotni allaqachon aniqlaydi va javob shunga qarab cheklanadi.

Sinab ko'rish

Qavslardagi har qanday narsani o'z qiymatlaringiz bilan, kalit pleysxolderini эsa boshqaruv panelingizdagi kalit bilan almashtiring.

curl -X POST https://api.zinndigital.com/v1/tickets/{ticketId}/messages \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "body": <string> }'

Tizimga kirganmisiz? Boshqaruv panelingizdagi API konsoli haqiqiy tashkilot ID raqamingiz va shaxsiy kalitingizni avtomatik to'ldiradi hamda haqiqiy javobni ko'rishingiz uchun so'rovni jonli API orqali bajaradi. Ushbu yakuniy nuqtani API konsolida oching

Tafsilotlar

Appends a customer message and returns the thread to `open`. Replying to a `solved` ticket reopens it. A **closed** ticket is rejected with a `422` whose error code is the stable `TICKET_CLOSED`, so a client can offer "reopen" without string-matching a translated message. Requires `tickets.reply`.

Parametrlar

NomiTuriMajburiyNima bu
ticketId (path)UuidHaThe ticket's id.

Soʻrov tanasi

NomiTuriMajburiyNima bu
bodystringHa

Javob

NomiTuriMajburiyNima bu
idUuidHaUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidHaUUIDv7 identifier — sortable by creation time (docs/02 §8).
subjectstringHa
statusTicketStatusHaWhere a ticket sits in its lifecycle. `open` = waiting on us; `pending` = waiting on the customer; `solved` = we believe it is resolved and a customer reply reopens it; `closed`…
priorityTicketPriorityHaHow urgent the ticket is. The customer may propose one; staff decide.
channelstringHaHow the ticket reached us — `dashboard`, `api` or `staff`. Server-decided; an open string so a future channel is additive on both sides.
site_idobjectYo'q
invoice_idobjectYo'q
on_behalf_of_org_idobjectYo'qThe **client org** a reseller opened this ticket about. Null on every ordinary ticket. ⛔ Validated as a descendant of the ticket's own org and `404`d otherwise, so it can never…
assignee_nameobjectHaThe owning agent's display name (first name), or null while unassigned. The customer sees a **name** so they know a person owns their ticket; the agent's id and email are staff-…
first_response_atobjectYo'q
resolved_atobjectYo'q
closed_atobjectYo'q
last_message_atobjectYo'q
reopened_countintegerHa
message_countintegerHaCustomer-visible messages in the thread — internal notes are not counted.
created_atstringHa
updated_atstringHa
messagesTicketMessage[]HaThe customer-visible thread in chronological order.

Ushbu yakuniy nuqta qaytarishi mumkin bo'lgan xatolar

401 · 403 · 404 · 422 · 429