Breadcrumbs

Web Services de Notificação

Introdução

Informações sobre os Web Services que o provedor poderá implementar para receber notificações do Portal MPS.

Web Services

Web service

Descrição

MPSEventsNotification

Web Service implementado no cliente para receber notificações do Portal MPS relacionadas a eventos do sistema ou eventos de impressoras

MPSOrdersNotification

Web Service implementado no cliente para receber notificações do Portal MPS relacionadas a alterações em pedidos e entregas atribuídas aos Centros de Distribuição e Fornecedores

Segurança

Para que os dados possam trafegar com segurança, é importante que estes Web Services sejam publicados de forma que possam ser acessados via protocolo seguro (HTTPS).

Enviando uma resposta para o Portal MPS

Todos os métodos que desejar implementar deverão possuir um retorno de uma string em formato XML contendo o resultado da chamada. Abaixo, segue dois exemplos de retorno, sendo um XML com sucesso e outro com falha:

<?xml version="1.0" encoding="utf-8" ?>
<ResultData>
   <ResultValue>true</ResultValue>
   <ResultError />
</ResultData> 

<?xml version="1.0" encoding="utf-8" ?>
<ResultData>
   <ResultValue>false</ResultValue>
   <ResultError>Server Application Unavailable</ResultError>
</ResultData>
  • ResultValue: resultado da chamada ao Web Service. Se foi obtido sucesso ou falha;

  • ResultError: descrição do tipo de erro ocorrido quando houve falha na operação.


Veja, abaixo, um exemplo simples de como montar o retorno para o MPS em C#:

C#
using System.Xml; 

public class ResponseBuilder
{
    private string FormatResultData(bool resultValue, string resultError)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
        XmlElement rootNode = xmlDoc.CreateElement("ResultData"); 

        xmlDoc.InsertBefore(xmlDeclaration, xmlDoc.DocumentElement);
        xmlDoc.AppendChild(rootNode); 

        XmlElement valueNode = xmlDoc.CreateElement("ResultValue");
        XmlElement errorNode = xmlDoc.CreateElement("ResultError"); 

        XmlText valueText = xmlDoc.CreateTextNode(resultValue.ToString());
        XmlText errorText = xmlDoc.CreateTextNode(resultError); 

        rootNode.AppendChild(valueNode);
        rootNode.AppendChild(errorNode); 

        valueNode.AppendChild(valueText);
        errorNode.AppendChild(errorText); 

        return xmlDoc.InnerXml;
    }
}