Pacote de SMS

Pacote de SMS

Pacote de SMS pré-pago

Comprar produto

Descrição Técnica

Serviço SendSMS

O serviço fornece operações para enviar um SMS para um terminar a partir de uma página Web ou aplicação desktop e o mecanismo de monitorização do estado de entrega de um SMS enviado.

Serviço Notification

Este serviço fornece operações para efectuar as notificações sobre o estado da recepção do SMS.

Manual de Referência da API

Serviço Operação Descrição
Notification notifySmsDeliveryReceipt

Usada para informar o estado de entrega de uma mensagem SMS previamente enviada (com a operação sendSms do serviço OneAPI/SMS/SendSMS).

SendSMS getSmsDeliveryStatus

Retorna o estado de entrega de uma mensagem SMS enviada através da operação sendSms.

Esta é uma alternativa à utilização da interface de notificação.

sendSms

Envia uma mensagem SMS para um ou mais destinatários. Opcionalmente, é possível notificar um endpoint aquando da alteração do estado de entrega da mensagem.

Serviço Notification

Operações

notifySmsDeliveryReceipt

Usada para informar o estado de entrega de uma mensagem SMS previamente enviada (com a operação sendSms do serviço OneAPI/SMS/SendSMS).

Parâmetros do pedido
correlator : string (mandatório)

O valor opaco enviado pela aplicação cliente (ex. na operação sendSms) é enviado aqui como um contexto de retorno.

deliveryStatus : DeliveryInformation (mandatório)

Indica o estado de entrega para um endereço de destino.

Voltar ao topo

Serviço SendSMS

Operações

getSmsDeliveryStatus

Retorna o estado de entrega de uma mensagem SMS enviada através da operação sendSms.

Esta é uma alternativa à utilização da interface de notificação.

Parâmetros do pedido
requestIdentifier : string (mandatório)

O identificador de um pedido de envio de SMS.

Este é o valor de resultado retornado pela operação sendSms.

Parâmetros de resposta
result : DeliveryInformation (opcional)
Exemplos

Obter o estado de entrega de uma mensagem

O exemplo seguinte mostra como obter o estado de entrega de uma mensagem SMS previamente enviada.

E a correspondente resposta, de sucesso:

Voltar ao topo

sendSms

Envia uma mensagem SMS para um ou mais destinatários. Opcionalmente, é possível notificar um endpoint aquando da alteração do estado de entrega da mensagem.

Parâmetros do pedido
addresses : anyURI (mandatório)

Lista de um ou mais endereços de telefone de destino.

Cada endereço deverá ter o formato tel:+[CÓDIGO_PAÍS][NÚMERO], ex. tel+:351960000001

senderName : string (opcional)

Nome do remetente que irá ser exibido no telefone.

Este nome deverá ter o formato [UMA LETRA][UM ou MAIS: LETRA ou DIGITO], eg. Neo.

A OneAPI define este parâmetro como opcional, no entanto, na nossa implementação este parâmetro é mandatório.

charging : ChargingInformation (opcional)

Este parâmetro não deverá ser utilizador, ou deverá estar a null. Não é usado pela nossa implementação.

message : string (mandatório)

O conteúdo da mensagem SMS.

Se a mensagem apenas utilizar caracteres ASCII, esta poderá ter uma dimensão máxima de 140 caracteres. Caso contrário, poderá ter uma dimensão máxima de 70 caracteres.

receiptRequest : SimpleReference (opcional)

Define o endpoint a notificar quando o estado de entrega do SMS muda; ex. quando a mensagem for entregue no terminal móvel.

Parâmetros de resposta
result : string (mandatório)

O identificador do pedido de envio de SMS.

Pode usar este identificador para obter o estado de entrega (através da operação getSmsDeliveryStatus).

Exemplos

Envio de SMS com notificação de entrega

O seguinte exemplo mostra como enviar um SMS e receber notificação de entrega quando o seu estado de entrega muda (ex. quando a mensagem é entrege no terminal móvel).

E a correspondente resposta, de sucesso:

Quando o SMS é entregue no terminal, a aplicação (i.e. o endpoint indicado no pedido sendSMS) vai receber a seguinte mensagem de notificação:

Voltar ao topo

