Páginas filhas
  • APIs Integrações - Clientes

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Objetivo

Este documento tem como objetivo explicar o funcionamento da integração do Cadastro de Cliente.

Pré-Requisitos e Restrições

  • Necessário a instalação do  serviço do serviço winthor-pedido-venda. Para realizar a instalação desse serviço, segue link com as devidas explicações:

Comece por aqui -> Parametrizações WTA

  • Para realizar o cadastro de clientes no WinThor, acesse o link abaixo:

Como cadastrar cliente na rotina 302?

  • Todos os campos obrigatórios do cadastro de cliente (Rotina 302) serão obrigatórios na API.
  • O atributo activityId, caso não seja enviado, a API utilizará o valor padrão "1" do parâmetro 4013 - Código do ramo de atividade para cadastro de clientes na Ciashop (CODATVCIASHOP) na da rotina 132.

  • O atributo cnaeId, caso não seja enviado, a API utilizar um valor padrão "4729-6/99" do parâmetro 4585- Código do CNAE para cadastro de clientes e-commerce. (CODCNAEECOMMERCE) na da rotina 132.

  • No WinthorWinThor, acessar a rotina 132 - Parâmetros da Presidência, parâmetro 4532 - "Permite alterar o cliente ao receber dados para inserção via ecommerce/API" permite ou não alteração do cadastro de cliente de forma automática ao receber dados do cliente ou pedido via API, por padrão esse campo receberá 'Sim' sendo possível sua configuração por filial. No corpo da requisição o atributo "branchParameterId" é correspondente a filial que permite ou não a alteração.
  • Obrigatoriamente os cadastro de clientes oriundos da integração deverão informar o atributo "customerOrigin" igual a "VT" (VTEX)
  • Ao inserir um novo cadastro a API priorizará o CEP informado no atributo "commercialZipCode".  Caso o CEP seja inválido e/ou a API (terceira de CEP) esteja indisponível, será considerado a Cidade informada "cityId" e posteriormente os atributos inseridos "businessCity", "businessState".
  • Ao integrar clientes será considerado o CNPJ/CPF e IE, se tiver um cadastro com o CNPJ/CPF validaremos a Inscrição estadual para cadastrar/alterar, caso seja uma nova Inscrição estadual, será integrado um novo cadastro.
  • O atributo "sellerId" , caso não seja enviado ou seu valor seja igual a 0, a API utilizará o valor padrão cadastrado no parâmetro "4012 - Código do RCA para cadastro de clientes na Ciashop" na rotina 132.

  • Ao inserir um novo registro, o valor do código RCA será registrado na coluna CODUSUR1 da tabela PCCLIENT, e em caso de alteração de um registro existente, o valor do código RCA será registrado na coluna CODUSUR3 da mesma tabela, mantendo o registro do código RCA inicial na coluna CODUSUR1.

  • O atributo documentType, caso não seja enviado, será gravado automaticamente como A, para AMBOS.

Integração

  • O parâmetro withDeliveryAddress dos endpoints de buscar clientes está disponível a partir da versão 1.2.0.1122 do winthor-pedido-venda
  • No WinThor, o parâmetro  4672 - Aceita validar CEP online nas APIs do WinThor da rotina 132 permite validar se o CEP informado está valido em API terceiros (ViaCEP e ByJG). Caso falso, essa validação não ocorrerá. O padrão do parâmetro é "Sim";
  • Para que seja realizada a busca automática da praça do cliente, o parâmetro 4680 - Permite busca automática do código da praça no cadastro do cliente via API Winthor da rotina 132 deve estar habilitado. Para esse parâmetro existe a seguinte regra:
    • Caso o parâmetro 4680 da rotina 132 esteja habilitado (sim), a API irá consultar o código da praça no cadastrado na rotina 572 do Winthor através do CEP do cliente (a API irá buscar o código cujo CEP está entre CEP inicial e CEP final cadastrado na rotina 572);
      • Caso não encontrado pelo intervalo de CEP, a API pegará o código do parâmetro 4011 - Código da praca para cadastro de clientes na Ciashop  da rotina 132, e caso o mesmo esteja nulo irá setar o valor padrão 1;
    • Caso o parâmetro 4680 da rotina 132 esteja desabilitado (não), a API irá considerar o que foi enviado na requisição (atributo squareId), e caso o mesmo seja nulo ou zero, irá setar o valor padrão 1;


