Usando a API de REST para controlar sessões SMS

SMS Gateway fornece uma API de REST que você pode usar em aplicativos da central de contato para que os agentes possam iniciar sessões SMS entre um cliente e o agente SMS. É possível incorporar a API de REST nos aplicativos usando seus comandos cURL. Para propósitos de teste, você também pode interagir com a API de REST diretamente por meio da interface com o usuário de seu Swagger.

Sobre a API de REST

Através da API de REST, é possível controlar sessões SMS executando as operações disponíveis, como criar uma sessão ou testar a configuração. A API de REST controla sessões SMS transmitindo dois tipos de dados JSON para o SMS Gateway:

Você pode testar cada operação diretamente por meio da IU do Swagger da API de REST ou usar comandos cURL para cada operação dentro do aplicativo da central de contato.

As operações que você pode executar

Com a API de REST, é possível executar as seguintes operações.

Se qualquer uma das operações não for bem-sucedida, verifique os logs do SMS Gateway para obter informações sobre o que deu errado.

Acessando a interface com o usuário do Swagger da API de REST

Depois de implementar SMS Gateway, você pode acessar a IU do Swagger da API de REST nas seguintes URLs:

Na página APIs do SMS Gateway resultante, clique em Listar operações para visualizar as operações disponíveis para sessões SMS.

Testando uma operação

  1. Na coluna Tipo de dados, clique no exemplo para preencher previamente o campo Valor.
  2. Modifique os dados JSON no campo Valor inserindo o usuário e o número do telefone do locatário. Importante: o número de telefone do locatário deve corresponder exatamente ao número de telefone do locatário especificado na configuração do SMS Gateway.
  3. Clique em Experimente! para executar a operação.
  4. Se solicitado, insira o nome de usuário e senha. Você será solicitado a autenticar apenas se tiver ativado a autenticação para a API REST.

Depois de tentar a operação, a interface exibe as seguintes informações:

Usando os comandos cURL

Você pode executar operações API de REST usando comandos cURL na linha de comandos ou incorporando-as em um aplicativo. Os sistemas baseados em Linux geralmente incluem cURL, mas se seu sistema operacional não inclui cURL, você pode fazer download e instalar o pacote para seu sistema operacional a partir do curl.haxx.se.

Comandos para enviar solicitações são especificados no seguinte formato:

curl -X <HTTP request> --header 'Content-Type: application/json' --header 'Accept: application/json' -d <JSON data>

Você também pode especificar as opções a seguir. Para obter detalhes sobre cada opção, consulte a documentação do curl.

Exemplos de comando

Os seguintes comandos curl de amostra demonstram várias operações que você pode executar com a API de REST. Ao executar os comandos de amostra, certifique-se de substituir os valores smsUserPhoneNumber e smsTenantPhoneNumber pelos seus próprios valores.

Importante: o número de telefone do locatário deve corresponder exatamente ao número de telefone do locatário especificado na configuração do SMS Gateway. O número de telefone do usuário deve ser especificado em um formato correspondente, conforme requerido por seu provedor SMS. Por exemplo, números de telefone do Twilio requerem um sinal de mais (+), mas os números de telefone do RestcommONE devem ser especificados sem um sinal de mais (+).

Gerenciar Sessões

Gerencie sessões com os seguintes comandos.

Criar uma Sessão
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
   "smsUserPhoneNumber": "+18765554321", \ "smsTenantPhoneNumber": "+12345556789", \
   "smsUserData": { "data": "Data"}, \
   "smsSessionTimeoutCount": 600 \ }' 'http://host:9080/sms.gateway/session'
Exclua uma sessão
curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{ \
   "smsUserPhoneNumber": "+18765554321", \ "smsTenantPhoneNumber": "+12345556789" \
}' 'http://host:9080/sms.gateway/session'

Configuração de Teste

Teste sua configuração com os seguintes comandos.

Teste a configuração do provedor de SMS
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \ -d '{ \ "smsTenantPhoneNumber": "+18765554321", \ "smsUserPhoneNumber": "+12345556789" \
 }' 'http://host:9080/sms.gateway/testConfig/SMSProvider'
