:: Interface para Integração Documentação da Interface de parceiros e clientes com a plataforma MDC SOA Módulo: Tecnologia: Documento: MDC SOA – Fidelity (CRM)/Delivery ASP.NET Webservice Revisão v1.4 / Dezembro 2006 1) Objetivo da Interface: • O objetivo desta interface, é permitir a interatividade de aplicações remotas com a plataforma SOA da MDC e com isso, facilitar a utilização destes serviços por parceiros e/ou em implementações customizadas. 2) Definições de comunicação: • A chamada do webservice deve ser realizada através da porta 80 (http), utilizando o protocolo SOAP ou HTTP POST/GET (URL encoded) e um parser XML para processar as respostas; • Por utilizarmos a porta 80 (http) para receber as solicitações dos sistemas remotos, é necessário permitir o tráfego (inbound) no firewall de cada loja que desejar utilizar esta integração; • O endereço para comunicação segue o formato: http://[IP_EXTERNO]/[Serviço]/[Webservice] 3) Definições dos serviços: • Para integração com o módulo MDC Delivery, faz necessário a interação com dois serviços (webservices) da plataforma MDC, são eles: MDC Fidelity (CRM) – responsável pelo cadastro e acompanhamento dos clientes e o MDC Delivery - que gerencia os pedidos e distribui para os módulos internos de produção e gestão. Estes módulos internos não precisam de nenhuma interface por parte do parceiro e por tanto, ficarão fora do escopo deste projeto. 4) Definição da API: • Para facilitar a compreensão, as API definidas neste documento seguem o padrão VB.NET, mas podem ser consumidas por qualquer outra linguagem. Ex.: (C#, PHP, etc.) 4.0) MDC Test API: <WebMethod()> _ Public Function Echo(ByVal EchoThis As String) As String Códigos de retorno: {String} = Sucesso. Retorno com a mesma string enviada. • • Este método deve ser utilizado apenas para testar a disponibilidade dos serviços durante as etapas de desenvolvimento e pode não estar disponível quando o sistema estiver em produção. Todos os serviços da plataforma MDC, possuem este método disponível para utilização durante o desenvolvimento. MDCi Software · Brasil · RJ 21 2240-4181 · SP 11 5102-2799 · MG 31 3297-2470 www.mdc.com.br 4.1) MDC Fidelity API :: Serviço = mdcsoa, Webservice = ws_crm.asmx <WebMethod()>_ Public Function I001_IncluirCliente(ByVal Nome As String, ByVal Sexo As String, ByVal Formacao As String, ByVal DOB As String, ByVal Bairro As String, Byval Cidade as String, Byval Estado as String, Byval Pais as String, ByVal Telefone As String, ByVal Email As String) As Long Códigos de retorno: > 0 = Sucesso. Retorno deve ser utilizado como o código do cliente (ClienteID); -1 = SQL Error (Problemas no acesso ao banco de dados); -2 = Bairro Inválido; -3 = Formacao Inválida; -4 = Cidade Inválida; -5 = Estado Inválido; -6 = País Inválido; -7 = Email já existente; Observação: Caso o código de retorno seja -7, deve-se utilizar o método I001_GetClienteID para verificar o código de cliente vinculado ao email informado. <WebMethod()>_ Public Function I001_EditarCliente(ByVal ClienteID As Long, ByVal Nome As String, ByVal Sexo As String, ByVal Formacao As String, ByVal DOB As String, ByVal Bairro As String, Byval Cidade as String, Byval Estado as String, Byval Pais as String, ByVal Telefone As String, ByVal Email As String) As Long Códigos de retorno: 0 = Sucesso; -1 = SQL Error (Problemas no acesso ao banco de dados); -2 = Bairro Inválido; -3 = Formacao Inválida; -4 = Cidade Inválida; -5 = Estado Inválido; -6 = País Inválido; -7 = Email já existente; <Webmethod()>_ Public Function I001_GetClienteID(ByVal Email As String) As Long Códigos de retorno: > 0 = Sucesso. Retorno deve ser utilizado como o código do cliente; -1 = SQL Error (Problemas no acesso ao banco de dados); -2 = Email inexistente; MDCi Software · Brasil · RJ 21 2240-4181 · SP 11 5102-2799 · MG 31 3297-2470 www.mdc.com.br 4.2) MDC Delivery API :: Serviço = mdcsoa, Webservice = ws_delivery.asmx <Webmethod()>_ Public Function I001_ImportarProdutos() As String Códigos de retorno: {String} = Listagem de produtos no formato: {Classe};{CódigoProduto};{Nome};{Descrição};{PreçoUnitVenda}| “-1” = SQL Error (Problemas no acesso ao banco de dados); <Webmethod()>_ Public Function I001_IncluirPedidos(Byval ClienteID As Long, Byval Telefone As String, Byval Endereco As String, Byval Bairro As String, Byval Referencia As String, Byval TaxaEntrega As Decimal, Byval Troco As Decimal, Byval Pax As Integer, Byval FormaPgto As String, Byval PagoViaWeb As Byte, Byval VlrTotal as Decimal, Byval VlrDesconto as Decimal, Byval HorarioAgendamento As String, Byval Pedidos As String) As String Parâmetros especiais: {Pax} = # de pessoas no pedido {FormaPgto} = Forma de pagamento em modo texto {VlrTotal} = (Somatório de todos os produtos + taxa de entrega) – Descontos {VlrDesconto} = Valor do desconto concedido {PagoViaWeb} = 1 quando pago no site e 0 nos outros casos {HorarioAgendamento} = Data no formato ISO 8601 - AAAAMMDDTHHMMSS {Pedidos} = ItemID;Qtd;PreçoUnit;[Obs1/Obs2...]@ Códigos de retorno: {String 20 chars} = Sucesso. Retorno com o código da conta (ContaID); “-1” = SQL Error (Problemas no acesso ao banco de dados); “-2” = Não existem caixas abertos; “-3” = Não foi possível incluir uma nova conta no MDC Delivery; “-4” = Não foi possível gravar a comanda recebida na chamada; “-5” = Não foi possível totalizar a conta do MDC Delivery; “-6” = Não foi possível incluir este pedido no MDC Delivery; MDCi Software · Brasil · RJ 21 2240-4181 · SP 11 5102-2799 · MG 31 3297-2470 www.mdc.com.br <Webmethod()>_ Public Function I001_StatusPedido(Byval ContaID as String) As Long Códigos de retorno: {Código} = Informações sobre o PedidoID requisitado. -1 = SQL Error (Problemas no acesso ao banco de dados); 1 = Vinculado ou Pedido em Espera; 2 = Expectativa de Preparo; 3 = Limite de Preparo; 4 = Em Entrega; 5 = Expectativa de Entrega; 6 = Limite de Entrega; 7 = Entregue; 8 = Cancelado; Este documento e todo seu conteúdo - copyright © 2006 MDCi Software. Todos os direitos reservados. As informações neste documento estão sujeitas à alteração sem aviso prévio. A MDCi Software não assume nenhuma responsabilidade por erros que possam ocorrer, decorrentes da utilização das informações contidas neste documento. Revisado Dezembro/2006. MDCi Software · Brasil · RJ 21 2240-4181 · SP 11 5102-2799 · MG 31 3297-2470 www.mdc.com.br