Ir para o conteúdo

Transacional — Envio Único

Envia email e/ou SMS directamente para um conjunto de destinatários sem criar previamente um objecto mensagem. Os contactos são criados automaticamente na lista associada se não existirem.

Nota

Este endpoint requer Content-Type: application/json. Chamadas com application/x-www-form-urlencoded devolvem um erro "Unimplemented".

Endpoint

POST /transactional/<transactional>/transaction


POST /transactional/<transactional>/transaction

Payload

O payload deve ser um objecto JSON enviado com Content-Type: application/json.

Campo Tipo Descrição
recipients array Array de objectos destinatário. Cada email/telefone pode aparecer no máximo uma vez.
template objecto (opcional) Template de email partilhado, aplicado a todos os destinatários sem payload próprio.

Objecto destinatário:

Campo Tipo Descrição
email string (opcional) Endereço de email do destinatário
telephone string (opcional) Número de telefone do destinatário
externalreference string (opcional) Referência do seu sistema, devolvida inalterada nos callbacks de entrega
payload.email string (opcional) HTML de email para este destinatário. Substitui o template partilhado.
payload.sms string (opcional) Texto SMS para este destinatário. Substitui o template partilhado.

Pelo menos um de email ou telephone deve estar presente por destinatário.

Devolve: A entidade transacional, created (contactos adicionados à lista) e nonsubscribed (contactos ignorados por terem cancelado a subscrição).

Exemplo — enviar usando o template de mensagem configurado:

curl -u "username:api_key" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": [
      {
        "email": "destinatario@exemplo.pt",
        "telephone": "351910000001",
        "externalreference": "encomenda-123"
      }
    ]
  }' \
  https://app.duo.pt/transactional/{transactional_id}/transaction

Exemplo — enviar com payload personalizado por destinatário:

curl -u "username:api_key" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": [
      {
        "email": "destinatario@exemplo.pt",
        "telephone": "351910000001",
        "externalreference": "encomenda-456",
        "payload": {
          "sms": "A sua encomenda #456 foi enviada."
        }
      }
    ]
  }' \
  https://app.duo.pt/transactional/{transactional_id}/transaction

Resposta:

{
  "success": true,
  "data": {
    "transactional": {
      "id": 1,
      "owner": 1,
      "name": "Order Confirmation",
      "list": 1,
      "domain": 1,
      "smtp_submission": false,
      "send_dsn": false
    },
    "created": {
      "email": [],
      "telephone": []
    },
    "nonsubscribed": {
      "email": [],
      "telephone": []
    }
  }
}