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

Versões comparadas

Chave

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

...

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,0)Sim
billingAddressNumberpcclient.numerocobNumero do endereço de cobrança - aba endereço cobrançaVARCHAR2(6,0)Não
billingDistrictpcclient.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)Sim
branchParameterIdFilial de referência para considerar os parâmetro ALTERACLIAUTOECOMMERCE e CODPRACACIASHOP

Não
businessCitypccidade.nomecidadeCampo município - aba endereço comercialVARCHAR2(80,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)Sim
businessStatepcclient.estentEstado - aba endereço entregaVARCHAR2(2,0)Não
cityIdpcclient.codcidadeCidadeNUMBER(10,0)SimRelaciona o ID da cidade cadastrado no banco de dados.
cnaeIdpcclient.codcnaeCNAE - aba capaVARCHAR2(60,0)Não
commercialAddresspcclient.enderentEndereço comercial - aba endereço comercialVARCHAR2(40,0)Sim
commercialAddressNumberpcclient.numeroentNumero do endereço comercial - aba endereço entregaVARCHAR2(6,0)Não
commercialZipCodepcclient.cepcomCEP - aba endereço entregaVARCHAR2(9,0)Sim
complementBillingAddresspcclient.complementocobComplemento endereço de cobrança - aba endereço cobrançaVARCHAR2(80,0)Não
complementBusinessAddresspcclient.complementoentComplemento endereço de cobrança - aba endereço comercialVARCHAR2(80,0)Não
complementDeliveryAddresspcclient.complementocomComplemento endereço de cobrança - aba endereço entregaVARCHAR2(80,0)Não
corporatepcclient.tipofjTipo de Pessoa - aba capaVARCHAR2(1,0)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,0)NãoO valor é criado na tabela 'pcclient.telent'.
deliveryPhonepcclient.telcomTelefone comercial - aba endereço de entregaVARCHAR2(13,0)NãoO valor é criado na tabela 'pcclient.telcom'.
billingPhonepcclient.telcobTelefone comercial - aba endereço de cobrançaVARCHAR2(13,0)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,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".  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,0)Não
deliveryAddressNumberpcclient.numerocomNumero do endereço de entrega - aba endereço entregaVARCHAR2(6,0)Não
deliveryDistrictpcclient.bairrocomBairro - aba endereço entregaVARCHAR2(40,0)Não
deliveryStatepcclient.estcomEstado - aba endereço entregaVARCHAR2(2,0)Não
deliveryZipCodepcclient.CEPENTCEP - aba endereço COMERCIALVARCHAR2(9,0)Não
document


Não
documentType*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)Sim
emailNfepcclient.emailnfeE-mail NF-e - aba endereço comercialVARCHAR2(3500,0)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,0)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,0)Não
lastChangepcclient.dtultalterData da última alteração - aba dados cadastraisDATE(7,0)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,0)Sim
paymentPlanIdpcclient.codplpagPlano de pagamento - aba condições comerciais  - parâmetrosNUMBER(4,0)Não
personIdentificationNumberpcclient.cgcentCNPJ/CPF - aba capaVARCHAR2(18,0)Sim
phone*Não é gravado em tabela nenhumaTelefone comercial - aba endereço comercialVARCHAR2(13,0)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,0)Sim
tradeNamepcclient.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: "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": "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",
	"phone": "string",
	"corporatePhone": "string",
	"billingPhone": "string",
	"deliveryPhone": "string",
	"active": true,
     "deliveryAddresses": [
       {
            "id": "number",
            "receiverName": "string",
            "receiverEmail": "string",
            "customerId": "number",
            "squareId": "number",
            "zipCode": "string",
            "state": "string",
            "city": "string",
            "district": "string",
            "address": "string",
            "complement": "string",
            "cityId": "number",
            "number": "number",
            "tradeName": "string",
            "lastChangeDate": "string",
            "receiverCountryId": "number",
            "receiverPhone": "number",
            "referencePoint": "string"
        }
     ]
	"permissions":{
        "acceptValidateZipCodeOnline": false
    } 
}

...