Public API Referansı
Biletler, mesajlar ve eylemler için kapsamlı API anahtarlarıyla Threada Public API'sini kullanın.
Threada Public API, biletleme, otomasyon ve entegrasyonlar için tasarlanmıştır. Tüm istekler tenant kapsamlıdır ve denetim kayıtlarına yazılır.
Temel URL
Tüm Public API istekleri bu temel URL'i kullanır.
https://api.threada.ai Kimlik doğrulama
- Tüm isteklerde `X-Api-Key` başlığı gönderin.
- Her entegrasyon için ayrı anahtar kullanın ve düzenli olarak döndürün.
- Anahtarlar tenant kapsamlıdır ve scope'lar ile least‑privilege uygulanır.
Kapsamlar
- `support.read` — Biletleri, mesajları ve eylemleri görüntüleyin/listeleyin.
- `support.write` — Bilet oluşturun/güncelleyin ve mesaj ekleyin.
- `support.actions` — Eylemleri çalıştırın ve durumları görüntüleyin.
- `webhooks.manage` — Gelen ve giden webhook'ları yapılandırın.
Sayfalama
- Liste endpoint'leri `limit` ve `page_token` kabul eder.
- Yanıtlar `next_page_token` döndürür.
- Token yoksa listenin sonudur.
Hatalar
- Hatalar `{ error: { type, message, code } }` formatında döner.
- Doğrulama veya izin hataları için 4xx kullanılır.
- Sunucu hataları 5xx ve bir correlation ID döndürür.
Örnekler
Biletleri listele
Tüm kanallardaki açık biletleri çekin.
İstek
curl -X GET "https://api.threada.ai/api/v1/public/tickets?limit=25" \
-H "X-Api-Key: YOUR_API_KEY" Yanıt
{
"items": [
{
"ticket_id": "TICKET_ID",
"tenant_id": "TENANT_ID",
"subject": "SUBJECT",
"status": "open",
"priority": "normal",
"channel": "email",
"tags": ["vip", "returns"],
"last_message_at": "2026-02-04T18:32:11Z"
}
],
"next_page_token": "NEXT_PAGE_TOKEN"
} Bilet oluştur
İlk mesajla yeni bir bilet açın.
İstek
curl -X POST "https://api.threada.ai/api/v1/public/tickets" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": "SUBJECT",
"priority": "normal",
"channel": "email",
"contact": {
"name": "CUSTOMER_NAME",
"email": "customer@example.com"
},
"tags": ["returns"],
"initial_message": {
"role": "user",
"content": "MESSAGE_BODY",
"external_message_id": "EXT_MSG_ID"
}
}' Yanıt
{
"ticket": {
"summary": {
"ticket_id": "TICKET_ID",
"tenant_id": "TENANT_ID",
"subject": "SUBJECT",
"status": "open",
"priority": "normal",
"channel": "email",
"tags": ["returns"],
"created_at": "2026-02-04T18:32:11Z"
},
"contact": {
"name": "CUSTOMER_NAME",
"email": "customer@example.com"
},
"messages": [
{
"message_id": "MESSAGE_ID",
"role": "user",
"content": "MESSAGE_BODY",
"channel": "email",
"created_at": "2026-02-04T18:32:11Z"
}
]
}
} Aksiyon çalıştır
Bir bilet için Custom HTTP otomasyonu tetikleyin.
İstek
curl -X POST "https://api.threada.ai/api/v1/public/tickets/TICKET_ID/actions" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payload": {
"type": "custom_http",
"method": "POST",
"url": "/hooks/zapier",
"headers": {
"X-Source": "threada"
},
"body_json": "{\"event\":\"ticket_updated\"}"
}
}' Yanıt
{
"action": {
"action_id": "ACTION_ID",
"tenant_id": "TENANT_ID",
"ticket_id": "TICKET_ID",
"action_type": "custom_http",
"status": "succeeded",
"requested_by": "api_key:API_KEY_ID",
"payload": {
"type": "custom_http",
"method": "POST",
"url": "/hooks/zapier",
"headers": {
"X-Source": "threada"
},
"body_json": "{\"event\":\"ticket_updated\"}"
}
}
} Yüksek hacim veya özel iş akışları?
Ekibimizle konuşun—rate limit, scope ve SLA ihtiyaçlarınıza göre ayarlanır.
Satış ekibiyle iletişime geçin