Serviço de Integração T-ClearSale & A-ClearSale Versão 2.7 1 Serviço de Integração Data Descrição Responsável 13/05/2008 16/10/2008 16/06/2009 Criação do Documento Atualização do documento com a estrutura de telefones Versionamento do documento João Paulo Prado João Paulo Prado Ronaldo Sabino 23/06/2009 Erasmo Sogabe 03/09/2009 Atualização do documento com informações extras sobre os métodos Atualização do documento com observações adicionais nos campos obrigatórios Atualização do documento com observações adicionais nos campos obrigatórios Atualização do documento para retirar linhas em branco na tabela ITEM e de tags que não consta na estrutura do XML. Inclusão de endereços de homologação e produção do web service Atualização da estrutura do XML 14/04/2010 Revisão do Documento e inclusão de um novo campo Elisângela Santos 22/07/2010 Alteração na Estrutura do XML Daniele Soares 21/10/2010 Atualização de métodos e inclusão de XSD Daniele Soares 03/11/2010 Inclusão dos Significados dos Status Daniele Soares 19/01/2011 Daniele Soares 04/03/2011 Atualização do documento com informações extra sobre Connections Codificação na estrutura do XML 17/03/2011 Inclusão de Processamento de Pagamento Daniele Soares 01/04/2011 Alteração na resposta GetPackageStatus Renata Fortes 03/07/2009 27/07/2009 29/07/2009 13/08/2009 Thiago Ferrari Daniele Soares Daniele Soares Helvio Pedreschi Daniele Soares Renata Fortes 2 Serviço de Integração Sumário 1. DIAGRAMA DE SEQÜÊNCIA.................................................................................................................................... 4 2. MÉTODOS ..................................................................................................................................................................... 5 SENDORDERS ......................................................................................................................................................................... 5 GETPACKAGESTATUS ......................................................................................................................................................... 17 GETORDERSTATUS ............................................................................................................................................................. 17 GETORDERSSTATUS ........................................................................................................................................................... 18 GETANALYSTCOMMENTS................................................................................................................................................... 19 ENDEREÇOS ......................................................................................................................................................................... 21 3. APÊNDICE: XSD ........................................................................................................................................................ 22 4. APÊNDICE: TABELAS CÓDIGO E DESCRIÇÃO ............................................................................................... 26 TIPO DE TELEFONE ............................................................................................................................................................. 26 TIPO DE PESSOA................................................................................................................................................................... 26 TIPO DE SEXO ...................................................................................................................................................................... 26 TIPO DE PAGAMENTO.......................................................................................................................................................... 26 BANDEIRA CARTÃO ............................................................................................................................................................. 27 TIPO IDENTIFICAÇÃO .......................................................................................................................................................... 27 LISTA DE STATUS ................................................................................................................................................................. 27 LISTA DE STATUS (DE ENTRADA) ........................................................................................................................................ 28 LISTA DE CÓDIGOS .............................................................................................................................................................. 29 3 Serviço de Integração 2. Diagrama de Seqüência Client Web Service SendOrders(EntityCode, Xml) Xml GetPackageStatus(EntityCode, PackageID) Xml GetOrderStatus(EntityCode, Xml) Xml O Diagrama de Sequência acima representa o processo de comunicação entre Cliente e ClearSale. 4 Serviço de Integração 3. Métodos SendOrders Método para envio dos pedidos a serem analisados pelo ClearSale. Assinatura: xml SendOrders (string entityCode, string xml ) EntityCode: Este código é criado para que sua empresa seja identificada no sistema. Caso não tenha recebido entre em contato com a equipe de suporte ([email protected]). O método recebe uma string com um XML no seguinte formato: <ClearSale> <Orders> <Order> <ID></ID> <Date></Date> <Email></Email> <B2B_B2C></B2B_B2C> <ShippingPrice></ShippingPrice> <TotalItens></TotalItens> <TotalOrder></TotalOrder> <QtyInstallments></QtyInstallments> <DeliveryTimeCD></DeliveryTimeCD> <QtyItems></QtyItems> <QtyPaymentTypes></QtyPaymentTypes> <IP></IP> <GiftMessage></GiftMessage> <Obs></Obs> <Status></Status> <Reanalise></Reanalise> <Origin></Origin> <ReservationDate></ReservationDate> <CollectionData> <ID></ID> <Type></Type> <LegalDocument1></LegalDocument1> <LegalDocument2></LegalDocument2> <Name></Name> <BirthDate></BirthDate> <Email></Email> <Genre></Genre> <Address> <Street></Street> <Number></Number> <Comp></Comp> <County></County> <City></City> <State></State> <Country></Country> <ZipCode></ZipCode> <Reference></Reference> </Address> <Phones> <Phone> <Type></Type> <DDI></DDI> 5 Serviço de Integração <DDD></DDD> <Number></Number> <Extension></Extension> </Phone> </Phones> </CollectionData> <ShippingData> <ID></ID> <Type></Type> <LegalDocument1></LegalDocument1> <LegalDocument2></LegalDocument2> <Name></Name> <BirthDate></BirthDate> <Email></Email> <Genre></Genre> <Address> <Street></Street> <Number></Number> <Comp></Comp> <County></County> <City></City> <State></State> <Country></Country> <ZipCode></ZipCode> <Reference></Reference> </Address> <Phones> <Phone> <Type></Type> <DDI></DDI> <DDD></DDD> <Number></Number> <Extension></Extension> </Phone> </Phones> </ShippingData> <Payments> <Payment> <Sequential></Sequential> <Date></Date> <Amount></Amount> <PaymentTypeID></PaymentTypeID> <QtyInstallments></QtyInstallments> <Interest></Interest> <InterestValue></InterestValue> <CardNumber></CardNumber> <CardBin></CardBin> <CardType></CardType> <CardExpirationDate></CardExpirationDate> <Name></Name> <LegalDocument></LegalDocument> <Address> <Street></Street> <Number></Number> <Comp></Comp> <County></County> <City></City> <State></State> <Country></Country> <ZipCode></ZipCode> </Address> </Payment> </Payments> <Items> <Item> <ID></ID> <Name></Name> <ItemValue></ItemValue> <Generic></Generic> 6 Serviço de Integração <Qty></Qty> <GiftTypeID></GiftTypeID> <CategoryID></CategoryID> <CategoryName></CategoryName> </Item> </Items> <Passangers> <Passanger> <Name></Name> <FrequentFlyerCard></FrequentFlyerCard> <LegalDocumentType></LegalDocumentType> <LegalDocument></LegalDocument> <Passanger> </Passangers> <Connections> <Connection> <Company></Company> <FlightNumber></FlightNumber> <FlightDate></FlightDate> <Class></Class> <From></From> <To></To> <DepartureDate></DepartureDate> <ArrivalDate></ArrivalDate> </Connection> </Connections> </Order> </Orders> </ClearSale> 7 Serviço de Integração Segue abaixo a mesma versão deste XML, mas desmembrado e uma tabela de informações. <ClearSale> <Orders> <Order> <ID></ID> <Date></Date> <Email></Email> <B2B_B2C></B2B_B2C> <ShippingPrice></ShippingPrice> <TotalItens></TotalItens> <TotalOrder></TotalOrder> <QtyInstallments></QtyInstallments> <DeliveryTimeCD></DeliveryTimeCD> <QtyItems></QtyItems> <QtyPaymentTypes></QtyPaymentTypes> <IP></IP> <GiftMessage></GiftMessage> <Obs></Obs> <Status></Status> <Reanalise></Reanalise> <Origin></Origin> <ReservationDate></ReservationDate> Order (Pedido) Nome Descrição Tipo Tamanho Obrigatório ID Código do pedido Texto 50 S Date Data do pedido Email B2B_B2C ShippingPrice TotalItens Email do pedido Tipo do ecommerce Valor do Frete Valor do Itens Texto Texto Decimal Decimal 100 3 (20,4) (20,4) S N N S TotalOrder QtyInstallments DeliveryTimeCD QtyItems QtyPaymentTypes IP GiftMessage Valor Total do Pedido Quantidade de Parcelas Prazo de Entrega Quantidade de Itens Quantidade de Pagamentos IP do Pedido Mensagem de Presente Decimal Número Texto Número Número Texto Texto (20,4) (1,0) 50 (10,0) (10,0) (25) 8000 S N N N N N N Obs Status Observação do Pedido Status do Pedido (na entrada) (Lista de status (de entrada) Texto Número 8000 (1,0) Reanalise Número (1,0) Origin Marcação que indica se o pedido será reanalisado ou não (1 caso for, 0 caso não) Origem do Pedido N N (se não for enviada a tag o pedido entrará como novo ) N Texto 150 ReservationDate Data de reserva de Voo Data (yyyy-mmddThh:mm:ss) Data (yyyy-mmddThh:mm:ss) S N N(somente empresas de passagens aéreas) 8 Serviço de Integração <CollectionData> <ID></ID> <Type></Type> <LegalDocument1></LegalDocument1> <LegalDocument2></LegalDocument2> <Name></Name> <BirthDate></BirthDate> <Email></Email> <Genre></Genre> <Address> <Street></Street> <Number></Number> <Comp></Comp> <County></County> <City></City> <State></State> <Country></Country> <ZipCode></ZipCode> <Reference></Reference> </Address> <Phones> <Phone> <Type></Type> <DDI></DDI> <DDD></DDD> <Number></Number> <Extension></Extension> </Phone> </Phones> </CollectionData> CollectionData (Dados de Cobrança) Nome Descrição Tipo Tamanho Obrigatório ID Código do cliente Type Pessoa Física ou Jurídica (Lista de Tipos de Pessoa) Texto 50 S LegalDocument1 CPF ou CNPJ Texto 100 S LegalDocument2 RG ou Inscrição Estadual Texto 100 N Name Nome do cliente Texto 500 S BirthDate Data de Nascimento Email Email Texto 150 N Genre Sexo (Lista de Tipo de Sexo) Texto 1 N Address.Street Nome do logradouro (Sem abreviações) Texto 200 S Address.Number Número do Endereço Texto 15 S Address.Comp Complemento do Endereço (Sem abreviações) Texto 250 N Address.County Bairro do Endereço (Sem abreviações) Texto 150 S Address.City Cidade do Endereço (Sem abreviações) Texto 150 S Address.State Estado do Endereço (Sem abreviações) Texto 2 S Address.Country Pais do Endereço (Sem abreviações) Texto 150 N Address.ZipCode CEP do Endereço Texto 10 S Address.Reference Referência do Endereço (Sem abreviações) Texto 250 N Phones.Phone.Type Tipo de Telefone (Lista de Tipo de Telefone) Número 1 S Phones.Phone.DDI DDI do Telefone Número 3 N Phones.Phone.DDD DDD do Telefone Número 2 S Phones.Phone.Number Número do Telefone Número 8 S Número S Data (yyyy-mmddThh:mm:ss) N 9 Serviço de Integração <ShippingData> <ID></ID> <Type></Type> <LegalDocument1></LegalDocument1> <LegalDocument2></LegalDocument2> <Name></Name> <BirthDate></BirthDate> <Email></Email> <Genre></Genre> <Address> <Street></Street> <Number></Number> <Comp></Comp> <County></County> <City></City> <State></State> <Country></Country> <ZipCode></ZipCode> <Reference></Reference> </Address> <Phones> <Phone> <Type></Type> <DDI></DDI> <DDD></DDD> <Number></Number> <Extension></Extension> </Phone> </Phones> </ShippingData> ShippingData (Dados de Entrega) Nome Descrição Tipo Tamanho Obrigatório ID Código do cliente Texto 50 S Type LegalDocument1 Pessoa Física ou Jurídica (Lista de Tipos de Pessoa) CPF ou CNPJ Número Texto 100 S S LegalDocument2 Name BirthDate RG ou Inscrição Estadual Nome do cliente Data de Nascimento Email Genre Address.Street Texto Texto Data (yyyy-mmddThh:mm:ss) 100 500 N S N Email Texto 150 N Sexo (Lista de Tipo de Sexo) Nome do logradouro (Sem abreviações) Texto Texto 1 200 N S Address.Number Address.Comp Address.County Número do Endereço Complemento do Endereço (Sem abreviações) Bairro do Endereço (Sem abreviações) Texto Texto Texto 15 250 150 S N S Address.City Cidade do Endereço (Sem abreviações) Texto 150 S Address.State Estado do Endereço (Sem abreviações) Texto 2 S Address.Country Address.ZipCode Pais do Endereço (Sem abreviações) CEP do Endereço Texto Texto 150 10 N S Address.Reference Referência do Endereço (Sem abreviações) Texto 250 N Phones.Phone.Type Tipo de Telefone (Lista de Tipo de Telefone) Número 1 S Phones.Phone.DDI Phones.Phone.DDD DDI do Telefone DDD do Telefone Número Número 3 2 N S Phones.Phone.Number Número do Telefone Número 8 S <Payments> 10 Serviço de Integração <Payment> <Sequential></Sequential> <Date></Date> <Amount></Amount> <PaymentTypeID></PaymentTypeID> <QtyInstallments></QtyInstallments> <Interest></Interest> <InterestValue></InterestValue> <CardNumber></CardNumber> <CardBin></CardBin> <CardType></CardType> <CardExpirationDate></CardExpirationDate> <Name></Name> <LegalDocument></LegalDocument> <Address> <Street></Street> <Number></Number> <Comp></Comp> <County></County> <City></City> <State></State> <Country></Country> <ZipCode></ZipCode> </Address> </Payment> </Payments> Payment (Pagamento) Nome Descrição Tipo Tamanho Obrigatório Sequential Sequencia de realização do pagamento Número (1,0) N Date Data do pagamento Amount Valor cobrado neste pagamento Número (20,4) S PaymentTypeID Tipo de Pagamento (Lista de Tipos de Pagamento) Número (1,0) S QtyInstallments Quantidade de Parcelas Número (2,0) N Interest Taxa de Juros Número (4,2) N InterestValue Valor dos Juros Número (20,4) N CardNumber Número do Cartão Texto 200 N CardBin Número do BIN do Cartão Texto 6 N CardType Bandeira do Cartão (Lista de Bandeiras de Cartão) CardExpirationDate Data da Expiração Texto 50 N Name Nome de Cobrança Texto 150 N LegalDocument Documento da Pessoa de Cobrança Texto 100 N Address.Street Nome do logradouro (Sem abreviações) Texto 200 N Address.Number Número do Endereço Texto 15 N Address.Comp Complemento do Endereço (Sem abreviações) Texto 250 N Address.County Bairro do Endereço (Sem abreviações) Texto 150 N Address.City Cidade do Endereço (Sem abreviações) Texto 150 N Address.State Estado do Endereço (Sem abreviações) Texto 2 N Address.Country Pais do Endereço (Sem abreviações) Texto 150 N Address.ZipCode Address.Reference CEP do Endereço Referência do Endereço (Sem abreviações) Texto Texto 10 250 N N Data (yyyy-mmddThh:mm:ss) S Número N 11 Serviço de Integração IMPORTANTE! Processamento do Pagamento Para empresas que no fluxo de venda o pedido será enviado a ClearSale antes do Processamento definitivo do pagamento é de extrema importância enviar o status do pagamento sendo Aprovado ou Reprovado. A atualização do status do pagamento deve ser realizada no seguinte Web Service: Homologação Web Service: http://homologacao.clearsale.com.br/integracaov2/paymentintegration.asmx Produção Web Service: http://www.clearsale.com.br/integracaov2/paymentintegration.asmx UpdateOrderStatusID Este método atualiza o status do pedido para o status do processamento do pagamento. Assinatura: string UpdateOrderStatusID (string entityCode, string orderID, string statuspedido) EntityCode: Código gerado pela ClearSale, que identifica a sua empresa em nosso sistema. Entre em contato com nossa equipe de suporte ([email protected]) caso não tenha recebido. OrderID: Código do Pedido a ser marcado. Statuspedido: Status de Pagamento que deve ser informado como Aprovado ou Reprovado. O método retorna uma string XML com o seguinte formato: 12 Serviço de Integração <Order> <ID></ID> <Status> </Status> <Score> </Score> </Order> <Items> <Item> <ID></ID> <Name></Name> <ItemValue></ItemValue> <Generic></Generic> <Qty></Qty> <GiftTypeID></GiftTypeID> <CategoryID></CategoryID> <CategoryName></CategoryName> </Item> </Items> Item Nome Descrição Tipo Tamanho Obrigatório ID Código do Produto Texto 50 S Name Nome do Produto Texto 50 S ItemValue Valor Unitário Número (20,4) S Generic Campo Genérico Texto 4000 N Qty Quantidade Número (1,0) S GiftTypeID Presente Número (1,0) N CategoryID Código da Categoria do Produto Número (1,0) N CategoryName Nome da Categoria do Produto Texto 200 N 13 Serviço de Integração IMPORTANTE As seções abaixo Passangers e Connections somente são utilizadas em empresas de PASSAGENS AÉREAS, caso não necessite utilizar esse metodos, favor omitir no XML. Na seção Connections informar somente os dados de origem e destino, não informar as escalas e conexões. Por exemplo: “Para um vôo entre São Paulo (Guarulhos) para Londres, via New York (JFK), você ira informar apenas GRU-LHR, ao invés de GRU-JFK e JFK-LHR.” <Passangers> <Passanger> <Name></Name> <FrequentFlyerCard></FrequentFlyerCard> <LegalDocumentType></LegalDocumentType> <LegalDocument></LegalDocument> <Passanger> </Passangers> Passanger (Passageiro) Nome Descrição Tipo Tamanho Obrigatório Name Nome do Passageiro Texto 100 S FrequentFlyerCard Cartão de Milhagem (Fidelidade) Texto 50 N LegalDocumentType Tipo de Documento de Identificação (Tipo Identificação) Número (1,0) S LegalDocument Número do Documento Texto 50 S 14 Serviço de Integração <Connections> <Connection> <Company></Company> <FlightNumber></FlightNumber> <FlightDate></FlightDate> <Class></Class> <From></From> <To></To> <DepartureDate></DepartureDate> <ArrivalDate></ArrivalDate> </Connection> </Connections> </Order> </Orders> </ClearSale> Connection (Dados do voo) Nome Descrição Tipo Tamanho Obrigatório Company FlightNumber FlightDate Nome da Companhia Aérea Número do Voo Data do Voo Texto Número Data (yyyy-mmddThh:mm:ss) 50 (6,0) S S S Class From To DepartureDate Classe do Assento Origem Destino Data de Embarque Texto Texto Texto Data (yyyy-mmddThh:mm:ss) 10 5 5 S S S S ArrivalDate Data de Desembarque Data (yyyy-mmddThh:mm:ss) S O método retorna um string ( resposta ) no seguinte formato: <ClearSale> <PackageStatus> <TransactionID></TransactionID> <StatusCode></StatusCode> <Message></Message> <Orders> <Order> <ID></ID> <Status></Status> <Score></Score> </Order> </Orders> </PackageStatus> </ClearSale> Verificar valores do StatusCode no apêndice Lista de Códigos 15 Serviço de Integração Observações: 1 – Cada pacote (xml) deve ser limitado em no máximo 10 pedidos. 2 – Cuidado para não confundir Reenvio e Reanalise. Reenvio O reenvio vai depender da letra que esteja na coluna reenviar, da tabela Lista de Códigos. Se for (S) ele será feito baseado na tag StatusCode e no retorno do método Send Orders. Caso seja(N) não precisa reenviar. Reanalise A tag reanalise , só deve ser marcada caso exista à importancia de uma nova análise . Tendo em vista um pedido, que tenha dado entrada no ClearSale, sem erros. Este comando é geralmente utilizado caso exista a necessidade de mandar o pedido novamente com novas alterações nas informações, como por exemplo a troca do número de telefone ou forma de pagamento. 16 Serviço de Integração GetPackageStatus Este é o método para recuperar o status atual do pedido no ClearSale, isso se dá passando o ID de um pacote de pedidos (ao invés de enviar um XML com mais de um pedido, ele te manda uma TransactionID). Assinatura: xml GetPackageStatus (string entityCode, string packageID) EntityCode: Código gerado pela Clear Sale, que identifica a sua empresa em nosso sistema. Entre em contato com nossa equipe de suporte ([email protected]), caso não tenha recebido. PackageID: Código do pacote a ser consultado (retornado na tag TransactionID do retorno do método SendOrders). O método retorna uma string XML com o seguinte formato <PackageStatus> <TransactionID /> <StatusCode></StatusCode> <Message> </Message> </PackageStatus> GetOrderStatus Método para recuperar o status atual dos pedidos no Clear Sale passando pedido a pedido. Assinatura: xml GetOrderStatus (string entityCode, string orderID) EntityCode: Código gerado pela Clear Sale, que identifica a sua empresa em nosso sistema. Entre em contato com nossa equipe de suporte ([email protected]) caso não tenha recebido. OrderID: Código do Pedido a ser consultado. O método retorna uma string XML com o seguinte formato 17 Serviço de Integração <ClearSale> <Orders> <Order> <ID></ID> <Status></Status> <Score></Score> </Order> </Orders> </ClearSale> GetOrdersStatus Método para recuperar o status atual dos pedidos no Clear Sale passando uma lista de pedidos. Assinatura: xml GetOrderStatus(string entityCode, string xml) EntityCode: Código gerado pela Clear Sale que identifica a sua empresa em nosso sistema. Entre em contato com nossa equipe de suporte ([email protected]) caso não tenha recebido. Xml: Xml no formato abaixo. <ClearSale> <Orders> <Order> <ID></ID> <Order> </Orders> </ClearSale> O método retorna uma string XML com o seguinte formato <ClearSale> <Orders> <Order> <ID></ID> <Status></Status> <Score></Score> </Order> </Orders> </ClearSale> 18 Serviço de Integração Retorno Ativo de Status O ClearSale após cada tomada de decisão em nosso sistema, poderá atuar como ativo no processo de integração. O sistema irá submeter os valores abaixo para uma URL especificada pelo cliente. Tipo 1 (POST com Campos): Código do Pedido Status Score Tipo 2 (POST com XML): Formato XML <ClearSale> <ID></ID> <Status></Status> <Score></Score> </ClearSale> O sistema não irá checar problemas de comunicação por parte do cliente. Caso a URL informada esteja indisponível, o sistema não irá tentar submeter às informações novamente. GetAnalystComments Método que recupera os comentários dos analistas inclusos nos pedidos. Assinatura: xml GetAnalystComments (string entityCode, string OrderID, string getAll) EntityCode: Código gerado pela Clear Sale que identifica a sua empresa em nosso sistema. Entre em contato com nossa equipe de suporte ([email protected]) caso não tenha recebido. getAll: No parâmetro getAll o valor que deve ser inserido será : True ou False. True quando desejar retornar todos os comentários inseridos no pedido. False quando desejar retornar apenas o último comentário inserido no pedido. OrderID: Código do Pedido a ser consultado. O método retorna uma string XML com o seguinte formato: 19 Serviço de Integração <Order> <ID></ID> <Date d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" /> <QtyInstallments d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" /> <ShippingPrice d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" /> <ShippingTypeID></ShippingTypeID> <TotalItens></TotalItens> <TotalOrder></TotalOrder> <Status></Status> <Reanalise></Reanalise> <WeddingList d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" /> <ReservationDate d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" /> <ShippingData> <Type d3p1:nil="true" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" /> <BirthDate d3p1:nil="true" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" /> <Phones /> <Address /> </ShippingData> <CollectionData> <Type d3p1:nil="true" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" /> <BirthDate d3p1:nil="true" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" /> <Phones /> <Address /> </CollectionData> <Payments /> <Items /> <Passangers /> <Connections /> <AnalystComments> <AnalystComments> <CreateDate></CreateDate> <Comments></Comments> <UserName></UserName> <Status></Status> <LineName></LineName> </AnalystComments> </AnalystComments> </Order> 20 Serviço de Integração Endereços Para enviar pedidos manualmente acesse a “URL” na Web Service informada abaixo, será necessário informar o “EntityCode”, esse código é gerado pela ClearSale, para identificar a sua empresa em nosso sistema. Após o envio, também é possível acessar a “URL” da aplicação para verificar se o pedido foi recebido com sucesso. Caso não tenha recebido o “EntityCode” ou usuário da aplicação, entre em contato com nossa equipe de suporte ([email protected]). Homologação Web Service: http://homologacao.clearsale.com.br/integracaov2/service.asmx Aplicação: http://homologacao.clearsale.com.br/aplicacao/Login.aspx Produção Web Service: http://www.clearsale.com.br/integracaov2/service.asmx Aplicação: http://www.clearsale.com.br/aplicacao/Login.aspx 21 Serviço de Integração 4. APÊNDICE: XSD <?xml version="1.0" encoding="UTF-8"?> <!--W3C Schema generated by XMLSpy v2008 (http://www.altova.com)--> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="ClearSale"> <xs:complexType> <xs:sequence> <xs:element name="Orders"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Order"> <xs:complexType> <xs:sequence> <xs:element name="ID" type="xs:string"/> <xs:element name="Date" type="xs:dateTime"/> <xs:element minOccurs="1" name="Email" type="xs:string"/> <xs:element minOccurs="0" name="B2B_B2C" type="xs:string"/> <xs:element minOccurs="0" name="ShippingPrice" type="xs:decimal"/> <xs:element minOccurs="1" name="TotalItens" type="xs:decimal"/> <xs:element minOccurs="1" name="TotalOrder" type="xs:decimal"/> <xs:element minOccurs="0" name="QtyInstallments" type="xs:decimal"/> <xs:element minOccurs="0" name="DeliveryTimeCD" type="xs:string"/> <xs:element minOccurs="0" name="QtyItems" type="xs:int"/> <xs:element minOccurs="0" name="QtyPaymentTypes" type="xs:int"/> <xs:element minOccurs="0" name="IP" type="xs:string"/> <xs:element minOccurs="0" name="ShippingType" type="xs:string"/> <xs:element minOccurs="0" name="GiftMessage" type="xs:string"/> <xs:element minOccurs="0" name="Obs" type="xs:string"/> <xs:element minOccurs="0" name="Status" type="xs:string"/> <xs:element minOccurs="0" name="Reanalise" type="xs:byte"/> <xs:element minOccurs="0" name="Origin" type="xs:string"/> <xs:element minOccurs="0" name="Generic" type="xs:string"/> <xs:element name="CollectionData"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" name="ID" type="xs:string"/> <xs:element minOccurs="1" name="Type" type="xs:int"/> <xs:element minOccurs="1" name="LegalDocument1" type="xs:string"/> <xs:element minOccurs="0" name="LegalDocument2" type="xs:string"/> <xs:element minOccurs="1" name="Name" type="xs:string"/> <xs:element minOccurs="0" name="BirthDate" type="xs:dateTime"/> <xs:element minOccurs="0" name="Email" type="xs:string"/> <xs:element minOccurs="0" name="Genre" type="xs:string"/> <xs:element minOccurs="0" name="CompanyIdentificationNumber" type="xs:string"/> <xs:element minOccurs="0" name="CompanyName" type="xs:string"/> <xs:element minOccurs="0" name="StateRegistrationNumber" type="xs:string"/> <xs:element name="Address" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="Street" type="xs:string"/> <xs:element minOccurs="1" name="Number" type="xs:string"/> <xs:element minOccurs="0" name="Comp" type="xs:string"/> <xs:element minOccurs="1" name="County" type="xs:string"/> <xs:element minOccurs="1" name="City" type="xs:string"/> <xs:element minOccurs="1" name="State" type="xs:string"/> <xs:element minOccurs="0" name="Country" type="xs:string"/> <xs:element minOccurs="1" name="ZipCode" type="xs:string"/> 22 Serviço de Integração <xs:element minOccurs="0" name="Reference" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element minOccurs="1" name="Phones"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="Phone"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" name="Type" type="xs:string"/> <xs:element minOccurs="0" name="DDI" type="xs:string"/> <xs:element minOccurs="1" name="DDD" type="xs:string"/> <xs:element name="Number" type="xs:string"/> <xs:element minOccurs="0" name="Extension" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ShippingData"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" name="ID" type="xs:string"/> <xs:element minOccurs="1" name="Type" type="xs:byte"/> <xs:element minOccurs="1" name="LegalDocument1" type="xs:string"/> <xs:element minOccurs="0" name="LegalDocument2" type="xs:string"/> <xs:element minOccurs="1" name="Name" type="xs:string"/> <xs:element minOccurs="0" name="BirthDate" type="xs:dateTime"/> <xs:element minOccurs="0" name="Email" type="xs:string"/> <xs:element minOccurs="0" name="Genre" type="xs:string"/> <xs:element name="Address" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="Street" type="xs:string"/> <xs:element minOccurs="1" name="Number" type="xs:string"/> <xs:element minOccurs="0" name="Comp" type="xs:string"/> <xs:element minOccurs="1" name="County" type="xs:string"/> <xs:element minOccurs="1" name="City" type="xs:string"/> <xs:element minOccurs="1" name="State" type="xs:string"/> <xs:element minOccurs="0" name="Country" type="xs:string"/> <xs:element minOccurs="1" name="ZipCode" type="xs:string"/> <xs:element minOccurs="0" name="Reference" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element minOccurs="1" name="Phones"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="Phone"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" name="Type" type="xs:string"/> <xs:element minOccurs="0" name="DDI" type="xs:string"/> <xs:element minOccurs="1" name="DDD" type="xs:string"/> <xs:element name="Number" type="xs:string"/> <xs:element minOccurs="0" name="Extension" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> 23 Serviço de Integração </xs:complexType> </xs:element> <xs:element name="Payments"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="1" name="Payment"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="Sequential" type="xs:byte"/> <xs:element minOccurs="1" name="Date" type="xs:dateTime"/> <xs:element minOccurs="1" name="Amount" type="xs:decimal"/> <xs:element minOccurs="1" name="PaymentTypeID" type="xs:string"/> <xs:element minOccurs="0" name="QtyInstallments" type="xs:int"/> <xs:element minOccurs="0" name="Interest" type="xs:decimal"/> <xs:element minOccurs="0" name="InterestValue" type="xs:decimal"/> <xs:element minOccurs="0" name="SplipAditionalValue" type="xs:decimal"/> <xs:element <xs:element <xs:element <xs:element <xs:element minOccurs="0" minOccurs="0" minOccurs="0" minOccurs="0" minOccurs="0" name="SlipDate" type="xs:dateTime"/> name="CardNumber" type="xs:string"/> name="CardBin" type="xs:string"/> name="CardType" type="xs:byte"/> name="CardExpirationDate" type="xs:string"/> <xs:element minOccurs="0" name="Name" type="xs:string"/> <xs:element minOccurs="0" name="LegalDocument" type="xs:string"/> <xs:element minOccurs="0" name="Address"> <xs:complexType> <xs:sequence> <xs:element name="Street" type="xs:string"/> <xs:element minOccurs="0" name="Number" type="xs:string"/> <xs:element minOccurs="0" name="Comp" type="xs:string"/> <xs:element minOccurs="0" name="County" type="xs:string"/> <xs:element minOccurs="0" name="City" type="xs:string"/> <xs:element minOccurs="0" name="State" type="xs:string"/> <xs:element minOccurs="0" name="Country" type="xs:string"/> <xs:element minOccurs="0" name="ZipCode" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Items" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="1" name="Item"> <xs:complexType> <xs:sequence> <xs:element name="ID" type="xs:string"/> <xs:element name="Name" type="xs:string"/> <xs:element minOccurs="1" name="ItemValue" type="xs:decimal"/> <xs:element minOccurs="0" name="Generic" type="xs:string"/> <xs:element minOccurs="1" name="Qty" type="xs:integer"/> <xs:element minOccurs="0" name="SupplierDeliveryTime" type="xs:string"/> <xs:element minOccurs="0" name="GiftTypeID" type="xs:int"/> <xs:element minOccurs="0" name="CategoryID" type="xs:int"/> <xs:element minOccurs="0" name="CategoryName" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="Passangers"> 24 Serviço de Integração <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="Passanger"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string" minOccurs="0"/> <xs:element name="FrequentFlyerCard" type="xs:string" minOccurs="0"/> <xs:element name="LegalDocumentType" type="xs:byte" minOccurs="0"/> <xs:element name="LegalDocument" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="Connections"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="Connection"> <xs:complexType> <xs:sequence> <xs:element name="Company" type="xs:string" minOccurs="0"/> <xs:element name="FlightNumber" type="xs:int" minOccurs="0"/> <xs:element name="FlightDate" type="xs:dateTime" minOccurs="0"/> <xs:element name="Class" type="xs:string" minOccurs="0"/> <xs:element name="From" type="xs:string" minOccurs="0"/> <xs:element name="To" type="xs:string" minOccurs="0"/> <xs:element name="DepartureDate" type="xs:dateTime" minOccurs="0"/> <xs:element name="ArrivalDate" type="xs:dateTime" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 25 Serviço de Integração 5. APÊNDICE: Tabelas código e descrição Tipo de Telefone Código 0 1 2 3 4 5 6 Descrição Não definido Residencial Comercial Recados Cobrança Temporário Celular Tipo de Pessoa Código 1 2 Descrição Pessoa Física Pessoa Jurídica Código M F Masculino Feminino Tipo de Sexo Descrição Tipo de Pagamento Código 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Descrição Cartão de Crédito Boleto Bancário Débito Bancário Débito Bancário – Dinheiro Débito Bancário – Cheque Transferência Bancária Sedex a Cobrar Cheque Dinheiro Financiamento Fatura Cupom Multicheque Outros 26 Serviço de Integração Bandeira Cartão Código Descrição 1 Diners 2 MasterCard 3 Visa 4 Outros 5 American Express 6 HiperCard 7 Aura Tipo Identificação Código Descrição 1 CPF 2 CNPJ 3 RG 4 IE 5 Passaporte 6 CTPS 7 Titulo Eleitor 27 Serviço de Integração Lista de Status Código Descrição APA AMA (Aprovação Automática) – Pedido foi aprovado automaticamente segundo parâmetros. (Aprovação Manual) – Pedido aprovado manualmente por tomada de decisão de um analista. (Reprovado Sem Suspeita) – Pedido Reprovado sem Suspeita por falta de contato com o cliente dentro do período acordado e/ou políticas restritivas de CPF (Irregular, SUS ou Cancelados). (Análise manual) – Pedido está em fila para análise ERR Erro NVO (Novo) – Pedido importado e não classificado Score pela analisadora (processo que roda o Score de cada pedido). (Suspensão Manual) – Pedido Suspenso por suspeita de fraude baseado no contato com o “cliente” ou ainda na base ClearSale. (Cancelado pelo Cliente) – Cancelado por solicitação do cliente ou duplicidade do pedido. (Fraude Confirmada) – Pedido imputado como Fraude Confirmada por contato com a administradora de cartão e/ou contato com titular do cartão ou CPF do cadastro que desconhecem a compra. (Reprovação Automática) – Pedido Reprovado Automaticamente por algum tipo de Regra de Negócio que necessite aplicá-la (Obs: não usual e não recomendado). APM RPM SUS CAN FRD RPA Lista de Status (de entrada) Status 0 9 41 45 Descrição Novo (será analisado pelo ClearSale) Aprovado (irá ao ClearSale já aprovado e não será analisado) Cancelado pelo cliente (irá ao ClearSale já cancelado e não será analisado) Reprovado (irá ao ClearSale já reprovado e não será analisado) 28 Serviço de Integração Lista de Códigos Código 00 01 02 03 04 05 06 07 Descrição Transação Concluída Usuário Inexistente Erro na validação do XML Erro ao transformar XML Erro Inesperado Pedido já enviado ou não está em reanalise Erro no Plugin de Entrada Erro no Plugin de Saída Reenviar N N S S S S S N 29