Obtendo os valores padrões para um novo cliente¶
Para todo e qualquer cadastro que exista, há registros que são uma relação com outro registros, e no cadastro de clientes não é diferente. O SalesOne possui alguns serviços para capturar os dados padrões para um novo registro e relacionados através do serviço abaixo:
GET api/Partners/New.json?includeReference=true
O serviço dever retornar os dados padrões para campos do cliente e alguns registros que podem ser informados ao cadastrar um novo registro, segue o retorno que se espera da chamada apresentada acima. “Os valores podem estar diferentes de acordo com cada configuração realizada dentro do SalesOne”:
//Lista de Cadastros Auxiliares
{
//Valor padrão configurado dentro do SalesOne para Tipo de Frete
"incotermsId": 0,
//Valor padrão do usuário logado para o campo de vendedor
"SlpCode": -1,
//Campo padrão para o campo Grupo do Cliente
"GroupCode": 100,
//Código da Condição padrão para novos clientes
"GroupNum": -1,
//´Tipo de Cliente padrão para novos clientes
"CardType": 0,
//Código da Transportadora Padrão
"CarrierCode": "T000001",
//Formas de Pagamento padrão para novos clientes,
"partnerPayMethods": [
{
//Código da Condição de Pagamento
"PymCode": "Boleto"
},
{
//Código da Condição de Pagamento
"PymCode": "Boleto Banco do Brasil"
},
],
//Lista de Formas de Pagamento Disponíveis
"PayMethods": [
{
//Código
"id": "Boleto",
//Descrição da Forma de Pagamento
"text": "Pagamento com Boleto"
}
],
//Lista de Municípios Disponíveis,
"counties": [
{
"absId": 0, //Campo que deve ser preenchido em Partner.PartnerAddress.County
"country": "String",
"ibgeCode": "String",
"name": "String",
"state": "String"
}
],
//Lista de Países Disponíveis
"countries": [
{
"code": "String", //Campo que deve ser preenchido em Partner.PartnerAddress.Country
"name": "String"
}
],
//Lista de Grupos de Clientes Disponíveis
"partnerGroups": [
{
}
],
//Lista de Endereços Padrões para um novo cliente (Quando for realizado consulta na SEFAZ) ou pode-se consultar através do serviço /api/address/ByZipCode/{CEP}
"partnerAddresses": [
{
//Tipo de Endereço - 0 Endereço de Cobrança. 1 - Endereço de Faturamento
"addressType": 0,
//Tipo do Logradouro
"addrType": "String",
//Nome do Endereço - Alias para o endereço: Exemplo: "Matriz"
"address": "String",
//Bairro
"block": "String",
//Complemento
"building": "String",
//Código do Cliente Caso o cliente já exista
"cardCode": "String",
//País
"country": "String",
//Município
"county": "String",
//Detalhes do Município
"countyName": {
"absId": 0,
"country": "String",
"ibgeCode": "String",
"name": "String",
"state": "String"
},
//Geolocalização do Endereço
"glbLocNum": "String",
//Estado
"state": "String",
//Endereço
"street": "String",
//Número do Endereço
"streetNo": "String",
//CNPJ do Endereço Caso for depósito
"taxId0": "String",
//CEP
"zipCode": "String"
}
],
//Lista de Estados Disponíveis
"states": [
{
"code": "String", //Campo que deve ser preenchido em Partner.PartnerAddress.State
"country": "String",
"name": "String"
}
],
//Lista de Condições de Pagamento Disponíveis para Condição de Pagamento
"groupNums": [
{
//Código
"id": -1,
//Descrição da Forma de Pagamento
"text": "À vista"
}
],
//Lista de Preços Disponíveis para o campo ListNum
"PriceLists": [
{
//Código da Lista de Preço
"id": 1,
//Description
"text": ""
}
],
//Sugestão de Posição do Contato dentro da empresa
"contactPositions" : [
"Proprietários",
"Comprador"
],
//Características disponíveis para o cliente
"PartnerProperties" : [
{
"id": 9,
"text": "Administração Pública"
},
{
"id": 2,
"text": "Armazenagem"
},
//...
],
}4
Há um serviço exclusivo para lista de transportadora disponíveis que pode ser obtida através de:
GET "/api/carriers.json"
E o seu resultado é uma lista de transportadoras disponíveis para ser usado no cadastro do parceiros:
//Campo com a lista de Transportadora
data : [
{
//Código da Transportador
"cardCode": "T10001162",
//Razão Social da Transportadora
"cardName": "Exata Cargo Rodoviário F: 2954-0571",
//Nome Fantasia da Transporadora
"cardFName": "Exata Cargo Rodoviario F: 2954-0571",
//Telefone 1 da Transportadora
"phone1": "29540571",
//Telefone 1 da Transportadora que pode ser também o DDD
"phone2": "11",
}
]
Antes de realizar um procedimento de novo cliente é possível verificar se o mesmo existe, é sempre uma boa prática realizar este procedimento antes de fazer um post para o novo cliente:
"/api/Partners/GetByTaxId/{CNPJ_OR_CPF}" - o resultado será o cadastro do cliente descrito na seção do campos do cadastro do cliente ou um registro uma lista em branco.
Para ter um cadastro ‘saudável’ é necessário garantir que as informações presentes no cadastro de clientes estejam corretas, para isso existem dois serviços auxiliares para checagem do cadastro.