История обращений
Для разработчиков

История обращений

Все тикеты одного контакта — например, чтобы показать клиенту его обращения в личном кабинете или подсказать оператору прошлые запросы. К каждому тикету всегда добавлены last_message_preview и message_count, так что список «как в почте» строится без запроса за каждым тикетом.

GET/api/v1/contacts/{contact_id}/tickets

Тикеты контакта

Новые сверху. last_message_preview — первые 100 символов последнего сообщения, message_count — число сообщений; внутренние заметки в обоих не учитываются. Для несуществующего контакта приходит пустой список, а не 404.

Query-параметры:

  • status — new, open, in_progress, pending, resolved, closed; другое значение — 422
  • page (по умолчанию 1), page_size (по умолчанию 20, максимум 100)
curl
curl "https://api.support.forestsnet.com/api/v1/contacts/44e1.../tickets?status=closed&page=1" \
  -H "Authorization: Bearer sk_xxx"
200 OK (часть полей тикета опущена)
{
  "items": [
    {
      "id": "8a3f...",
      "contact_id": "44e1...",
      "subject": "Не работает оплата",
      "status": "closed",
      "priority": "high",
      "rating": 5,
      "created_at": "2026-03-20T10:00:00",
      "closed_at": "2026-03-20T12:30:00",
      ...,
      "last_message_preview": "Спасибо, всё заработало!",
      "message_count": 7
    }
  ],
  "total": 12,
  "page": 1,
  "page_size": 20
}
Python SDK
# Закрытые обращения контакта
tickets = client.tickets.history("CONTACT_ID", status="closed")
for t in tickets.items:
    print(t.subject, t.last_message_preview, t.message_count, t.rating)
В SDK у tickets.history() по умолчанию status="closed". Чтобы получить тикеты во всех статусах, передайте status=None.
Была ли страница полезной?