Your AI Connector Docs

Görevler API’si

Görevler, hesabınıza eklenmiş yapılacak işler ve takiplerdir; isteğe bağlı olarak bir kişi, anlaşma veya kampanya ile ilişkilendirilebilirler. Görev panonuzun (kanban sütunlarınız) aşamaları boyunca ilerlerler ve bir tür ile önceliğe sahiptirler. Bu kılavuz, bunları API üzerinden nasıl yöneteceğinizi kapsar.

Aşağıdaki tüm örnekler cURL’de ?apiKey= sorgu biçimini ve JavaScript ile Python’da X-API-Key başlığını göstermektedir; her ikisi de her uç noktada çalışır.


Görev nesnesi

{
  "id": "tsk_abc123",
  "title": "Call Jane about her quote",
  "description": "She asked for pricing on the annual plan.",
  "type": "to_do",
  "priority": "high",
  "stage": "stage-1",
  "due_date": "2026-06-15T09:00:00.000Z",
  "remind_before_minutes": 15,
  "contact": "contacts/uid_whatsapp_15551234567",
  "campaign": "campaigns/abc123",
  "tags": ["sales"],
  "notes": "",
  "source": "api"
}
  • typeto_do, faq_update veya yapılandırılmış görev türleriniz (bkz. Görev türlerini listele).
  • prioritynone, low, normal, high veya urgent.
  • stage — görev panonuzdaki bir aşamanın kimliği (bkz. Görev aşamalarını listele). Oluşturma sırasında belirtilmezse, görev ilk aşamanıza eklenir.
  • remind_before_minutesdue_date öncesinde hatırlatıcının gönderileceği dakika sayısı. 0, son teslim zamanında anlamına gelir; atlayın veya hatırlatıcı olmaması için null gönderin. 0 ile 1440 (1 gün) arasında bir tam sayı olmalıdır; daha büyük değerler reddedilir. Hatırlatıcının tetiklenmesi için bir due_date gerekir ve görevin yeniden zamanlanması hatırlatıcıyı da onunla birlikte taşır.

Görev oluşturma

POST /tasks — yalnızca title zorunludur.

Not: due_date, günün saati dahil olmak üzere bir ISO 8601 zaman damgası kabul eder. Hatırlatıcının Görevler bildirim ayarlarınızda iletilmesi için bunu remind_before_minutes ile eşleştirin. contact_id, deal_id ve campaign_id, görevi ilgili kayıtlara bağlar. assigned_to, bir ekip üyesinin kullanıcı kimliğidir.

assigned_to doğru ayarlamak. Bu, hesap sahibinin veya aynı hesaptaki aktif bir ekip üyesinin kullanıcı kimliği olmalıdır. Bu uç nokta şu anda bunu kontrol etmemektedir, bu nedenle hiç kimseye ait olmayan bir kimlik kabul edilir ve tam olarak gönderdiğiniz şekilde saklanır — yine de bir 201 alırsınız. Kimliği yeniden yazmak yerine kopyalayın: bu kimlikler l ile L’ü ve O harfi ile 0 rakamını karıştırır ve tek bir yanlış karakter yeterlidir. Gerçekte ne gönderdiğinizi kontrol etmek için panodaki görevi açın: görev kaydındaki Atanan alanı, kimseyle eşleşmediğinde ham kimliği göstermeye geri döner ve Görevi düzenle içindeki atanan seçici Atanmamış gösterir.

cURL

curl -X POST "https://api.youraiconnector.com/v1/tasks?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Call Jane about her quote",
    "priority": "high",
    "due_date": "2026-06-15T09:00:00.000Z",
    "contact_id": "uid_whatsapp_15551234567",
    "tags": ["sales"]
  }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/tasks", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    title: "Call Jane about her quote",
    priority: "high",
    due_date: "2026-06-15T09:00:00.000Z",
    contact_id: "uid_whatsapp_15551234567",
    tags: ["sales"],
  }),
});
const data = await res.json();
console.log(data.task_id);

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/tasks",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "title": "Call Jane about her quote",
        "priority": "high",
        "due_date": "2026-06-15T09:00:00.000Z",
        "contact_id": "uid_whatsapp_15551234567",
        "tags": ["sales"],
    },
)
print(res.json()["task_id"])

