Documentation › Outils › campaign_action
campaign_action
Actions : start (confirm=true après relecture, starts_at facultatif), pause, resume, stop, archive, restore, duplicate.
En bref
| Propriété | Valeur |
|---|---|
| Titre | Piloter une campagne |
| Outil MCP | campaign_action, sur https://api.subagent.fr/mcp |
| Appel HTTP | POST https://api.subagent.fr/v1/campaign_action |
| Accès | permission send |
| État de l’espace | vérifié : sinon, refus space_unverified |
| Effet | écriture |
| Vue dans l’assistant | oui : voir Vues |
Ce que fait l’outil
Le serveur décrit l’outil ainsi à l’agent qui se branche :
Actions : start (confirm=
trueaprès relecture,starts_atfacultatif), pause, resume, stop, archive, restore, duplicate. Une pause retient les envois en file ; stop annule ceux qui ne sont pas déjà partis. L’historique importé peut être archivé ou dupliqué, jamais relancé.
Paramètres
campaign_action accepte ces paramètres. Un paramètre inconnu est refusé avec le code invalid_argument.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
campaign_id | identifiant cmp_… | oui | Campagne. |
action | texte | oui | Valeurs : start, pause, resume, stop, archive, restore, duplicate. |
starts_at | date | non | Premier départ au plus tôt, ensuite le créneau s’applique. |
confirm | booléen | non | Lancement relu et confirmé. |
revision | texte | non | Empreinte rendue par preview_campaign, obligatoire pour start. 64 caractères au plus. |
Résultat
L’outil rend un texte lisible en français et un objet structuré (structuredContent). En HTTP, la réponse est cet objet.
| Champ | Type | Contenu |
|---|---|---|
campaign | objet | Une campagne : id (cmp_…), name, status (draft, scheduled, running, paused, completed, stopped), archived, inbox_id, from_address, audience_id, reply_to, steps (de 1 à 4 étapes : delay_days et variants, chacune avec subject, text, html), starts_at, status_reason, source, previous (dans get_campaign : les étapes qu’une correction a remplacées, avec l’auteur et l’heure de la correction), created_at, updated_at. |
Exemple d’appel
Les valeurs sont fictives.
HTTP
curl -X POST https://api.subagent.fr/v1/campaign_action \
-H "Authorization: Bearer $SUBAGENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "cmp_6b2d9e41c7a84f03b5e1d28a90c4f7e3",
"action": "pause"
}'MCP · tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "campaign_action",
"arguments": {
"campaign_id": "cmp_6b2d9e41c7a84f03b5e1d28a90c4f7e3",
"action": "pause"
}
}
}Refus possibles
| Code | HTTP | Ce qui s’est passé | Que faire |
|---|---|---|---|
campaign_not_ready | 422 | L’aperçu signale des destinataires ou des champs bloquants : la campagne ne peut pas partir. | Relire preview_campaign, corriger l’audience ou les messages, puis relancer. |
campaign_changed | 409 | La campagne ou son audience a changé depuis l’aperçu dont la revision est donnée. | Relire preview_campaign et lancer avec sa nouvelle revision. |
campaign_transition | 409 | L’action demandée ne s’applique pas à une campagne dans cet état (par exemple reprendre une campagne qui n’est pas en pause). | Lire son état avec get_campaign, puis choisir l’action qui convient. |
S’y ajoutent les refus communs à tous les outils (unauthorized, forbidden, invalid_argument, rate_limited, internal) : voir Erreurs.