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:
https://127.0.0.1:9508/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World
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> |
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
- Criar uma conta de usuário da API SMS HTTP
- Compatibilidade
- Enviar e receber SMS através da API HTTP
- Exemplo de envio de SMS via API HTTP
- Exemplo de recebimento de SMS via API HTTP
- Codificador de url para API HTTP SMS
- Top 10 APIs de SMS para programadores
- Como enviar SMS via HTTPS
- Trabalhos de SMS em lote agendados