Taken-API
Taken zijn de to-do’s en follow-ups die aan uw account zijn gekoppeld — optioneel gekoppeld aan een contactpersoon, deal of campagne. Ze doorlopen de fasen van uw takenbord (uw kanban-kolommen) en hebben een type en prioriteit. Deze handleiding behandelt het beheer ervan via de API.
- Basis-URL —
https://api.youraiconnector.com/v1 - Authenticatie — uw API-sleutel (zie Authenticatie)
- Fouten & paginering — zie Fouten & Paginering
Alle onderstaande voorbeelden tonen de ?apiKey= query-vorm in cURL en de X-API-Key header in JavaScript en Python — beide werken op elk eindpunt.
Het taakobject
{
"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"
}
type—to_do,faq_updateof uw geconfigureerde taaktypen (zie Taaktypen weergeven).priority—none,low,normal,highofurgent.stage— de id van een fase op uw takenbord (zie Taakfasen weergeven). Indien weggelaten bij het aanmaken, komt de taak in uw eerste fase terecht.remind_before_minutes— hoeveel minuten vóórdue_dateeen herinnering moet worden verzonden.0betekent op de vervaltijd; laat dit weg of stuurnullvoor geen herinnering. Moet een geheel getal zijn van0tot1440(1 dag) — alles wat groter is, wordt geweigerd. De herinnering heeft eendue_datenodig om te worden geactiveerd, en het opnieuw plannen van de taak verplaatst de herinnering mee.
Een taak aanmaken
POST /tasks — alleen title is vereist.
Let op: due_date accepteert een ISO 8601-tijdstempel, inclusief een tijdstip. Combineer dit met remind_before_minutes om de herinnering te laten bezorgen via uw Taken-meldingsinstellingen. contact_id, deal_id en campaign_id koppelen de taak aan die records. assigned_to is de gebruikers-id van een teamlid.
Zorg dat
assigned_tocorrect is. Dit moet de gebruikers-id zijn van de accounteigenaar of van een actief teamlid op hetzelfde account. Dit eindpunt controleert dit momenteel niet, dus een id die bij niemand hoort wordt geaccepteerd en exact zo opgeslagen als je deze hebt verzonden — je krijgt nog steeds een201. Kopieer de id in plaats van deze opnieuw te typen: deze id’s combinerenlmetLen de letterOmet het cijfer0, en één verkeerd teken is al genoeg. Om te controleren wat je daadwerkelijk hebt verzonden, open je de taak in het dashboard: het veld Toegewezen aan op het taakrecord laat de ruwe id zien wanneer deze bij niemand hoort, en de keuzelijst voor toewijzing in Taak bewerken toont Niet toegewezen.
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"])
Antwoord (201)
{ "success": true, "task_id": "tsk_abc123", "task": { "title": "Call Jane about her quote", "...": "..." } }
Taken weergeven
GET /tasks — retourneert de taken voor uw account, met optionele filters.
Queryparameters (allemaal optioneel): stage, priority, contact_id, deal_id, assigned_to, due_before, due_after (ISO-tijdstempels).
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"]
Antwoord (200)
{ "success": true, "tasks": [{ "id": "tsk_abc123", "title": "Call Jane about her quote", "...": "..." }] }
Taken zoeken
POST /tasks/search — full-text zoekopdracht op titel en beschrijving, met dezelfde optionele filters als bij het weergeven van een lijst.
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"},
)
Een taak ophalen
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"})
Een taak die niet bestaat in je account retourneert 404.
Een taak bijwerken
PUT /tasks/{taskId} — stuur alleen de velden die u wilt wijzigen (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."},
)
Een taak voltooien
POST /tasks/{taskId}/complete — verplaatst de taak naar de voltooide fase van je bord. Een optioneel notes-veld legt een afsluitende notitie vast.
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."},
)
Verplaatsen & opnieuw ordenen (kanban)
Verplaats een taak naar een andere fase — POST /tasks/{taskId}/move met new_stage_id (de doelfase) en new_position (de op nul gebaseerde positie binnen die fase; vereist, moet een niet-negatief geheel getal zijn):
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 }'
Taken binnen een fase opnieuw ordenen — POST /tasks/reorder met stage_id en de taak-id’s in hun nieuwe volgorde:
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"]},
)
Taken voor een contactpersoon
GET /tasks/contact/{contactId} — elke taak gekoppeld aan één contactpersoon.
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"})
Configuratie van het takenbord
Takenfasen weergeven
GET /tasks/stages — de kolommen van je bord, in volgorde. Gebruik een fase id als het stage-veld bij het aanmaken of verplaatsen van taken.
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 }] }
Takenfasen bijwerken
PUT /tasks/stages — vervang de faseconfiguratie van je bord. Stuur de volledige geordende stages-array.
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 }
] }'
Taaktypen weergeven
GET /tasks/types — de taaktypen die op je account zijn geconfigureerd (gebruikt als het type-veld).
curl "https://api.youraiconnector.com/v1/tasks/types?apiKey=YOUR_API_KEY"
Een FAQ-suggestie goedkeuren
Wanneer de AI-bot een nieuwe FAQ voorstelt, maakt deze een taak aan van het type faq_update. POST /tasks/{taskId}/approve-faq zet dat voorstel om in een echte FAQ in de kennisbank van de AI-agent die het heeft aangemaakt en voltooit de taak. Je kunt de vraag/het antwoord in de hoofdtekst overschrijven.
Voeg "send_follow_up": true toe om de AI het antwoord ook direct naar de gekoppelde contactpersoon van de taak te laten sturen, als een natuurlijk bericht in die chat (hetzelfde als wat de schakelaar Stuur het antwoord nu naar de contactpersoon in de app doet). Het antwoord wordt verstuurd via de AI-agent die die contactpersoon beheert.
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 vertelt je wat er met het bericht is gebeurd: not_requested (vlag niet ingesteld), published (verzonden), queued (de bot was bezig met antwoorden aan die contactpersoon, het antwoord wordt verstuurd zodra deze klaar is), skipped_no_contact (de taak heeft geen gekoppelde contactpersoon), skipped_no_campaign (geen enkele agent of campagne kon antwoorden voor die contactpersoon) of skipped_error. De FAQ wordt in elk geval aangemaakt.
Zie de FAQs API om de resulterende FAQ te beheren.
Een taak verwijderen
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"})
Volgende stappen
- Contacts API — taken koppelen aan de juiste contactpersoon
- Webhooks API — ontvang meldingen over
Task Created,Task UpdatedenTask Completed - API-referentie — de volledige interactieve endpoint-verkenner