Cancelar Atividade
Cancelar uma atividade que está em status READY ou RETRYING.
PATCH /api/activities/:id/cancel
Cancela uma atividade. A transição para Atividade foi cancelada explicitamente a partir de um status não terminal (READY ou RETRYING) porque a razão de negócio que a motivou deixou de se aplicar antes do envio (por exemplo, o cliente já fez a ação alvo por outro canal, decidiu não recebê-la, ou o destinatário deixou de ser válido). O cancelamento é terminal: não se produz resultado nem ocorre despacho. está disponível a partir de Atividade está completamente resolvida e pronta para ser acionada. Se o cliente tiver um provedor configurado para fazer o despacho das atividades, a próxima ação do sistema tenta despachá-la; caso contrário, a atividade permanece READY e poderá ser acionada na plataforma interna por algum operador. e Falhou ao menos uma tentativa de despacho; o sistema tentará novamente de forma automática. Cada nova tentativa mantém a atividade neste status. Passa a DISPATCHED quando uma tentativa tem sucesso, ou a FAILED quando as tentativas disponíveis se esgotam. (veja Activity States para a state machine completa).
Auth: Obrigatório — permissão activity:cancel
Parâmetros de Rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | UUID | ID da atividade |
Exemplo
curl -X PATCH https://api.reten.ai/api/activities/ee0e8400-e29b-41d4-a716-446655440000/cancel \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "x-project-id: <project-id>"const activityId = "ee0e8400-e29b-41d4-a716-446655440000";
const response = await fetch(`https://api.reten.ai/api/activities/${activityId}/cancel`, {
method: "PATCH",
headers: {
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
"x-project-id": "<project-id>",
},
});
const data = await response.json();import requests
activity_id = "ee0e8400-e29b-41d4-a716-446655440000"
response = requests.patch(
f"https://api.reten.ai/api/activities/{activity_id}/cancel",
headers={
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
"x-project-id": "<project-id>",
},
)
data = response.json()Resposta 200 OK
Retorna a atividade completa após o cancelamento, incluindo seu commerceAssignment e seus statusEvents. O exemplo abaixo está abreviado.
{
"id": "ee0e8400-e29b-41d4-a716-446655440000",
"projectId": "3f6c2b1a-8d4e-4f7a-9b2c-5e1d0a7f6c34",
"status": "CANCELED"
}Respostas de Erro
| Status | Descrição |
|---|---|
400 | A atividade não está em READY nem em RETRYING — Cannot cancel activity in status "<STATUS>". Activity can only be canceled from non-terminal states (READY, RETRYING). |
404 | Não existe uma atividade com esse id no projeto ativo (incluindo uma atividade de outro projeto) — Actividad no encontrada |