Transacional — Automação¶
Uma automação faz passar os contactos da lista do objeto transacional por um fluxo de nós: um gatilho, seguido de esperas, condições e ações (enviar uma mensagem, alterar um campo, chamar o seu serviço). Ver o guia de Automações para um exemplo completo.
Endpoints¶
| Método | URL |
|---|---|
GET |
/transactional/<transactional>/automation/<automation> |
POST |
/transactional/<transactional>/automation |
PUT |
/transactional/<transactional>/automation/<automation> |
DELETE |
/transactional/<transactional>/automation/<automation> |
As automações de um objeto transacional são listadas por
GET /transactional/<transactional> (automations). Envie os parâmetros
form-encoded ou na query string.
GET /transactional/<transactional>/automation/<automation>¶
Payload: Sem payload.
Devolve: A automação, o seu objeto transacional, todos os seus nós indexados pelo ID do nó
(transactionalAutomationNodes) e os IDs dos nós de entrada
(transactionalAutomationNodeRootIds). Requer acesso de escrita ao objeto transacional.
Exemplo:
curl -u "username:api_key" -H "Accept: application/json" \
https://app.duo.pt/transactional/{transactional_id}/automation/{automation_id}
Resposta:
{
"success": true,
"data": {
"transactionalAutomation": {
"id": 7,
"name": "Payment follow-up",
"enabled": true,
"send_transactional": 1
},
"transactional": {
"id": 1,
"owner": 1,
"name": "Order Confirmation",
"list": 1,
"domain": 1,
"smtp_submission": false,
"send_dsn": false
},
"transactionalAutomationNodes": {
"31": {
"id": 31,
"send_transactional_automation": 7,
"type": "externalEventEntry",
"title": "Contact event occurs",
"comment": "Event payment happened to contact",
"child": 32,
"child2": null,
"payload": { "event": "payment", "fields_to_set": [] }
},
"32": {
"id": 32,
"send_transactional_automation": 7,
"type": "sendMessage",
"title": "Receives a message",
"comment": "Receives message Order paid",
"child": null,
"child2": null,
"payload": { "message": 12 }
}
},
"transactionalAutomationNodeRootIds": [31]
}
}
POST /transactional/<transactional>/automation¶
| Parâmetro | Tipo | Descrição |
|---|---|---|
name |
string | Obrigatório. Nome da automação |
enabled |
boolean | Opcional. true ou false. Por defeito false: uma automação nova fica desativada. |
Devolve: A nova automação (transactionalAutomation) e o seu objeto transacional.
Exemplo:
curl -u "username:api_key" -H "Accept: application/json" \
-d "name=Payment+follow-up" \
https://app.duo.pt/transactional/{transactional_id}/automation
Resposta:
{
"success": true,
"data": {
"transactional": {
"id": 1,
"owner": 1,
"name": "Order Confirmation",
"list": 1,
"domain": 1,
"smtp_submission": false,
"send_dsn": false
},
"transactionalAutomation": {
"id": 7,
"name": "Payment follow-up",
"enabled": false,
"send_transactional": 1
}
}
}
PUT /transactional/<transactional>/automation/<automation>¶
| Parâmetro | Tipo | Descrição |
|---|---|---|
id |
int | Obrigatório. O ID da automação, o mesmo do URL |
name |
string | Opcional. Novo nome |
enabled |
boolean | Opcional. true começa a processar contactos; false para |
Só os campos enviados são alterados.
Devolve: A automação editada e o seu objeto transacional.
Exemplo — ativar uma automação:
curl -u "username:api_key" -H "Accept: application/json" \
-d "x-verb=PUT&id={automation_id}&enabled=true" \
https://app.duo.pt/transactional/{transactional_id}/automation/{automation_id}
Resposta:
{
"success": true,
"data": {
"transactional": {
"id": 1,
"owner": 1,
"name": "Order Confirmation",
"list": 1,
"domain": 1,
"smtp_submission": false,
"send_dsn": false
},
"transactionalAutomation": {
"id": 7,
"name": "Payment follow-up",
"enabled": true,
"send_transactional": 1
}
}
}
DELETE /transactional/<transactional>/automation/<automation>¶
Payload: Sem payload.
Devolve: A automação eliminada e o seu objeto transacional. Os seus nós são também eliminados.
Exemplo: