Tâches et déclenchement manuel
Objectif : créer des enregistrements de tâches explicites et déclencher le travail de file d’attente associé.
Flux d’interface utilisateur
- L’utilisateur définit une charge utile et une priorité de tâche.
- L’interface utilisateur appelle
POST /api/accounts/:account_id/tasks. - L’interface utilisateur affiche la chronologie des tâches de
/api/accounts/:account_id/tasks. - L’utilisateur peut déclencher une tâche avec
POST /api/tasks/:task_id/trigger. - L’interface utilisateur relie la tâche à la liste des tâches filtrée par
task_id.
Flux de bibliothèque client
const task = await api.tasks.create(accountId, {
task_type: "imap_sync_messages",
target_credential_id: imapCredentialId,
payload: { folder: "INBOX" },
priority: 0,
});
await api.tasks.trigger(task.data.id);
const refreshed = await api.tasks.get(task.data.id);
Flux HTTP/curl
API_BASE_URL="https://api.inbox-manager.com"
curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/tasks" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{
"task_type":"imap_sync_messages",
"target_credential_id":"'"${IMAP_CREDENTIAL_ID}"'",
"payload":{"folder":"INBOX"},
"priority":0
}'
curl -sS -X POST "${API_BASE_URL}/api/tasks/${TASK_ID}/trigger" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{}'
curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/tasks?limit=20&offset=0" \
-H "authorization: Bearer ${BEARER_TOKEN}"
Remarques
- Les routes d’action du fournisseur restent le chemin client principal pour les opérations IMAP/SMTP.
- Les tâches génériques sont utiles pour les flux de travail de file d’attente explicites et les outils opérationnels.