Yanıt (201)

{ "success": true, "task_id": "tsk_abc123", "task": { "title": "Call Jane about her quote", "...": "..." } }

Görevleri listeleme

GET /tasks — hesabınızdaki görevleri, isteğe bağlı filtrelerle birlikte döndürür.

Sorgu parametreleri (hepsi isteğe bağlıdır): stage, priority, contact_id, deal_id, assigned_to, due_before, due_after (ISO zaman damgaları).

cURL

curl "https://api.youraiconnector.com/v1/tasks?apiKey=YOUR_API_KEY&stage=stage-1&priority=high"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/tasks?stage=stage-1&priority=high", {
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const { tasks } = await res.json();

Python

res = requests.get(
    "https://api.youraiconnector.com/v1/tasks",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"stage": "stage-1", "priority": "high"},
)
tasks = res.json()["tasks"]

Yanıt (200)

{ "success": true, "tasks": [{ "id": "tsk_abc123", "title": "Call Jane about her quote", "...": "..." }] }

Görevleri ara

POST /tasks/search — listeleme ile aynı isteğe bağlı filtrelere sahip, başlık ve açıklama üzerinde tam metin eşleşmesi.

curl -X POST "https://api.youraiconnector.com/v1/tasks/search?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "quote", "priority": "high" }'
const res = await fetch("https://api.youraiconnector.com/v1/tasks/search", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ query: "quote", priority: "high" }),
});
res = requests.post(
    "https://api.youraiconnector.com/v1/tasks/search",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"query": "quote", "priority": "high"},
)

Bir görev al

GET /tasks/{taskId}

curl "https://api.youraiconnector.com/v1/tasks/tsk_abc123?apiKey=YOUR_API_KEY"
const res = await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123", { headers: { "X-API-Key": "YOUR_API_KEY" } });
res = requests.get("https://api.youraiconnector.com/v1/tasks/tsk_abc123", headers={"X-API-Key": "YOUR_API_KEY"})

Hesabınızda bulunmayan bir görev 404 döndürür.


Bir görevi güncelle

PUT /tasks/{taskId} — yalnızca değiştirmek istediğiniz alanları gönderin (title, description, type, priority, stage, due_date, remind_before_minutes, contact_id, deal_id, assigned_to, tags, notes).

curl -X PUT "https://api.youraiconnector.com/v1/tasks/tsk_abc123?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "priority": "urgent", "notes": "Left a voicemail." }'
await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123", {
  method: "PUT",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ priority: "urgent", notes: "Left a voicemail." }),
});
requests.put(
    "https://api.youraiconnector.com/v1/tasks/tsk_abc123",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"priority": "urgent", "notes": "Left a voicemail."},
)

Bir görevi tamamla

POST /tasks/{taskId}/complete — görevi panonuzun tamamlanan aşamasına taşır. İsteğe bağlı bir notes alanı, bir kapanış notu kaydeder.

curl -X POST "https://api.youraiconnector.com/v1/tasks/tsk_abc123/complete?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "notes": "Closed — customer signed up." }'
await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123/complete", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ notes: "Closed — customer signed up." }),
});
requests.post(
    "https://api.youraiconnector.com/v1/tasks/tsk_abc123/complete",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"notes": "Closed — customer signed up."},
)

Taşı ve yeniden sırala (kanban)

Bir görevi başka bir aşamaya taşıyınPOST /tasks/{taskId}/move, new_stage_id (hedef aşama) ve new_position (o aşama içindeki sıfır tabanlı yuva; gereklidir, negatif olmayan bir tam sayı olmalıdır) ile:

curl -X POST "https://api.youraiconnector.com/v1/tasks/tsk_abc123/move?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "new_stage_id": "stage-2", "new_position": 0 }'

Bir aşama içindeki görevleri yeniden sıralayınPOST /tasks/reorder, stage_id ve görev kimlikleri yeni sıralarıyla:

curl -X POST "https://api.youraiconnector.com/v1/tasks/reorder?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "stage_id": "stage-1", "ordered_task_ids": ["tsk_3", "tsk_1", "tsk_2"] }'
await fetch("https://api.youraiconnector.com/v1/tasks/reorder", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ stage_id: "stage-1", ordered_task_ids: ["tsk_3", "tsk_1", "tsk_2"] }),
});
requests.post(
    "https://api.youraiconnector.com/v1/tasks/reorder",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"stage_id": "stage-1", "ordered_task_ids": ["tsk_3", "tsk_1", "tsk_2"]},
)

