Ir para o conteúdo

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:

curl -u "username:api_key" -H "Accept: application/json" -X DELETE \
  https://app.duo.pt/transactional/{transactional_id}/automation/{automation_id}