Aviso
titleImportante

Quando não houver preenchimento do campo DATA, exemplo (data de cadastro, data de alteração), nossas APIs retornará por padrão a informação "1900-01-01T00:00:00".

Caso necessário, realizar o ajuste nos cadastros para que a API apresente a data desejada.

Possíveis problemas:

Caso o ambiente esteja utilizando o antivírus Kaspersky, o serviço de consultas de cep que é realizado na integração de clientes VIACEP é bloqueado.

Para que o cadastro de clientes seja integrado com sucesso, é necessário verificar todas restrições referentes ao antivírus ou inativá-lo.

Integração


Totvs custom tabs box
tabsDados integrados com Winthor, Envio Parâmetros/Resposta da Requisição, Listar Dados Cliente
idspasso1,passo2,passo3

A integração consiste em receber e enviar dados que serão utilizados no E-Commerce.

Totvs custom tabs box items
defaultyes
referenciapasso1

Os dados integrados são: 

CUSTOMER              PCCLIENTReferência rotina 302


APIReferência Winthor DescriçãoTipo(Tamanho)ObrigatórioObservações
activityIdpcclient.codatv1

Código da atividade do Cliente - aba dados cadastrais

NUMBER(6,0)Sim
addressInfopcclient.enderent

Não

Esse parâmetro só é retornado no GET da requisição. Não é utilizado para gravar informações;
billingAddresspcclient.endercobEndereço Cobrança - aba endereço cobrançaVARCHAR2(40)Sim
billingAddressNumberpcclient.numerocobNumero do endereço de cobrança - aba endereço cobrançaVARCHAR2(6,0)Não
billingDistrictpcclient.bairrocobBairro - aba endereço cobrança
Totvs custom tabs box
tabsDados integrados com Winthor, Envio Parâmetros/Resposta da Requisição, Listar Dados Cliente
idspasso1,passo2,passo3

A integração consiste em receber e enviar dados que serão utilizados no E-Commerce.

Endereço comercial - aba endereço comercial
Totvs custom tabs box items
defaultyes
referenciapasso1

Os dados integrados são: 

CUSTOMER              PCCLIENTReferência rotina 302
APIReferência Winthor DescriçãoTipo(Tamanho)ObrigatórioObservações
activityIdpcclient.codatv1

Código da atividade do Cliente - aba dados cadastrais

NUMBER(6,0)SimaddressInfopcclient.enderent

Não

Esse parâmetro só é retornado no GET da requisição. Não é utilizado para gravar informações;billingAddresspcclient.endercobEndereço Cobrança - aba endereço cobrançaVARCHAR2(40,0)SimbillingAddressNumberpcclient.numerocobNumero do endereço de cobrança - aba endereço cobrançaVARCHAR2(6,0)NãobillingDistrictpcclient.bairrocobBairro - aba endereço cobrançaVARCHAR2(40,0)

Não

billingIdpcclient.codcobCódigo de cobrança - aba posição financeira - valor padrão "D"VARCHAR2(4,0)

Não

billingStatepcclient.estcobEstado - aba endereço cobrançaVARCHAR2(2,0)

Não