Teste a configuração do serviço Watson Assistant
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \ -d '{ \ "smsTenantPhoneNumber": "+18765554321", \ "smsUserPhoneNumber": "+12345556789", \
   "smsUserData": { "data": "Data" }, \
   "smsSessionTimeoutCount": 600 \ }' 'http://host:9080/sms.gateway/testConfig/WCS'
Teste a configuração do servidor de armazenamento em cache XSLD
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \ -d '{ \ "smsTenantPhoneNumber": "+18765554321" \
}' 'http://host:9080/sms.gateway/testConfig/XS'

Integrando o SMS Gateway suporte para Voice Gateway exemplos de comando

Os comandos curl de amostra a seguir demonstram os comandos que o SMS Gateway usa para suportar os clientes enviarem e receberem mensagens SMS para o Voice Gateway durante uma chamada. Ao executar os comandos de amostra, substitua os valores smsUserPhoneNumber e smsTenantPhoneNumber por seus próprios valores. Para que os comandos de amostra funcionem com êxito, deve-se também configurar o host e port em sua URL do servidor SMS Gateway para enviar solicitações. A URL do servidor SMS Gateway pode ser http:// ou https://, dependendo de quando a porta segura é configurada, mas deve sempre incluir o /sms.gateway/smsPipe.

É possível localizar descrições da solicitação e variáveis de resposta na UI do Swagger da API de REST. Veja Acessando a interface com o usuário do Swagger da API de REST.

Importante: o número de telefone do locatário deve corresponder exatamente ao número de telefone do locatário especificado na configuração do SMS Gateway. O número de telefone do usuário deve ser especificado em um formato correspondente, conforme requerido por seu provedor SMS. Por exemplo, números de telefone do Twilio requerem um sinal de mais (+), mas os números de telefone do RestcommONE devem ser especificados sem um sinal de mais (+).

Crie o canal do SMS

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \ -d '{ \ "smsUserPhoneNumber": "+18765554321", \ "smsTenantPhoneNumber": "+12345556789", \
   "smsResponseURL": "https://vgwServer:port/smsRecv", \
   "SmsToken ":" tokenID ", \
   "smsMediaURL": [ "https://media.com/media/l4JyRqcDU93S334KQ/first.gif", \
        "https://media.com/media/l4JyRqcDU93S334KQ/second.gif" ], \
   "smsMessage": "Hello this is a chat message sent from Voice Gateway.",\
   "smsOpaqueData": { "data": "Data"} ,\
   "SmsPipeTimeoutCount": 1200 \ } ''" Http://host:port/sms.gateway/smsPipe

Envie uma mensagem SMS ou MMS usando o ID do Canal SMS

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \ -d '{ \ "smsMessage": "Hello this is a chat message sent from Voice Gateway.",\
   "smsMediaURL": [ "https://media.com/media/l4JyRqcDU93S334KQ/first.gif", \
        "https://media.com/media/l4JyRqcDU93S334KQ/second.gif" ], \
   "smsOpaqueData": { "data": "Data"}
 } ''http://host:port/sms.gateway/smsPipe/pipeID/KzE1MTAzMzAyNTgyOisxOTE5Njk5MjYwzJjZmNhZC1lMzc/sms'

Envie uma mensagem SMS ou MMS sem o ID do Canal SMS

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \ -d '{ \ "smsUserPhoneNumber": "+18765554321", \ "smsTenantPhoneNumber": "+12345556789", \
   "smsMessage": "Hello this is a chat session starting from Voice Gateway."\
   "smsMediaURL": [ "https://media.com/media/l4JyRqcDU93S334KQ/first.gif", \
        "https://media.com/media/l4JyRqcDU93S334KQ/second.gif" ]
 } ''http://host:port/sms.gateway/smsPipe/sms'

Exclua o Canal SMS

curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{}' 'http://host:port/sms.gateway/smsPipe/pipeID/KzE1MTAzMzAyNTgyOisxOTE5Njk5MjYwzJjZmNhZC1lMzc'