HTTP API - ação 'sendmessage'

Este comando da API HTTP pode ser usado para enviar uma mensagem SMS através do Gateway SMS. O comando pode ser usado para enviar mensagens SMS de texto ou outros tipos de mensagens, como mensagens SMS binárias, logos de operadora, toques, WAP PUSH, etc... Ao usar este comando, você deve utilizar um nome de usuário e senha da API HTTP, deve especificar o número de telefone do destinatário e o texto da mensagem.

Descrição

Para enviar um SMS, use o seguinte formato de URL:

https://127.0.0.1:9508/api?action=sendmessage&username=UUUUU&password=PPPPP&
recipient=NNNNN&messagetype=MMMMM&messagedata=DDDDD


127.0.0.1 é um IP local, portanto, substitua-o pelo endereço IP ou nome do computador com o Ozeki SMS Gateway instalado. (Observação: 127.0.0.1 é um endereço de loopback local que pode ser usado quando você está se conectando ao Gateway SMS a partir do mesmo computador.) 9508 é a porta padrão da API HTTP do Ozeki SMS Gateway. Este número de porta pode ser visualizado e editado na interface do usuário do Ozeki 10 SMS Gateway, clicando no botão Avançado na barra de ferramentas.

"UUUUU" e "PPPPP" devem ser substituídos pelo nome de usuário e senha do usuário que você criou no gateway SMS.

Substitua "NNNNN" pelo número de telefone para o qual deseja enviar a mensagem SMS. Você pode usar o formato de número de telefone local, bem como formatos de número de telefone internacionais (números de telefone formatados de acordo com o formato internacional sempre começam com um sinal '+'). Se o formato de número de telefone internacional for usado, observe que você deve substituir '%2B' pelo caractere '+', devido às regras de codificação de URL.

Substitua "MMMMM" pelo tipo de mensagem. O tipo de mensagem "SMS:TEXT" deve ser usado para mensagens de texto.

Os dados da mensagem contêm a mensagem que você deseja enviar. Coloque os dados da mensagem no lugar de "DDDDD". Os dados da mensagem devem estar em caracteres UTF-8 e devem ser codificados em URL.

Outros parâmetros também podem ser adicionados à solicitação.
Para uma lista completa dos parâmetros disponíveis, consulte a tabela 'Parâmetros da solicitação' abaixo:

Exemplo de URL de Solicitação

https://127.0.0.1:9508/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World

Exemplo de Resposta
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 246

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE smsapi PUBLIC "-//OZEKI//DTD XML 1.0//EN" "http://www.ozekisms.com/DTD/smsapi.xml">
<response>
   <action>sendmessage</action>
   <data>
      <acceptreport>
         <statuscode>0</statuscode>
         <statusmessage>Mensagem aceita para entrega</statusmessage>
         <messageid>ERFAV23D</messageid>
         <recipient>06203105366</recipient>
      </acceptreport>
   </data>
</response>

Parâmetros de requisição HTTP

Parâmetro Descrição Valores possíveis Exemplo O/M*
action Especifica o comando da API HTTP sendmessage action=sendmessage M
username Especifica o nome de usuário. Os parâmetros username e password são usados para autenticar o usuário. Quando você envia uma mensagem, ela será enviada em nome do usuário autenticado. O valor deve ser codificado em URL. valor string, comprimento máximo de 16 caracteres username=admin M
password Especifica a senha. Os parâmetros username e password são usados para autenticar o usuário. Quando você envia uma mensagem, ela será enviada em nome do usuário autenticado. O valor deve ser codificado em URL. valor string, comprimento máximo de 16 caracteres password=abc123 M
originator Especifica o endereço do remetente. Esta informação será exibida no celular que receber a mensagem. Este é o endereço do remetente. Pode ser um número de telefone, um código curto ou um endereço alfanumérico. O número de telefone pode ser formatado no formato local (ex.: 06201234567) ou no formato internacional (ex.: +36201234567). Se você usar um endereço alfanumérico (ex.: ozeki), os caracteres devem ser codificados em UTF8 e o valor deve ser codificado em URL. valor string, comprimento máximo de 16 caracteres originator=%2B36201112222 O
recipient Especifica o número de telefone do destinatário. A mensagem será enviada para este número de telefone. O número de telefone pode ser especificado no formato local (ex.: 06201234567) ou no formato internacional (ex.: +36201234567).
Mais de um endereço de destinatário pode ser separado por dois pontos (ex.: +36201234567,+36202222222) ou ponto e vírgula.
O valor deve ser codificado em URL.
valor string, comprimento máximo de 16 caracteres recipient=%2B36201234567 M
messagetype Especifica o tipo da mensagem. O tipo dos dados da mensagem SMS baseado na Especificação de Tipo de Mensagem Móvel. Para mensagens de texto, os dados da mensagem serão texto simples; para outros tipos de mensagem, será um documento XML.
SMS:TEXT
SMS:WAPPUSH
...
Os valores possíveis podem ser encontrados na Especificação de Tipo de Mensagem Móvel
messagetype=SMS:TEXT O
messagedata Especifica o texto ou os dados da mensagem SMS. O valor deve ser codificado em UTF8 e deve ser codificado em URL. valor string, comprimento máximo de 32768 caracteres messagedata=Olá+Mundo M
_charset_ Especifica o charset dos dados codificados (se não especificado, utf-8 será assumido). Navegadores mais recentes devem definir o valor de _charset_ automaticamente. Se o seu navegador não suportar esse recurso, você pode defini-lo manualmente como:
utf-8
windows-1250
iso-8859-1
iso-8859-2
...
(Valores de charset suportados)
_charset_=iso-8859-2 O
serviceprovider Especifica o nome do GSM Modem ou da conexão do provedor de serviço SMS IP a ser usado para enviar a mensagem. Mais informações sobre a seleção de conexão do provedor de serviço estão disponíveis no Guia de roteamento SMS da API HTTP SMS.