Notification Entidades

DeliveryInformation

O estado de entrega de uma mensagem SMS enviada a um determinado endereço de destino.

Nome do atributo Descrição
address : anyURI O endereço de destino. ex. tel:+351213456789.
deliveryStatus : DeliveryStatus O estado de entrega.
description : string (opcional) A descrição do estado de entrega.
Voltar ao topo

DeliveryStatus

Estado de entrega de uma mensagem.

Valor Descrição
DeliveredToNetwork Entrega bem sucedida no equipamento de rede responsável pelo encaminhamento do SMS.
DeliveryUncertain Estado de entrega incerto. Por exemplo, porque foi entregue a outra rede.
DeliveryImpossible Não é possível realizar a entrega. A mensagem não pôde ser entregue antes de expirar.
MessageWaiting A mensagem anda está aguardar entrega. Este é um estado temporário, antes da transição para um dos estados anteriores.
DeliveredToTerminal A mensagem foi entregue com sucesso no terminal.
DeliveryNotificationNotSupported Não é possível fornecer notificações de alteração de estado.
Voltar ao topo

SendSMS Entidades

ChargingInformation

Nome do atributo Descrição
Lista de description : string
currency : string (opcional)
amount : decimal (opcional)
code : string (opcional)
Voltar ao topo

DeliveryInformation

O estado de entrega de uma mensagem SMS enviada a um determinado endereço de destino.

Nome do atributo Descrição
address : anyURI O endereço de destino. ex. tel:+351213456789.
deliveryStatus : DeliveryStatus O estado de entrega.
description : string (opcional) A descrição do estado de entrega.
Voltar ao topo

DeliveryStatus

Estado de entrega de uma mensagem.

Valor Descrição
DeliveredToNetwork Entrega bem sucedida no equipamento de rede responsável pelo encaminhamento do SMS.
DeliveryUncertain Estado de entrega incerto. Por exemplo, porque foi entregue a outra rede.
DeliveryImpossible Não é possível realizar a entrega. A mensagem não pôde ser entregue antes de expirar.
MessageWaiting A mensagem anda está aguardar entrega. Este é um estado temporário, antes da transição para um dos estados anteriores.
DeliveredToTerminal A mensagem foi entregue com sucesso no terminal.
DeliveryNotificationNotSupported Não é possível fornecer notificações de alteração de estado.
Voltar ao topo

SimpleReference

Nome do atributo Descrição
endpoint : anyURI
interfaceName : string
correlator : string
Voltar ao topo

Autenticação da API SOAP

Autenticação de um pedido SOAP

Cada pedido deverá conter informação de autenticação para estabelecer a identidade de quem fez o pedido e o token de autorização chamado ESB AccessKey (chave de acesso).

ESB Access Key

Inserir caminho para obter a chave de acesso.

A autorização do uso da API é efectuada através da chave de acesso (ESBAccessKey) que é disponibilizada no final do processo de compra do produto.

Na sua área de cliente encontrará nos detalhes do produto a geração de chaves de acesso que podem ser geradas para si, para outros utilizadores da API registados no SAPO Services ou então por qualquer utilizador.

O elemento "ESBAccessKey" deverá aparecer num SOAP Header da mensagem após o SOAP Header "ESBCredentials".

Exemplo:

ESBCredentials

ESBCredentials é um tipo complexo que é usado para passar as credenciais de modo a autenticar o pedido SOAP.

Elemento Descrição
ESBUsername O email da conta usada para para acederà API.
ESBPassword A palavra-passe que corresponde à conta de email especificada em ESBUsername.
ESBToken O token de acesso que representa as credenciais (ESBUsername + ESBPassword) usadas para comprar o uso da API.

Pedido com ESBUsername e ESBPassword

Pedido com ESBToken

Usar um ESBToken ao invés do ESBUsername e ESBPassword pode ser útil se não pretende dar as suas credenciais a quem está a usar a API.

Para gerar um ESBToken deverá usar o serviço SAPO STS (Security Token Service). O ESB Token é válido por 12 horas.

Obter um ESB Token:

Resposta:

Token: id42ho234iwh234odihwdw786576413a3836467b94f8c2991f(...)wdwqdqwd

Voltar ao topo