billingZipCodepcclient.cepcobCEP - aba endereço cobrançaVARCHAR2(9,0)SimbranchParameterIdFilial de referência para considerar o parâmetro ALTERACLIAUTOECOMMERCENãobusinessCitypcclient.municentCampo município - aba endereço comercialVARCHAR2(15,0)Não
businessCityIdpcclient.codcidadecomCidade - aba endereço entregaNUMBER(6,0)NãoRelaciona o ID da cidade cadastrado no banco de dados.
businessDistrictpcclient.bairroentBairro - aba endereço comercialVARCHAR2(40,0)SimbusinessStatepcclient.estentEstado - aba endereço entregaVARCHAR2(2,0)Não
cityIdpcclient.codcidadeCidadeNUMBER(6,0)SimRelaciona o ID da cidade cadastrado no banco de dados.
cnaeIdpcclient.codcnaeCNAE - aba capaVARCHAR2(60,0)NãocommercialAddresspcclient.enderent
VARCHAR2(40,0)
Sim

Não

commercialAddressNumber

billingIdpcclient.
numeroent
codcobCódigo de cobrança - aba posição financeira - valor padrão "D"
Numero do endereço comercial - aba endereço entrega
VARCHAR2(
6
4,0)

Não

commercialZipCode

billingStatepcclient.
cepcom
estcob
CEP
Estado - aba endereço
entrega
cobrançaVARCHAR2(
9,0
2)
Sim

Não

complementBillingAddress

billingZipCodepcclient.
complementocob
cepcobCEP
Complemento endereço de cobrança
- aba endereço cobrançaVARCHAR2(
80,0
9)
Não
Sim
complementBusinessAddresspcclient.complementoent

branchParameterIdFilial de referência para considerar os parâmetro ALTERACLIAUTOECOMMERCE e CODPRACACIASHOP

Não
businessCitypccidade.nomecidadeCampo município
Complemento endereço de cobrança
- aba endereço comercialVARCHAR2(80
,0
)Não
complementDeliveryAddress

businessCityIdpcclient.
complementocom
codcidadecomCidade
Complemento endereço de cobrança
- aba endereço entrega
VARCHAR2
NUMBER(
80
6,0)Não
Relaciona o ID da cidade cadastrado no banco de dados.
businessDistrict
corporate
pcclient.
tipofj
bairroent
Tipo de Pessoa
Bairro - aba
capa
endereço comercialVARCHAR2(
1,0
40)Sim
Campo Booleano. true é para pessoa jurídica("J") e false para pessoa física ("F"); Como padrão, caso parâmetro não seja enviado, será definido de acordo com o CGC informado, caso seja enviado um CPF será pessoa física ("F"), caso seja CNPJ será pessoa jurídica("J").

businessStatepcclient.estentEstado - aba endereço entregaVARCHAR2(2)Não
cityIdpcclient.codcidadeCidadeNUMBER(10,0)SimRelaciona o ID da cidade cadastrado no banco de dados.
cnaeIdpcclient.codcnaeCNAE - aba capaVARCHAR2(60)Não
commercialAddresspcclient.enderentEndereço
corporatePhonepcclient.telentTelefone
comercial - aba endereço comercialVARCHAR2(
13,0
40)
NãoNa requisição POST esse parâmetro não é lido. O valor é criado na tabela 'pcclient.telent' a partir do campo 'phone';
Sim
commercialAddressNumber
countryId
pcclient.
codpais
numeroent
Código
Numero do
pais
endereço comercial - aba endereço
comercial
entrega
NUMBER
VARCHAR2(6
,0
)
Sim
Não
createDate