O valor deve corresponder à string especificada no formulário de configuração da conexão do provedor de serviço.
valor string, comprimento máximo de 16 caracteres serviceprovider=Vodafone O
sendondate Especifica a data e hora em que a mensagem deve ser enviada.

O valor deve usar o seguinte formato de data: AAAA-MM-DD hh:mm:ss. O valor deve ser codificado em URL
valor de data no formato AAAA-MM-DD hh:mm:ss sendondate=2018-12-12+10%3A07%3A05 O
responseformat Após o gateway enviar a mensagem SMS, o gateway retornará uma página da web indicando que a mensagem foi enviada com sucesso. O conteúdo da página da web é formatado de acordo com o parâmetro responseformat. Você pode ter uma resposta em texto html para facilitar a leitura por humanos ou pode ter o formato xml para facilitar o processamento da resposta por software. xml (padrão)
html
urlencoded
responseformat=xml O
continueurl Após o gateway enviar a mensagem SMS, o gateway retornará uma página da web indicando que a mensagem foi enviada com sucesso. O conteúdo da página da web é formatado de acordo com o parâmetro responseformat. Se o parâmetro responseformat estiver definido como html, a página da web pode conter um link "Continuar". Se você especificar o URL neste parâmetro, o link continuar será exibido e apontará para o URL especificado. O valor do URL deve ser codificado em URL.

O URL que você especificar pode conter palavras-chave que serão substituídas por informações de estado correspondentes à mensagem enviada. Mais informações sobre palavras-chave possíveis podem ser encontradas no guia "Palavras-chave de URL de envio".
valor string, comprimento máximo de 1024 caracteres continueurl=192.168.1.23

ou

continueurl=http%3A%2F%2Fwww.ozekisms.
com%2Findex.php%3Fowpn%3D159

Nota: o segundo exemplo contém um URL codificado.
O
redirecturl Após o gateway enviar a mensagem SMS, por padrão o gateway retornará uma página da web indicando que a mensagem foi enviada com sucesso. Opcionalmente, você pode solicitar que o gateway redirecione automaticamente o navegador para um URL que você especificar. Se você especificar um URL no parâmetro redirect, a resposta HTTP retornada pelo gateway SMS conterá um URL de redirecionamento no cabeçalho HTTP. Isso instruirá o navegador a seguir o link que você especificou. O valor do URL deve ser codificado em URL.

O URL que você especificar pode conter palavras-chave que serão substituídas por informações de estado correspondentes à mensagem enviada. Mais informações sobre palavras-chave possíveis podem ser encontradas no guia "Palavras-chave de URL de envio".
valor string, comprimento máximo de 1024 caracteres redirecturl=192.168.1.23

ou

redirecturl=http%3A%2F%2F192.168.1.23
%2Findex.php%3Fowpn%3D159

Nota: o segundo exemplo contém um URL codificado.
O
reporturl Você pode configurar uma página da web para processar informações sobre eventos "entregue à rede" e "entregue ao aparelho". Se você especificar um URL no parâmetro reporturl, sua página da web será chamada quando esses eventos ocorrerem. O valor do URL que você especificar no parâmetro reporturl deve ser codificado em URL.

