1. Objetivo
Este guia de integração tem como
objetivo a demonstração dos serviços de captura b2b.
2.
Tecnologia
Os serviços descritos neste
manual seguem as especificações SOAP 1.1/ WSDL 1.0 implementados sobre
Microsoft WCF (Windows Communication Foundation) garantindo a
interoperabilidade com outras plataformas tecnológicas. Para maiores
informações acesse:
- MSDN
Library
- Java
Interoperability references
- http://www.kevingao.net/wcf-java-interop
- http://geekswithblogs.net/ballhaus/archive/2009/12/28/net-wcf-and-java-ws-interoperability-part1.aspx
- http://stackoverflow.com/questions/1752072/wcf-and-java-interop
3. Serviços
A iVarejo fornece dois tipos de
serviços de captura. Um síncrono integrado com modelos de risco e fraude que
fornecem respostas online e um assíncrono que suporta modelos de risco e fraude
que realizam análises automática/manual em seu fluxo decisório.
Diagrama de SequenciaAbaixo temos o diagrama de sequência que demonstra a ordem de execução
dos métodos fornecidos com as suas respectivas mensagens, trocadas
entre o e-Commerce e a plataforma iVarejo.
3.1. Serviço
ServicoCapturaSincrona.svc
3.1.1.
EnviarDadosCompra
Este método será utilizado para o
envio dos pedidos de compra para que seja iniciado o processo de pagamento via
iVarejo. Este método orquestrará o envio dos pedidos para os modelos de
risco/fraude.
Como resposta, será informado o
sucesso no cadastro do pedido. Não será retornado o status da
aprovação/reprovação, dado que o processo de análise é assíncrono. Para tal
finalidade utilizar os métodos ProcessarTransacaoCompra
descrito na próxima sessão.
- Mensagem
de Request – DadosCompra
- Mensagem
de Retorno – RetornoEnvioDadosCompra
- Códigos
de Retorno
- IVJ.ECOMMERCE.RET.001:
Proposta registrada com sucesso.
- Exceções
- IVJ.ECOMMERCE.ERR.001:
Acesso não autorizado.
- IVJ.ECOMMERCE.ERR.007:
Pedido já cadastrado.
- IVJ.ECOMMERCE.INTERNALFAULT:
Erro interno.
DadosCompra
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
CodigoEntidade
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o originador B2B.(GUID)
|
CodigoCanal
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o canal de captura do originador B2B.(GUID)
|
Pedido
|
Pedido
|
Sim
|
Dados do Pedido a ser capturado.
|
Pedido
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
NumeroPedido
|
String
|
Sim
|
Número do pedido gerado pelo sistema
do Originador B2B.
|
ValorPedido
|
Decimal
|
Sim
|
Valor total do pedido.
|
NumeroPrestacoes
|
Int
|
Sim
|
Número de prestações escolhida no ato
da compra.
|
ValorPrestacao
|
Decimal
|
Não
|
Valor de cada prestação já calculada
pelo sistema do Originador B2B. Caso essa informação não seja preenchida o
Sistema iVarejo fará o cálculo.
|
DadosEstimadaEntrega
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Não
|
Data estimada da entrega pelo Originador
B2B. Caso esta data seja informada, a data do primeiro boleto será a soma
desta com a regra de negócio de Dias Vencimento Primeiro Boleto.
|
DadosComprador
|
DadosComprador
|
Sim
|
Dados da Empresa Compradora.
|
ItensPedido
|
Collection
<ItemPedido>
|
Sim
|
Itens que compõe o pedido do
fabricante.
|
DadosComprador
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
RazaoSocial
|
String
|
Sim
|
Razão Social da empresa compradora.
|
NomeFantasia
|
String
|
Não
|
Nome fantasia da empresa compradora.
|
CNPJ
|
String
|
Sim
|
CNPJ da empresa compradora.(Sem
formatação)
|
InscricaoEstadual
|
String
|
Sim
|
Inscrição estadual da empresa
compradora.
|
InscricaoMunicipal
|
String
|
Sim
|
Inscrição municipal da empresa
compradora.
|
TipoRegimeTributario
|
String
|
Sim
|
Tipo do regime tributário empresa
compradora.
- Valores Enumeração:
S: Simples Nacional;
LP: Lucro Presumido;
LR: Lucro Real.
|
ExecutaRetencaoISS
|
Boolean
|
Sim
|
Identifica se a empresa compradora
executa retenção de ISS.
|
DataFundacao
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Sim
|
Data da fundação da empresa.
|
EmailContato
|
String
|
Sim
|
Email de contato da empresa
compradora.
|
EmailCobranca
|
String
|
Sim
|
Email de cobrança da empresa
compradora. Os boletos serão enviados para este email.
|
QuantidadeFiliais
|
Integer
|
Sim
|
Quantidade de Filiais.
|
QauntidadeFuncionarios
|
Integer
|
Sim
|
Quantidade de Funcionários.
|
EnderecoComercial
|
Endereco
|
Sim
|
Endereço comercial da empresa
compradora.
|
EnderecoCobranca
|
Endereco
|
Sim
|
Endereço de cobrança da empresa
compradora.
|
Telefones
|
Collection
<Telefone>
|
Sim (Telefone Comercial obrigatório)
|
Lista de telefones de contato da
empresa compradora.
|
ContatoEmpresa
|
ContatoEmpresa
|
Sim
|
Contato do comprador na empresa
compradora.
|
Faturamentos
|
Collection
<Faturamento>
|
Não
|
Informações do faturamento da empresa
compradora. A lista pode conter um ou mais faturamentos, de preferencias do
mais recente para o mais antigo.
|
Socios
|
Collection
<Socio>
|
Não
|
Estrutura societária da empresa
compradora.
|
ReferenciasBancarias
|
Collection
<ReferenciaBancaria>
|
Não
|
Referências bancárias da empresa
compradora.
|
ContatoEmpresa
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
Nome
|
String
|
Sim
|
Nome do funcionário comprador da
empresa compradora.
|
CPF
|
String
|
Sim
|
CPF do funcionário comprador da
empresa compradora.
|
DocumentoIdentidade
|
String
|
Sim
|
Número de identidade do funcionário
comprador da empresa compradora.
|
OrgaoExpedidorDocIdentidade
|
String
|
Sim
|
Órgão expedidor do documento de
identidade do funcionário comprador da empresa compradora.
|
DataExpedicaoDocIdentidade
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Sim
|
Data expedição do documento de
identidade do funcionário comprador da empresa compradora.
|
EmailContato
|
String
|
Sim
|
Email do funcionário comprador da
empresa compradora.
|
Telefones
|
Collection
<Telefone>
|
Sim (Telefone Comercial obrigatório)
|
Lista de telefones de contato do
funcionário comprador da empresa compradora.
|
Enderecos | Collection
<Endereco>
| Não | Lista de endereços do
funcionário comprador da empresa compradora.
|
ItemPedido
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
IdItemPedido
|
String
|
Sim
|
Identificador do item fornecido pelo
fabricante.
|
Descricao
|
Sting
|
Sim
|
Descrição do item.
|
Quantidade
|
Integer
|
Sim
|
Quantidade de itens.
|
ValorUnitario
|
Decimal
|
Sim
|
Valor do item.
|
Modelo
|
String
|
Não
|
Código do modelo.
|
PartNumber
|
String
|
Não
|
PartNumber do item fornecido pelo
fabricante.
|
Faturamento
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
Mes
|
Integer
|
Sim
|
Mês de Faturamento.
|
Ano
|
Integer
|
Sim
|
Ano de Faturamento.
|
Valor
|
Decimal
|
Sim
|
Valor do faturamento do período
informado.
|
ReferenciaBancaria
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
Banco
|
String
|
Sim
|
Número do Banco.
(Lista Febraban)
|
NomeBanco
|
String
|
Sim
|
Nome do Banco.
|
Agencia
|
String
|
Sim
|
Número da agência.
|
Conta
|
String
|
Sim
|
Número da conta.
|
DigitoConta
|
String
|
Sim
|
Digito verificador da conta.
|
DataAberturaConta
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Sim
|
Data de abertura da conta.
|
TipoConta
|
Integer
|
Sim
|
Tipo de Conta.
- Valores Enumeração:
1: Comum;
2: Especial;
3: Poupança;
4: Nenhum;
5: Outros.
|
Socio
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
Nome
|
String
|
Sim
|
Nome do sócio.
|
NomeMae
|
String
|
Sim
|
Nome da mãe do sócio.
|
NomePai
|
String
|
Não
|
Nome do pai do sócio.
|
CPF
|
String
|
Sim
|
CPF do sócio.
|
DocumentoIdentidade
|
String
|
Sim
|
Número de identidade do sócio.
|
OrgaoExpedidorDocIdentidade
|
String
|
Não
|
Órgão expedidor do documento de identidade do sócio.
|
DataExpedicaoDocIdentidade
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Não
|
Data expedição do documento de
identidade do sócio.
|
DataNascimento
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Não
|
Data de nascimento do sócio.
|
Telefones
|
Collection
<Telefone>
|
Sim
|
Lista de telefones de contato do sócio.
|
Enderecos
|
Collection <Endereco>
|
Sim
|
Lista de endereços do sócio.
|
Sexo
|
Integer
|
Sim
|
Sexo do sócio.
- Valores Enumeração:
0: Não Informado;
1: Masculino;
2: Feminino.
|
EstadoCivil
|
Integer
|
Sim
|
Estado civil do sócio.
- Valores Enumeração:
0: Não Informado;
1: Solteiro;
2: Casado;
3: Separado;
4: Divorciado;
5: Viuvo;
6: Concubinado.
|
PercentualParticipacao
|
Decimal
|
Não
|
Percentual participação do sócio.
|
DataEntradaSociedade
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Não
|
Data da entrada do sócio.
|
Endereco
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
Logradouro
|
String
|
Sim
|
Descrição do logradouro.
|
Numero
|
String
|
Sim
|
Número do logradouro.
|
Complemento
|
String
|
Sim
|
Complemento.
|
CEP
|
String
|
Sim
|
CEP do logradouro.
|
Bairro
|
String
|
Sim
|
Bairro.
|
Cidade
|
String
|
Sim
|
Cidade.
|
UF
|
String
|
Sim
|
Estado.
|
Tipo
|
Integer
|
Sim
|
Tipo do endereço.
- Valores Enumeração:
0: Não Informado;
1: Residencial;
2: Comercial;
3: Correspondência;
4: Cobrança;
5: Filial;
6: Socios.
|
Telefone
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
Tipo
|
Integer
|
Sim
|
Tipo de Telefone
- Valores Enumeração:
1: Residencial;
2: Comercial;
3: Celular;
4: Fax.
|
DDI
|
String
|
Não
|
Código DDI do telefone.
|
DDD
|
String
|
Sim
|
Código DDD do telefone.
|
Numero
|
String
|
Sim
|
Número do telefone.
|
Ramal
|
String
|
Não
|
Número do ramal.
|
Propriedade
|
Integer
|
Sim
|
Propriedade do telefone:
- Valores Enumeração:
0: Não Informado;
1: Próprio;
2: Recado;
3: Pais e Parentes;
4: Conjuge;
5: Outros.
|
RetornoEnvioDadosCompra
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
NumeroPedido
|
String
|
Sim
|
Número do pedido gerado pelo sistema
do Originador B2B.
|
CodigoEntidade
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o originador B2B.(GUID)
|
CodigoCanal
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o canal de captura do originador B2B.(GUID)
|
CodigoRetorno
|
String
|
Sim
|
Código de retorno com o status da
transação.
|
DataHoraProcessamento
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Sim
|
Data/hora do processamento do pedido.
|
IdTransacao
|
String
|
Sim
|
Número da transação registrada na
iVarejo associada à proposta enviada pelo Originador B2B.(GUID)
|
3.1.2.
ProcessarTransacaoCompra
Este método será utilizado obtenção
do processamento da transação de compra com o retorno dos estados de aprovação/reprovação
de um pedido pelos modelos de risco/fraude.
Uma vez que uma proposta é
submetida para análise com sucesso, poderá ser obtido, num período máximo de 5
minutos, os status de aprovação automática, reprovação ou em análise. Caso o
modelo de risco sinalize à iVarejo a necessidade de aprovação manual, o
resultado da análise da proposta poderá levar até 48 horas, sendo necessária a
verificação diária através da chamada do método em questão.
- Mensagem
de Request – DadosTransacaoCompra
- Mensagem
de Retorno – RetornoProcessamentoCompra
- Códigos
de Retorno
- IVJ.ECOMMERCE.RET.005:
Proposta em processo de análise.
- IVJ.ECOMMERCE.RET.002:
Proposta aprovada.
- IVJ.ECOMMERCE.RET.003:
Proposta reprovada.
- Exceções
- IVJ.ECOMMERCE.ERR.001:
Acesso não autorizado.
- IVJ.ECOMMERCE.ERR.002:
Pedido não encontrado.
- IVJ.ECOMMERCE.ERR.004
- "|MSG1:A data da entrada não pode ser menor do que a data de hoje."
- "|MSG4:O financiamento deve ter um máximo de <Quantidade máxima de parcelas da regra de negócio> parcelas."
- "|MSG5:O financiamento deve ter um mínimo de <Quantidade mínima de parcelas da regra de negócio> parcelas."
- "|MSG6:O financiamento deve ter um valor máximo de <Valor máximo para o parcelamento da regra de negócio>."
- "|MSG7:O financiamento deve ter um valor mínimo de <Valor mínimo para o parcelamento da regra de negócio>."
- "|MSG8:O CPF informado não é válido."
- IVJ.ECOMMERCE.INTERNALFAULT:
Erro interno.
DadosTransacaoCompra
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
CodigoEntidade
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o originador B2B.(GUID)
|
CodigoCanal
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o canal de captura do originador B2B.(GUID)
|
IdTransacao
|
String
|
Sim
|
Número da transação registrada na
iVarejo associada à proposta enviada pelo Originador B2B.(GUID)
|
RetornoProcessamentoCompra
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
NumeroPedido
|
String
|
Sim
|
Número do pedido gerado pelo sistema
do Originador B2B.
|
CodigoEntidade
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o originador B2B.(GUID)
|
CodigoCanal
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o canal de captura do originador B2B.(GUID)
|
CodigoRetorno
|
String
|
Sim
|
Código de retorno com o status da
transação.
|
DataHoraProcessamento
|
DateTime
(yyyy-mm-ddThh:mm:ss)
|
Sim
|
Data/hora do processamento do pedido.
|
IdTransacao
|
String
|
Sim
|
Número da transação registrada na
iVarejo associada à proposta enviada pelo Originador B2B.(GUID)
|
PagamentoAutorizado
|
Boolean
|
Sim
|
Código de retorno com o status da
transação.
|
3.1.3.
ObterBoletosCompra
Este método será utilizado
requisitar a emissão dos boletos de um pedido de um determinado fabricante.
- Mensagem
de Request – DadosTransacaoCompra
- Mensagem
de Retorno – RetornoBoletosCompra
- Códigos
de Retorno
- IVJ.ECOMMERCE.RET.006:
Boletos emitidos com sucesso.
- Exceções
- IVJ.ECOMMERCE.ERR.001:
Acesso não autorizado.
- IVJ.ECOMMERCE.ERR.002:
Pedido não encontrado.
- IVJ.ECOMMERCE.INTERNALFAULT: Erro interno
DadosTransacaoCompra
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
CodigoEntidade
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o originador B2B.(GUID)
|
CodigoCanal
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o canal de captura do originador B2B.(GUID)
|
IdTransacao
|
String
|
Sim
|
Número da transação registrada na
iVarejo associada à proposta enviada pelo Originador B2B.(GUID)
|
RetornoStatusProposta
|
Nome Atributo
|
Tipo
|
Obrigatório
|
Descrição
|
CodigoEntidade
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o originador B2B.(GUID)
|
CodigoCanal
|
String
|
Sim
|
Código gerado pela iVarejo para identificar
o canal de captura do originador B2B.(GUID)
|
CodigoRetorno
|
String
|
Sim
|
Código de retorno com o status da
transação.
|
UrlImpressaoBoletos
|
String
|
Sim
|
URL de impressão dos boletos.
|
|