commercialZipCodepcclient.
dtcadastro
cepcomCEP
Data e Hora de cadastro
- aba
dados cadastrais
endereço entrega
DATE
VARCHAR2(
7,0
9)Sim
O formato correto de envio é: "yyyy-MM-dd'T'HH:mm:ss.SSS".
Sendo: yyyy para ano com quatro dígitos, MM para mês com dois dígitos, dd para dia com dois dígitos, HH para hora com dois dígitos, mm para minutos com dois dígitos, ss para segundos com dois dígitos, e SSS para milésimos com três dígitos. Exemplo de input válido: "2021-12-02T15:35:20.003".  Para 'CustomerOrigin' sendo 'VT', o campo não é obrigatório e pega os dados do de data e horário da requisição.
customerOriginSimOs valores aceitos para esse campo são: "VT" - VTEX; "WB" - WEB; "WTN" - Winthor não Web; "WTW" - WTA - Winthor Web; "N" - Nenhum;deliveryAddresspcclient.endercomEndereço - aba endereço entregaVARCHAR2(40,0)NãodeliveryAddressNumberpcclient.numerocomNumero do endereço de entrega - aba endereço entregaVARCHAR2(6,0)NãodeliveryDistrictpcclient.bairrocomBairro - aba endereço entregaVARCHAR2(40,0)NãodeliveryStatepcclient.estcomEstado - aba endereço entregaVARCHAR2(2,0)NãodeliveryZipCodepcclient.CEPENTCEP - aba endereço COMERCIALVARCHAR2(9,0)NãodocumentNãodocumentType*pcclient.tipodocumentoTipo de documento - aba condições comerciais - opçõesVARCHAR2(1,0)NãoOs valores aceitos são 'A' para Ambos, 'C' para Cupom ou 'N' para Nota Fiscal.emailpcclient.emailE-mail - aba endereço comercialVARCHAR2(100,0)NãofinalCostumerpcclient.consumidorfinalConsumidor Final  - aba condições comerciais - opçõesVARCHAR2(1,0)NãoCampo booleano. true para 'S', false para 'N'.ibgeIdpccidade.codibgeNUMBER(10,0)NãoNão é um campo obrigatório porém por redundância, o cliente pode envia-lo para verificar se o ID do IBGE existe no banco de dados. Campo utilizado no POST somente para validação de dados - e o envio deve ser feito pelo body como String.id*pcclient.codcliCódigo - aba capaVARCHAR2(9,0)NãolastChangepcclient.dtultalterData e Hora da última alteração - aba dados cadastraisDATE(7,0)SimO formato correto de envio é: "yyyy-MM-dd'T'HH:mm:ss.SSS".
Sendo: yyyy para ano com quatro dígitos, MM para mês com dois dígitos, dd para dia com dois dígitos, HH para hora com dois dígitos, mm para minutos com dois dígitos, ss para segundos com dois dígitos, e SSS para milésimos com três dígitos. Exemplo de input válido: "2021-12-02T15:35:20.003". 
namepcclient.clienteCampo cliente - Nome do cliente - aba capaVARCHAR2(60,0)SimpaymentPlanIdpcclient.codplpagPlano de pagamento - aba condições comerciais  - parâmetrosNUMBER(4,0)NãopersonIdentificationNumberpcclient.cgcentCNPJ/CPF - aba capaVARCHAR2(18,0)Simphonepcclient.telentTelefone comercial - aba endereço comercialVARCHAR2(13,0)NãosellerIdpcclient.codusur1RCA 1 - Código do RCANUMBER(4,0)SimsquareIdpcclient.codpracaCampo praça - endereço comercialNUMBER(6,0)SimstateInscriptionpcclient.ieentIns. Est./ Produtor - aba dados cadastrais: Informar Inscrição Estadual. Caso não tenha, informar ISENTO. VARCHAR2(15,0)SimtradeNamepcclient.fantasiaFantasia - aba capaVARCHAR2(40,0)Não

Observações da requisição POST:

Se a origem do pedido for "VT": 

  • Será utilizado o CEP para preencher os dados do nome da cidade, nome do estado, e o bairro (tanto comercial, de cobrança e entrega).  Caso os dados da API de consulta falhem, serão utilizados valores informados na requisição do corpo;
  • O parâmetro: "CommercialZipCode" irá definir os campos: 'CepComercial', 'CepEntrega' e 'CepCobranca'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "ComplementBusinessAddress" irá definir os campos: 'ComplementoEnderecoComercial', 'ComplementoEnderecoEntrega' e 'ComplementoEndereçoCobranca'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "CommercialAddressNumber" irá definir os campos: 'NumeroEnderecoComercial', 'NumeroEnderecoEntrega' e 'NumeroEnderecoCobrança'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "CommercialAddress" irá definir os campos: 'EnderecoComercial', 'EnderecoEntrega' e 'EnderecoCobrança'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "Phone" irá definir os campos: 'Telefone comercial', 'TelefoneEntrega' e 'TelefoneCobranca'. Sendo assim, esses valores serão iguais;
  • O CNAE padrão será 4729-6/99;
  • Código Pais será 10581 que representa o Brasil;