Bir kişi için görevler

GET /tasks/contact/{contactId} — bir kişiyle bağlantılı her görev.

curl "https://api.youraiconnector.com/v1/tasks/contact/uid_whatsapp_15551234567?apiKey=YOUR_API_KEY"
const res = await fetch("https://api.youraiconnector.com/v1/tasks/contact/uid_whatsapp_15551234567", { headers: { "X-API-Key": "YOUR_API_KEY" } });
res = requests.get("https://api.youraiconnector.com/v1/tasks/contact/uid_whatsapp_15551234567", headers={"X-API-Key": "YOUR_API_KEY"})

Görev panosu yapılandırması

Görev aşamalarını listele

GET /tasks/stages — panonuzun sütunları, sıralı bir şekilde. Görev oluştururken veya taşırken bir aşama id değerini stage alanı olarak kullanın.

curl "https://api.youraiconnector.com/v1/tasks/stages?apiKey=YOUR_API_KEY"
{ "success": true, "stages": [{ "id": "stage-1", "name": "To Do", "is_completed_stage": false }, { "id": "stage-done", "name": "Done", "is_completed_stage": true }] }

Görev aşamalarını güncelle

PUT /tasks/stages — panonuzun aşama yapılandırmasını değiştirin. Tam sıralı stages dizisini gönderin.

curl -X PUT "https://api.youraiconnector.com/v1/tasks/stages?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "stages": [
    { "id": "stage-1", "name": "To Do", "is_completed_stage": false },
    { "id": "stage-2", "name": "In Progress", "is_completed_stage": false },
    { "id": "stage-done", "name": "Done", "is_completed_stage": true }
  ] }'

Görev türlerini listele

GET /tasks/types — hesabınızda yapılandırılmış görev türleri (type alanı olarak kullanılır).

curl "https://api.youraiconnector.com/v1/tasks/types?apiKey=YOUR_API_KEY"

Bir SSS önerisini onaylayın

AI botu yeni bir SSS önerdiğinde, faq_update türünde bir görev oluşturur. POST /tasks/{taskId}/approve-faq, bu öneriyi onu oluşturan AI temsilcisinin bilgi tabanında gerçek bir SSS’ye dönüştürür ve görevi tamamlar. Gövde kısmındaki soru/cevap bölümünü geçersiz kılabilirsiniz.

AI’nın cevabı görevin bağlantılı kişisine anında, o sohbette doğal bir mesaj olarak göndermesini sağlamak için "send_follow_up": true ekleyin (bu, uygulamadaki Cevabı şimdi kişiye gönder düğmesinin yaptığı işle aynıdır). Yanıt, o kişiyle ilgilenen AI temsilcisi aracılığıyla gönderilir.

curl -X POST "https://api.youraiconnector.com/v1/tasks/tsk_faq99/approve-faq?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "question": "Do you offer refunds?", "answer": "Yes, within 30 days.", "send_follow_up": true }'
{ "success": true, "faq_id": "faq_xyz", "task_id": "tsk_faq99", "follow_up_status": "published" }

follow_up_status size mesaja ne olduğunu bildirir: not_requested (bayrak ayarlanmadı), published (gönderildi), queued (bot o kişiyle yanıt verme aşamasındaydı, cevap biter bitmez gönderilecek), skipped_no_contact (görevin bağlantılı olduğu bir kişi yok), skipped_no_campaign (o kişi için yanıt verebilecek bir temsilci veya kampanya yok) veya skipped_error. SSS her durumda oluşturulur.

Oluşturulan SSS’yi yönetmek için SSS API bölümüne bakın.


Bir görevi silin

DELETE /tasks/{taskId}

curl -X DELETE "https://api.youraiconnector.com/v1/tasks/tsk_abc123?apiKey=YOUR_API_KEY"
await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123", { method: "DELETE", headers: { "X-API-Key": "YOUR_API_KEY" } });
requests.delete("https://api.youraiconnector.com/v1/tasks/tsk_abc123", headers={"X-API-Key": "YOUR_API_KEY"})

Sonraki adımlar