Skip to main content

fluxo principal

1

buscar clientes pendentes

busque clientes prontos para integração: aprovados (status = APPROVED) e que ainda não foram integrados ou tiveram erro anterior (synchronizedStatus = NOT_SYNCHRONIZED).
2

detalhar cliente

obtenha informações detalhadas de cada cliente para enviar ao seu sistema.
3

sincronizar cliente

após processar o cliente no seu sistema, envie a confirmação de sucesso ou erro para a teceo.

endpoints

listar clientes pendentes

GET /v1/customers
retorna a lista de clientes pendentes de sincronização. a listagem suporta paginação usando skip e limit.

obter detalhes do cliente

GET /v1/customers/{customerId}
customerId
string
required
identificador único do cliente na teceo.

sincronizar cliente

POST /v1/customers/{customerId}/sync
customerId
string
required
identificador único do cliente na teceo.

payload de sucesso

{
  "status": "SUCCESS",
  "integrationCode": "123456"
}
status
string
required
deve ser SUCCESS para indicar sucesso na integração.
integrationCode
string
required
código do cliente no seu ERP/sistema.

payload de erro

{
  "status": "ERROR",
  "message": "descrição do erro ocorrido"
}

atualizar dados do cliente

PATCH /v1/customers/{idOrCode}
code
string
required
código do cliente.

payload

{
  "phone": "string",
  "countryCode": "string",
  "status": "PENDING",
  "companyName": "string",
  "commercialName": "string",
  "stateInscription": "string",
  "email": "string",
  "observation": "string",
  "addresses": [
    {
      "zipCode": "string",
      "streetDescription": "string",
      "streetNumber": "string",
      "complement": "string",
      "reference": "string",
      "neighborhood": "string",
      "city": "string",
      "customerAddressId": "string",
      "state": "string",
      "country": "string",
      "code": "string",
      "type": "DELIVERY",
      "principal": false
    }
  ],
  "salesRepresentatives": [
    {
      "code": "string",
      "principal": false
    }
  ],
  "classifications": [
    {
      "name": "string",
      "code": "string",
      "classificationType": {
        "name": "string",
        "code": "string"
      }
    }
  ],
  "priceTable": {
    "integrationCode": "string"
  },
  "creditLimit": 0,
  "availableBalance": 0
}
para mais detalhes, consulte a documentação no swagger.

regras de negócio

ao criar ou atualizar clientes, as seguintes validações são aplicadas:
  • valida se o CPF ou CNPJ do novo cliente já está em uso
  • valida se o formato do documentType é CPF ou CNPJ para clientes do Brasil
  • valida se quando isPJ = true o documentType é CNPJ
  • valida se o cliente for internacional, o documentType não pode ser CPF ou CNPJ
  • valida formato do cpfcnpj se o cliente for do Brasil (apenas dígitos e algoritmo)
  • valida se o código do novo cliente já está em uso
  • valida se o formato de phone é válido (apenas dígitos, 10 caracteres)