Ler pela API as respostas de SMS recebidas

Atualizado a

Ler as SMS que te responderam, sem precisares de receber webhooks.

GEThttps://api.droidsender.com/api/v1/messages/inbound

Devolve as SMS recebidas pela ordem em que chegaram ao DroidSender. É a alternativa ao webhook received para quem não tem um servidor que receba pedidos: um script que corre de minuto a minuto chega.

ParâmetroPara quê
sincedata ISO 8601: as que chegaram a partir daí
cursoro nextCursor da resposta anterior; tem prioridade sobre since
limit1 a 100, por omissão 50
fromsó as de um número, em qualquer formato
deviceIdsó as que um telemóvel recebeu
referencesó as respostas a envios com esta reference
json
{
  "messages": [
    {
      "id": "msg_01H8Z",
      "from": "+14155550100",
      "message": "SIM",
      "receivedAt": "2026-08-14T10:30:44.000Z",
      "conversationId": "conv_9f21",
      "deviceId": "dev_oppo_cph2577",
      "inReplyTo": {
        "id": "msg_01H8X",
        "reference": "marcacao_8841",
        "body": "Confirma a marcacao de amanha as 10h? Responda SIM",
        "sentAt": "2026-08-14T09:02:11.000Z"
      }
    }
  ],
  "nextCursor": "MjAyNi0wOC0xNFQxMDozMDo0NS4xMjNafG1zZ18wMUg4Wg",
  "hasMore": false
}

O mesmo objeto do webhook received

Cada mensagem tem a forma do data do webhook received, mais o id. Se já tratas o webhook, o mesmo código serve para as duas.

Ler de minuto a minuto

curl "https://api.droidsender.com/api/v1/messages/inbound?since=2026-08-14T00:00:00Z" \
  -H "X-API-Key: DS-live-a-tua-chave"

Guarda o nextCursor

Vem sempre, mesmo sem mensagens novas. Usa-o no pedido seguinte e não perdes nem repetes nenhuma, mesmo quando o telemóvel esteve offline e as entrega com horas de atraso.

Uma SMS aparece aqui até 10 segundos depois de chegar. Ler não marca a conversa como lida. O histórico importado ao ligar um telemóvel não entra, como no webhook.