Appearance
Recebimento de Locais via API
O sistema valesoft permite a integração de locais externos através de requisição HTTP GET a uma API de um ERP, ou outro sistema.
O comportamento do sistema Valesoft ao receber os dados é de criar novos locais ou atualizar os mesmos caso já existam, se baseando no campo reference
como chave única para o local.
Para isso é necessário configurar o token de acesso e a url da API para integração.
A integração Http Json pode chamar APIs sem autenticação ou com autenticação por meio de token passado no header Authorization
, como por exemplo, Basic dXNlcm5hbWU6cGFzc3dvcmQ=
ou Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
A consulta ocorre de forma paginada com lotes de 250 registros. Isso ocorre através dos parâmetros pageIndex
e pageSize
. Exemplo: GET /api/place?pageIndex=0&pageSize=250
ou GET /api/place?pageIndex=1&pageSize=500
, etc.
É possível integrar todos os locais ou apenas um em específico baseado no código informado na hora da integração. Nessa consulta por código, o campo de referência do local será adicionado como um parâmetro de URL: GET /api/place?pageIndex=0&pageSize250&sku=123456
Resposta esperada pela integração Http Json
O sistema espera um retorno em formato JSON
da seguinte forma:
JSON
{
"items": [
{
"id": "9a18b0cf-0bea-45be-b500-bcedd4ce35fb",
"createdAt": "2024-04-11 08:06:36",
"createdBy": "systemAction",
"updatedAt": "2024-05-22 16:14:44",
"updatedBy": "valesoft",
"custom": {
"campoCustom1": true,
"campoCustom2": 123
},
"integrated": true,
"reference":"1234",
"name":"Local",
"address":"Rua",
"localization":"00.11",
"latitude": null,
"longitude": null,
"type":"WAREHOUSE",
"parent": "",
"externalId": "123"
}
],
"totalItems": 1
}
Obs.: A descrição dos parâmetros está no final da página
Descrição dos campos da resposta esperada
Aqui está uma descrição de cada campo:
id
- OBRIGATÓRIO- Alfanumérico
- Código Único do local no sistema
createdAt
- Data
- Data de criação do local
createdBy
- Alfanumérico
- Usuário responsável pelo cadastro do local
updatedAt
- Data
- Data da ultima atualização do local
updatedBy
- Alfanumérico
- Usuário responsável pela ultima edição do local
integrated
- Boolean
- Identifica se o local foi cadastrado via integração
reference
- OBRIGATÓRIO- Alfanumérico
- Código Único do local
name
- OBRIGATÓRIO- Texto
- Nome do local
address
- Texto
- Endereço do local
localization
- Texto
- Localização, podendo ser usado algum padrão com hierarquia por mascará como o usado em WMS
latitude
- Texto
- Latitude do local
longitude
- Texto
- Longitude do local
type
- OBRIGATÓRIO- Texto Predefinido
- Tipo do local
- Valores aceitos:
SITE
- PlantaWAREHOUSE
- Armazém/DepósitoSECTOR
- Setor/PrateleiraCONTAINER
- Tipo de local para armazenagem com localização
externalId
- Alfanumérico
- Código de identificação do local em sistemas externos
parent
- Local
- Local pai do local apresentado
totalItems
- Número total de locais
Os nomes dos campos da integração podem ser alterados nas configurações caso no sistema externo ou ERP eles forem diferentes.
Ainda é possível receber campos personalizados desde que o mesmo esteja devidamente configurado para a tabela de Local nas configurações do sistema.
Resposta esperada em caso de erro
Retornar uma resposta padrão HTTP com o respectivo status de erro
JSON
{
"errorMessage": "Mensagem de erro"
}