Pacote de MMS

Pacote de MMS

Pacote de MMS pré-pago

Comprar produto

Descrição Técnica

Serviço SendMessage

Com esta API é possível enviar mensagens MMS (incluindo texto, imagem, vídeo e áudio) para um ou mais destinatários (ex. para terminais móveis).

Esta API é baseada na especificação OneAPI v1.0 MMS definida pela GSMA. Implementa a interface OneAPI SendMessage na forma de um serviço SOAP 1.1 usando Soap with Attachments (SwA) (também suportamos interfaces não-SwA).

Serviço MessageNotification

As notificações de mudança de estado na entrega de um MMS são enviadas para esta interface.

Esta interface é implementada pela aplicação cliente. O seu URI é definido na operação sendMessage.

Serviço SendMessageInlineAttachments

Envia mensagens MMS usando anexos embebidos (este serviço é complementar ao OneAPI/MMS/SendMessage, que espera que o anexos sejam encapsulados em Soap with Attachments).

Manual de Referência da API

Serviço Operação Descrição
MessageNotification notifyMessageDeliveryReceipt

Usada quando uma mensagem MMS previamente enviada (com sendMessage ou sendMessageWithInlineAttachments) tiver mudado o estado.

SendMessage getMessageDeliveryStatus

Obtém o estado de entrega de uma mensagem MMS enviada.

Esta operação pode ser usada em alternativa à interface notification.

sendMessage

Usada para enviar uma mensagem MMS para um ou mais destinatários. Opcionalmente, pode notificar um endpoint quando há uma mudança de estado de entrega.

Esta API usa SwA; para uma interface não SwA use o serviço SendMessageInlineAttachments.

SendMessageInlineAttachments sendMessageWithInlineAttachments

Envia uma mensagem MMS para um ou mais destinatários. Opcionalmente, pode notificar um endpoint aquando da mudança de estado na entrega de uma mensagem.

Serviço MessageNotification

notifyMessageDeliveryReceipt

Usada quando uma mensagem MMS previamente enviada (com sendMessage ou sendMessageWithInlineAttachments) tiver mudado o estado.

Parâmetros do pedido

correlator : string (mandatório)

Usada para informar o estado de entrega de uma mensagem MMS previamente enviada (com a operação sendMessage do serviço OneAPI/MMS/SendMessage).

deliveryStatus : DeliveryInformation (mandatório)

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

Voltar ao topo

Serviço SendMessage

getMessageDeliveryStatus

Obtém o estado de entrega de uma mensagem MMS enviada.

Esta operação pode ser usada em alternativa à interface notification.

Parâmetros do pedido

requestIdentifier : string (mandatório)

O identificador da mensagem MMS enviada.

Este é o valor do resultado retornado pela operação sendMessage.

Parâmetros de resposta

result : DeliveryInformation (opcional)

O estado de entrega.

Estado de entrega de uma mensagem MMS enviada

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

E a correspondente resposta, de sucesso:

Voltar ao topo

sendMessage

Usada para enviar uma mensagem MMS para um ou mais destinatários. Opcionalmente, pode notificar um endpoint quando há uma mudança de estado de entrega.

Esta API usa SwA; para uma interface não SwA use o serviço SendMessageInlineAttachments.

Parâmetros do pedido

addresses : anyURI (mandatório)

Uma lista de um ou mais endereços de telefone de destino.

Um endereço de telefone tem o formato tel:número, onde número é o número de telefone (incluindo o código do país) internacional, ex. tel:+351213456789 (formato E.164).

senderAddress : string (opcional)

O nome do remetente.

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.

subject : string (opcional)

O assunto do MMS.

priority : MessagePriority (opcional)

A prioridade da mensagem.

charging : ChargingInformation (opcional)

Não use este parâmetro. Não é usado pela nossa implementação.

receiptRequest : SimpleReference (opcional)

Define o endpoint que deve ser notificado quando o estado de entrega foi alterado, ex. quando a mensagem foi entregue no terminal.

format : MessageFormat (opcional)

O formato da mensagem.

Actualmente apenas é suportado o MMS.

Parâmetros de resposta

result : string (mandatório)

O identificador da mensagem MMS enviada.

Enviar MMS com notificação de recepção

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

E a correspondente resposta, de sucesso:

Quando o MMS é entregue no terminal, a aplicação irá receber a seguinte mensagem de notificação:

Voltar ao topo

Serviço SendMessageInlineAttachments

sendMessageWithInlineAttachments

Envia uma mensagem MMS para um ou mais destinatários. Opcionalmente, pode notificar um endpoint aquando da mudança de estado na entrega de uma mensagem.

Parâmetros do pedido

addresses : anyURI (mandatório)