complementBillingAddresspcclient.complementocobComplemento endereço de cobrança - aba endereço cobrançaVARCHAR2(80)Não
complementBusinessAddresspcclient.complementoentComplemento endereço de cobrança - aba endereço comercialVARCHAR2(80)Não
complementDeliveryAddresspcclient.complementocomComplemento endereço de cobrança - aba endereço entregaVARCHAR2(80)Não
corporatepcclient.tipofjTipo de Pessoa - aba capaVARCHAR2(1)SimCampo Booleano. true é para pessoa jurídica("J") e false para pessoa física ("F"); Como padrão, caso parâmetro não seja enviado, será definido de acordo com o CGC informado, caso seja enviado um CPF será pessoa física ("F"), caso seja CNPJ será pessoa jurídica("J").
corporatePhonepcclient.telentTelefone - aba endereço comercialVARCHAR2(13)NãoO valor é criado na tabela 'pcclient.telent'.
deliveryPhonepcclient.telcomTelefone comercial - aba endereço de entregaVARCHAR2(13)NãoO valor é criado na tabela 'pcclient.telcom'.
billingPhonepcclient.telcobTelefone comercial - aba endereço de cobrançaVARCHAR2(13)NãoO valor é criado na tabela 'pcclient.telcob'.
countryIdpcclient.codpaisCódigo do pais - aba endereço comercialNUMBER(6,0)Sim
createDatepcclient.dtcadastroData e Hora de cadastro - aba dados cadastraisDATE(7)SimO formato correto de envio é: "yyyy-MM-dd'T'HH:mm:ss.SSS".
Sendo: yyyy para ano com quatro dígitos, MM para mês com dois dígitos, dd para dia com dois dígitos, HH para hora com dois dígitos, mm para minutos com dois dígitos, ss para segundos com dois dígitos, e SSS para milésimos com três dígitos. Exemplo de input válido: "2021-12-02T15:35:20.003".  Para 'CustomerOrigin' sendo 'VT', o campo não é obrigatório e pega os dados do de data e horário da requisição.
customerOrigin


SimOs valores aceitos para esse campo são: "VT" - VTEX; "WB" - WEB; "WTN" - Winthor não Web; "WTW" - WTA - Winthor Web; "N" - Nenhum;
deliveryAddresspcclient.endercomEndereço - aba endereço entregaVARCHAR2(40)Não
deliveryAddressNumberpcclient.numerocomNumero do endereço de entrega - aba endereço entregaVARCHAR2(6)Não
deliveryDistrictpcclient.bairrocomBairro - aba endereço entregaVARCHAR2(40)Não
deliveryStatepcclient.estcomEstado - aba endereço entregaVARCHAR2(2)Não
deliveryZipCodepcclient.CEPENTCEP - aba endereço COMERCIALVARCHAR2(9)Não
document


