API des tâches
Les tâches sont les éléments à faire et les suivis associés à votre compte — éventuellement liés à un contact, une affaire ou une campagne. Elles progressent à travers les étapes de votre tableau de tâches (vos colonnes kanban) et possèdent un type et une priorité. Ce guide explique comment les gérer via l’API.
- URL de base —
https://api.youraiconnector.com/v1 - Authentification — votre clé API (voir Authentification)
- Erreurs et pagination — voir Erreurs et pagination
Tous les exemples ci-dessous utilisent le format de requête ?apiKey= en cURL et l’en-tête X-API-Key en JavaScript et Python — les deux fonctionnent sur chaque point de terminaison.
L’objet tâche
{
"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_updateou vos types de tâches configurés (voir Lister les types de tâches).priority—none,low,normal,highouurgent.stage— l’identifiant d’une étape sur votre tableau de tâches (voir Lister les étapes de tâche). Si omis lors de la création, la tâche est placée dans votre première étape.remind_before_minutes— nombre de minutes avantdue_datepour envoyer un rappel.0signifie à l’heure d’échéance ; omettez-le ou envoyeznullpour aucun rappel. Doit être un nombre entier compris entre0et1440(1 jour) — toute valeur supérieure sera rejetée. Le rappel nécessite undue_datepour se déclencher, et la reprogrammation de la tâche déplace le rappel avec elle.
Créer une tâche
POST /tasks — seul title est requis.
Remarque : due_date accepte un horodatage ISO 8601, incluant une heure de la journée. Associez-le à remind_before_minutes pour que le rappel soit envoyé selon vos paramètres de notification Tâches. contact_id, deal_id et campaign_id lient la tâche à ces enregistrements. assigned_to est l’identifiant utilisateur d’un membre de l’équipe.
Bien configurer
assigned_to. Il doit s’agir de l’identifiant utilisateur du propriétaire du compte ou d’un membre actif de l’équipe sur le même compte. Ce point de terminaison ne le vérifie pas actuellement, donc un identifiant n’appartenant à personne est accepté et stocké exactement tel que vous l’avez envoyé — vous recevez tout de même un201. Copiez l’identifiant plutôt que de le retaper : ces identifiants mélangentlavecLet la lettreOavec le chiffre0, et un seul caractère erroné suffit. Pour vérifier ce que vous avez réellement envoyé, ouvrez la tâche dans le tableau de bord : le champ Assigné sur l’enregistrement de la tâche affiche l’identifiant brut lorsqu’il ne correspond à personne, et le sélecteur d’assigné dans Modifier la tâche indique Non assigné.
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"])
Réponse (201)
{ "success": true, "task_id": "tsk_abc123", "task": { "title": "Call Jane about her quote", "...": "..." } }
Lister les tâches
GET /tasks — renvoie les tâches de votre compte, avec des filtres optionnels.
Paramètres de requête (tous facultatifs) : stage, priority, contact_id, deal_id, assigned_to, due_before, due_after (horodatages ISO).
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"]
Réponse (200)
{ "success": true, "tasks": [{ "id": "tsk_abc123", "title": "Call Jane about her quote", "...": "..." }] }
Rechercher des tâches
POST /tasks/search — recherche en texte intégral sur le titre et la description, avec les mêmes filtres facultatifs que pour la liste.
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"},
)
Obtenir une tâche
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"})
Une tâche qui n’existe pas sur votre compte renvoie 404.
Mettre à jour une tâche
PUT /tasks/{taskId} — envoyez uniquement les champs que vous souhaitez modifier (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."},
)
Terminer une tâche
POST /tasks/{taskId}/complete — déplace la tâche vers l’étape terminée de votre tableau. Un champ facultatif notes permet d’enregistrer une note de clôture.
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."},
)
Déplacer et réorganiser (kanban)
Déplacer une tâche vers une autre étape — POST /tasks/{taskId}/move avec new_stage_id (l’étape de destination) et new_position (la position basée sur zéro au sein de cette étape ; obligatoire, doit être un entier non négatif) :
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 }'
Réorganiser les tâches au sein d’une étape — POST /tasks/reorder avec stage_id et les identifiants des tâches dans leur nouvel ordre :
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"]},
)
Tâches pour un contact
GET /tasks/contact/{contactId} — chaque tâche liée à un contact.
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"})
Configuration du tableau des tâches
Lister les étapes des tâches
GET /tasks/stages — les colonnes de votre tableau, dans l’ordre. Utilisez un id d’étape comme champ stage lors de la création ou du déplacement de tâches.
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 }] }
Mettre à jour les étapes des tâches
PUT /tasks/stages — remplacez la configuration des étapes de votre tableau. Envoyez le tableau stages complet et ordonné.
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 }
] }'
Lister les types de tâches
GET /tasks/types — les types de tâches configurés sur votre compte (utilisés comme champ type).
curl "https://api.youraiconnector.com/v1/tasks/types?apiKey=YOUR_API_KEY"
Approuver une suggestion de FAQ
Lorsque le bot IA propose une nouvelle FAQ, il crée une tâche de type faq_update. POST /tasks/{taskId}/approve-faq transforme cette suggestion en une véritable FAQ dans la base de connaissances de l’agent IA qui l’a soulevée et termine la tâche. Vous pouvez remplacer la question/réponse dans le corps du texte.
Ajoutez "send_follow_up": true pour que l’IA envoie également la réponse au contact lié à la tâche immédiatement, sous forme de message naturel dans cette discussion (la même chose que fait le bouton bascule Envoyer la réponse au contact maintenant dans l’application). La réponse est envoyée via l’agent IA qui gère ce contact.
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 vous indique ce qui est arrivé au message : not_requested (indicateur non défini), published (envoyé), queued (le bot était en train de répondre à ce contact, la réponse est envoyée dès qu’il a terminé), skipped_no_contact (la tâche n’a aucun contact lié), skipped_no_campaign (aucun agent ou campagne n’a pu répondre pour ce contact) ou skipped_error. La FAQ est créée dans tous les cas.
Consultez l’API FAQ pour gérer la FAQ résultante.
Supprimer une tâche
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"})
Étapes suivantes
- API Contacts — associez des tâches au bon contact
- API Webhooks — soyez notifié sur
Task Created,Task UpdatedetTask Completed - Référence de l’API — l’explorateur de points de terminaison interactif complet