İçeriğe atla

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