Não
documentType*pcclient.tipodocumentoTipo de documento - aba condições comerciais - opçõesVARCHAR2(1)NãoOs valores aceitos são 'A' para Ambos, 'C' para Cupom ou 'N' para Nota Fiscal.
emailpcclient.emailE-mail - aba endereço comercialVARCHAR2(100)Sim
emailNfepcclient.emailnfeE-mail NF-e - aba endereço comercialVARCHAR2(3500)NãoCaso esse parâmetro não seja enviado, será replicado o valor do campo 'email' para o 'emailNfe'.
finalCostumerpcclient.consumidorfinalConsumidor Final  - aba condições comerciais - opçõesVARCHAR2(1)NãoCampo booleano. true para 'S', false para 'N'.
ibgeIdpccidade.codibge
NUMBER(10,0)NãoNão é um campo obrigatório porém por redundância, o cliente pode envia-lo para verificar se o ID do IBGE existe no banco de dados. Campo utilizado no POST somente para validação de dados - e o envio deve ser feito pelo body como String.
id*pcclient.codcliCódigo - aba capaVARCHAR2(9)Não
lastChangepcclient.dtultalterData da última alteração - aba dados cadastraisDATE(7)SimO formato correto de envio é: "yyyy-MM-dd'T'HH".
Sendo: yyyy para ano com quatro dígitos, MM para mês com dois dígitos, dd para dia com dois dígitos. Exemplo de input válido: "2021-12-02T00:00". 
namepcclient.clienteCampo cliente - Nome do cliente - aba capaVARCHAR2(60)Sim
paymentPlanIdpcclient.codplpagPlano de pagamento - aba condições comerciais  - parâmetrosNUMBER(4,0)Não
personIdentificationNumberpcclient.cgcentCNPJ/CPF - aba capaVARCHAR2(18)Sim
phone*Não é gravado em tabela nenhumaTelefone comercial - aba endereço comercialVARCHAR2(13)Não
sellerIdpcclient.codusur1RCA 1 - Código do RCANUMBER(4,0)Sim
squareIdpcclient.codpracaCampo praça - endereço comercialNUMBER(6,0)Sim
stateInscriptionpcclient.ieentIns. Est./ Produtor - aba dados cadastrais: Informar Inscrição Estadual. Caso não tenha, informar ISENTO. VARCHAR2(15)Sim
tradeNamepcclient.fantasiaFantasia - aba capaVARCHAR2(40)Não

customerNetId

pcclient.codredeIndica o código da rede do cliente.NUMBER(4,0)Não
mainClientIdpcclient.codcliprinc
NUMBER(9,0)Não
regionIdpcpraca.numregiao
NUMBER(4)Não
wholesalePriceUsespcclient.cliatacadoIndica se Usa preço de atacadoVARCHAR2(1)Não
professionalIdpcclient.codprofissionalIndica o código do profissional.NUMBER(6)Não



Observações da requisição POST:

Se a origem do pedido for "VT": 

  • Será utilizado o CEP para preencher os dados do nome da cidade, nome do estado, e o bairro (tanto comercial, de cobrança e entrega).  Caso os dados da API de consulta falhem, serão utilizados valores informados na requisição do corpo;
  • O parâmetro: "CommercialZipCode" irá definir os campos: 'CepComercial', 'CepEntrega' e 'CepCobranca'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "ComplementBusinessAddress" irá definir os campos: 'ComplementoEnderecoComercial', 'ComplementoEnderecoEntrega' e 'ComplementoEndereçoCobranca'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "CommercialAddressNumber" irá definir os campos: 'NumeroEnderecoComercial', 'NumeroEnderecoEntrega' e 'NumeroEnderecoCobrança'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "CommercialAddress" irá definir os campos: 'EnderecoComercial', 'EnderecoEntrega' e 'EnderecoCobrança'. Sendo assim, esses valores serão iguais;
  • O parâmetro: "corporatePhone" irá definir os campos: 'Telefone comercial', 'TelefoneEntrega' e 'TelefoneCobranca'. Sendo assim, esses valores serão iguais;
  • O CNAE padrão será 4729-6/99;
  • Código do país será 1058 que representa o Brasil;
Totvs custom tabs box items
defaultno
referenciapasso2

Exemplo JSON do envio da requisição e dados do retorno:

Bloco de código
languagejs
titleURI - Cadastrar Cliente
method: 'POST',
url: '/api/wholesale/v1/customer/'
Bloco de código
languagejs
titleBody
{
    "corporate": true,
    "name": "string",
    "personIdentificationNumber": "string",
    "stateInscription": "string",
    "commercialAddress": "string",
    "businessDistrict": "string ",
    "commercialZipCode": "string",
    "email": "string",
	"emailNfe": "string",
    "customerOrigin": "VT",
    "finalCostumer": "false",
    "billingId": "string",
    "paymentPlanId":0,
    "commercialAddressNumber": "string",
    "billingAddressNumber": "string",
    "deliveryAddressNumber": "string",
    "squareId": 0,
    "activityId": 0,
    "complementBillingAddress": "string",
    "complementBusinessAddress": "string",
    "complementDeliveryAddress": "string",
    "BusinessCity": "string",
    "sellerId": 0,
    "businessCity": "string",
    "cityId": 0,
    "countryId": 0,
	"documentType": "A"
}


Exemplo JSON da resposta:  

Bloco de código
languagejs
titleBody Response
{
    "Id": 0
}
Bloco de código
languagejs
titleBody Response - Error
{
    "code": "WT-PV-000000",
    "message": "Erro ao validar itens",
    "detailedMessage": "Lista de validações em details",
    "details": [
        {
            "code": "WT-PV-0000XX",
            "message": "Campo obrigatório",
            "detailedMessage": "Detalhes do campo obrigatório. ",
            "details": []
        }
    ]
}
Totvs custom tabs box items
defaultno
referenciapasso3

Enviar as requisições conforme indicação abaixo para listar os cadastros existentes:

Bloco de código
languagejs
titleURI Parameters - Listar um único cadastro
method: 'GET',
url: '/api/wholesale/v1/customer/'

*PARAMS:*
customerId  : 0             - Informar o código do cliente 
branchId    : 1,2           - Informar o(s) código(s) de filial(is) do cliente
withDeliveryAddress : false - Informe para retornar os endereços de entregas do cliente 
Bloco de código
languagejs
titleURI Parameters - Listar todos cadastros
method: 'GET',
url: '/api/wholesale/v1/customer/list'

*PARAMS:*
withDeliveryAddress : false  - Informe para retornar os endereços de entregas do cliente  
branchId            :  1,2   - Informar o(s) código(s) de filial(is) do cliente
finalCostumer       : String - Informe 'S' para retornar somente consumidor final e 'N' para não consumidor final (Não obrigatório) 
personalType        : String - Informe 'J' para retornar somente cliente pessoa jurídica e 'F' para somente pessoa física (Não obrigatório)
personIdentificationNumber   -  CPF ou CNPJ do cliente - * Disponível a partir da versão 1.3.0.1 (Versão de homologação)

Observações da requisição ao consultar:

  • Em caso de não encontrar registro pelo CPF/CNPJ retornará o http status 404 com  a descrição do erro: "Não foi possível encontrar os clientes com os dados informados: personIdentificationNumber: XPTO. Verifique se informou corretamente os dados e realize nova consulta."
  • Caso o parâmetro finalCostumer ou personalType não seja enviado a lista de clientes não será filtrada, sendo assim trazendo todos os registro pois são parâmetros não obrigatórios.
  • Caso o Cliente consultado esteja excluidio, o campo active será apresentado com valor 0 (zero). Indicativo de cliente inativo.