Uma lista de um ou mais endereços de telefone de destino.

Um endereço é um URL no formato tel:endereço-completo, onde endereço é um número de telefone internacional (incluí o código do país), ex. tel:+351213456789 (formato E.164).

senderAddress : string (opcional)

O nome do remetente.

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.

subject : string (opcional)

O assunto do MMS.

priority : MessagePriority (opcional)

A prioridade da mensagem.

charging : ChargingInformation (opcional)

Não use este parâmetro. Não é usado pela nossa implementação.

receiptRequest : SimpleReference (opcional)

Define o endpoint que deve ser notificado quando o estado de entrega foi alterado, ex. quando a mensagem foi entregue no terminal.

format : MessageFormat (opcional)

O formato da mensagem.

Actualmente apenas é suportado o MMS.

attachments : Attachments (mandatório)

Uma lista de anexos.

Parâmetros de resposta

result : string (mandatório)

Enviar MMS com anexos

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

E a correspondente resposta, de sucesso:

Voltar ao topo

MessageNotification Entidades

DeliveryInformation

Estado de entrega da mensagem enviada a um determinado endereço de destino.

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

DeliveryStatus

O estado de entrega de uma mensagem.

Valor Descrição
DeliveredToTerminal Entregue com sucesso no Terminal.
DeliveryUncertain Estado de entrega desconhecido. ex. porque foi entregue a outra rede.
DeliveryImpossible Entrega sem sucesso. Não se conseguiu entregar a mensagem antes da sua expiração.
MessageWaiting A mensagem ainda está na fila para ser entregue. É um estado temporário, aguardando transição para um dos estados precendentes.
DeliveredToNetwork Entregue com sucesso no serviço de rede responsável pelo encaminhamento de mensagens.
DeliveryNotificationNotSupported Não é possivel fornecer notificação de aviso de entrega.
Voltar ao topo

SendMessage Entidades

ChargingInformation

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

DeliveryInformation

Estado de entrega da mensagem enviada a um determinado endereço de destino.

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

DeliveryStatus

O estado de entrega de uma mensagem.

Valor Descrição
DeliveredToTerminal Entregue com sucesso no Terminal.
DeliveryUncertain Estado de entrega desconhecido. ex. porque foi entregue a outra rede.
DeliveryImpossible Entrega sem sucesso. Não se conseguiu entregar a mensagem antes da sua expiração.
MessageWaiting A mensagem ainda está na fila para ser entregue. É um estado temporário, aguardando transição para um dos estados precendentes.
DeliveredToNetwork Entregue com sucesso no serviço de rede responsável pelo encaminhamento de mensagens.
DeliveryNotificationNotSupported Não é possivel fornecer notificação de aviso de entrega.
Voltar ao topo

MessageFormat

Formato da mensagem.

Actualmente apenas é suportado o MMS.

Valor Descrição
MMS

A mensagem é uma mensagem MMS.

Actualmente apenas é suportado o MMS.

WapPush
SMS
EMS
SmartMessaging
IM
IMPagerMode
IMLargeMessage
IMFileTransfer
EMail
Voltar ao topo

MessagePriority

Prioridade da mensagem. Deve ser usado o valor Default

Valor Descrição
Default Padrão
Low Baixa
Normal Normal
High Alta
Voltar ao topo

SimpleReference

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

SendMessageInlineAttachments Entidades

Attachment

Lista de anexos.

Nome do atributo Descrição
id : string

O identificador deste anexo.

type : string

Tipo de média do anexo (texto, imagem, áudio ou video).

Como existem inúmeros tipos de dispositivos móveis no mercado, recomenda-se o uso do seguinte subconjunto de médias:

Categoria Tipo de Média Recomendado Notas
text text/plain Texto.
image image/png, image/jpeg, image/gif Imagem.
audio audio/wav, audio/midi, audio/amr Áudio.
video video/3gpp, video/mp4 Vídeo.
body : base64Binary

Os conteúdos do anexo (codificado em base64).

Voltar ao topo

Attachments

Lista de anexos.
Nome do atributo Descrição
Lista de attachment : Attachment (opcional)
Voltar ao topo

ChargingInformation

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

MessageFormat

Formato da mensagem.

Actualmente apenas é suportado o MMS.

Valor Descrição
MMS

A mensagem é uma mensagem MMS.

Actualmente apenas é suportado o MMS.

WapPush
SMS
EMS
SmartMessaging
IM
IMPagerMode
IMLargeMessage
IMFileTransfer
EMail
Voltar ao topo

MessagePriority

Prioridade da mensagem. Deve ser usado o valor Default

Valor Descrição
Default Padrão
Low Baixa
Normal Normal
High Alta
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