O URL que você especificar pode conter palavras-chave que serão substituídas por informações de estado correspondentes à mensagem enviada.

Um bom exemplo de como usar a opção de URL de relatório pode ser encontrado no guia como enviar um SMS agendado e usar a funcionalidade reporturl.
valor string, comprimento máximo de 1024 caracteres reporturl=http%3A%2F%2Fwww.ozekisms.
com%2Fproc.php%3Freporttype%3D%24reporttype
%26messageid%3D%24messageid

Nota: esta é a versão codificada do seguinte URL. Antes que este URL seja chamado pelo gateway SMS, os parâmetros $reporttype e $messageid serão substituídos pelos valores apropriados:

http://192.168.1.23/proc.php?reporttype=$reporttype&
messageid=$messageid

será chamado como:
http://192.168.1.23/proc.php?reporttype=deliveredtonetwork& messageid=ERFAV23D

A lista de palavras-chave que você pode usar no reporturl são:
$reporttype
$messageid
$statuscode
$statusmessage
$fromstation
$fromconnection
$fromaddress
$tostation
$toconnection
$toaddress
$text
$createdate
$submitdate
$receiveddate
O
messagecount Especifica o número exato de mensagens que você deseja enviar. Se definido, é necessário indexar os parâmetros 'recipient', 'messagetype' e 'messagedata'. O tutorial detalhado sobre 'messagecount' pode ser encontrado aqui. número
(valor padrão:
1)
messagecount=6 O
maxresponse Este número especifica o máximo de mensagens sobre as quais você receberá feedback. Se você exceder esse número, suas mensagens serão enviadas, mas você não receberá feedback sobre elas. Por padrão, este parâmetro é definido como 500 mensagens. número maxresponse=1000 O
vp Especifica o período de validade para sua mensagem.

O valor deve usar o seguinte formato de data: AAAA.MM.DD hh:mm:ss. O valor deve ser codificado em URL.
Leia este tutorial para mais informações.
valor de data no formato AAAA.MM.DD hh:mm:ss vp=2019.01.28.+10%3A07%3A05 O

* M = Parâmetro obrigatório, O = Parâmetro opcional

Parâmetros de resposta
(formato de resposta xml)

Parâmetro Descrição Valores possíveis Exemplo
acceptreport Contém a resposta para a solicitação de envio de um único endereço de destinatário. Se muitos destinatários foram especificados, um acceptreport será incluído na resposta para cada destinatário. A ordem dos acceptreports corresponderá à ordem dos endereços dos destinatários.  
<acceptreport>
   <statuscode>0</statuscode>
   <statusmessage>Mensagem aceita para entrega</statusmessage>
   <messageid>ERFAV23D</messageid>
   <recipient>06203105366</recipient>
</acceptreport>
acceptreport.statuscode Contém um valor inteiro para indicar sucesso ou falha. Se o valor for 0, significa que a mensagem foi aceita para entrega. Se o valor for maior que 0, significa que houve um erro e a mensagem não foi aceita para entrega. Valor inteiro, maior ou igual a 0. Menor que 32768. <statuscode>0</statuscode>
acceptreport.statusmessage Contém uma representação textual do código de status. Se a mensagem foi aceita, o valor será "Mensagem aceita para entrega". Se a mensagem não foi aceita para entrega, você pode encontrar a mensagem de erro neste campo. valor de string, comprimento máximo de 1024 caracteres <statusmessage>Mensagem aceita para entrega</statusmessage>
acceptreport.messageid Contém uma referência de mensagem que pode ser usada para rastrear a mensagem no gateway de SMS. Esta referência de mensagem também é usada para identificar relatórios de entrega à rede e ao aparelho ou para consultar informações sobre a mensagem. valor de string, comprimento máximo de 16 caracteres <messageid>ERFAV23D</messageid>
acceptreport.recipient Contém o endereço do destinatário. valor de string, comprimento máximo de 16 caracteres <recipient>06203105366</recipient>
Resumo

Este artigo foi sobre a ação 'sendmessage' da API HTTP. Com esta ação, você pode enviar mensagens de texto SMS e muitos outros tipos de mensagens para qualquer destinatário através do Ozeki SMS Gateway. Você viu exemplos de respostas e algumas requisições HTTP adicionais com descrição, valores possíveis e exemplos.

Se você gostaria de saber mais sobre o status de entrega de suas mensagens, sinta-se à vontade para clicar na página sobre status de entrega de SMS. Se você gostaria de obter um modelo de URL, visite a página correspondente.

Se você gostaria de usar esta solução em situações reais, baixe o Ozeki SMS Gateway e comece a usá-lo agora!

More information