Bloco de código
languagejs
titleBody Response - Exemplo para todos os casos
{
    "corporate": true,
    "name
Totvs custom tabs box items
defaultno
referenciapasso2

Exemplo JSON do envio da requisição e dados do retorno:

Bloco de código
languagejs
titleURI - Cadastrar Cliente
method: 'POST',
url: '/api/wholesale/v1/customer/'
Bloco de código
languagejs
titleBody
{
    "corporate": true,
    "name": "string",
    "personIdentificationNumber": "string",
    "stateInscription": "string",
    "commercialAddress": "string",
    "businessDistrict": "string ",
    "commercialZipCode": "string",
    "emailpersonIdentificationNumber": "string",
    "customerOriginstateInscription": "VTstring",
    "finalCostumercommercialAddress": "falsestring",
    "billingIdbusinessDistrict": "string",
    "paymentPlanId":0,
    "commercialAddressNumbercommercialZipCode": "string",
    "billingAddressNumberemail": "string",
    "deliveryAddressNumber": "string",
    "squareId	"emailNfe": 0"string",
    "activityIdcustomerOrigin": 0"VT",
    "complementBillingAddressfinalCostumer": "stringfalse",
    "complementBusinessAddressbillingId": "string",
    "complementDeliveryAddresspaymentPlanId": "string"0,
    "BusinessCitycommercialAddressNumber": "string",
    "sellerIdbillingAddressNumber": 0"string",
    "businessCitydeliveryAddressNumber": "string",
    "cityIdsquareId": 0,
    "countryIdactivityId": 0,
	"documentType    "complementBillingAddress": "A"
}

Exemplo JSON da resposta:  

Bloco de código
languagejs
titleBody Response
{"string",
    "IdcomplementBusinessAddress": 0
}
Bloco de código
languagejs
titleBody Response - Error
{
"string",
    "codecomplementDeliveryAddress": "WT-PV-000000string",
    "messageBusinessCity": "string"Erro,
  ao validar itens"sellerId": 0,
    "detailedMessagebusinessCity": "Lista de validações em detailsstring",
    "detailscityId": [0,
    "countryId": 0,
	"documentType": "A",
	"phone":  {
            "code"string",
	"corporatePhone": "string",
	"billingPhone": "string",
	"deliveryPhone": "WT-PV-0000XXstring",
	"active": true,
 	"customerNetId": 19,
    "mainClientId":     "message40,
 	"regionId": "Campo obrigatório"4,
            "detailedMessageprofessionalId": "Detalhes do campo obrigatório. "45,
    "wholesalePriceUses": "N",
        "details "deliveryAddresses": []
        }{
    ]
}
Totvs custom tabs box items
defaultno
referenciapasso3

Enviar as requisições conforme indicação abaixo para listar os cadastros existentes:

Bloco de código
languagejs
titleURI Parameters - Listar um único cadastro
method: 'GET',
url: '/api/wholesale/v1/customer/'

*PARAMS:*
customerId  : 0        "id": "number",
            "receiverName": "string",
         -    Informar o código do cliente
Bloco de código
languagejs
titleURI Parameters - Listar todos cadastros
method: 'GET',
url: '/api/wholesale/v1/customer/list'
Bloco de código
languagejs
titleBody Response - Exemplo para todos os casos
{"receiverEmail": "string",
            "customerId": "number",
    "corporate        "squareId": true"number",
            "namezipCode": "string",

            "personIdentificationNumberstate": "string",
    "stateInscription        "city": "string",
            "commercialAddressdistrict": "string",
      "businessDistrict": "string ",
    "commercialZipCodeaddress": "string",
       "email": "string",
    "customerOrigincomplement": "VTstring",
       "finalCostumer": "false",
    "billingIdcityId": "stringnumber",
    "paymentPlanId":0,
        "commercialAddressNumbernumber": "stringnumber",
       "billingAddressNumber": "string",
    "deliveryAddressNumbertradeName": "string",
    "squareId": 0,
    "activityId": 0,
    "complementBillingAddresslastChangeDate": "string",
            "complementBusinessAddressreceiverCountryId": "stringnumber",
       "complementDeliveryAddress": "string",
    "BusinessCityreceiverPhone": "stringnumber",
       "sellerId": 0,
    "businessCityreferencePoint": "string",
       "cityId": 0, }
    "countryId": 0, ]
	"documentTypepermissions":{
        "AacceptValidateZipCodeOnline": false
    } 
}

Para que seja realizada uma nova integração atualizando um registro já integrado, o sistema verifica o CPF/CNPJ. Portanto, ao realizar alguma alteração no registro, ele será encaminhado novamente para a view para manter a integridade dos dados do ERP com o E-commerce

...