Skip to content

Recebimento de Produtos via API

O sistema valesoft permite a integração de produtos externos através de uma 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 produtos ou atualizar os mesmos caso já existam, se baseando no campo productReference como chave única para o produto.

Neste tipo de integração o sistema faz uma requisição Http a uma API previamente configurada, de modo a obter a lista de produtos.
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 pageIndexe pageSize. Exemplo:
GET /api/product?pageIndex=0&pageSize=250 ou GET /api/product?pageIndex=1&pageSize=500, etc.

É possível integrar todos os produtos 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 produto será adicionado como um parâmetro de URL: GET /api/product?pageIndex=0&pageSize250&sku=123456

Exemplo de resposta esperada pela integração Http Json

O sistema espera um retorno em formato JSON da seguinte forma:

JSON
{
  "items": [
    {
      "id": "8f289e4f-170a-46bb-9944-a4183bb39a12",
      "createdAt": "2024-05-28 14:59:14.000",
      "createdBy": "valesoft",
      "updatedAt": "2024-05-31 09:21:05.625",
      "updatedBy": "valesoft",
      "custom": {
        "custom1": "custom"
      },
      "integrated": true,
      "sku":"456789",
      "description":"Produto 1",
      "barcode":"0123456789",
      "measureUnit":"KG",
      "fraction": null,
      "type":"PRODUCED",
      "place": null,
      "averageCost": 0.1,
      "externalId": "789",
      "color": null,
      "size":"M",
      "costCenter": null
    }
  ],
  "totalItems": 1
}

Descrição dos campos da resposta esperada

Aqui está uma descrição de cada campo:

  • id - OBRIGATÓRIO

    • Alfanumérico
    • Código Único do produto no sistema
  • createdAt

    • Data
    • Data de criação do produto
  • createdBy

    • Alfanumérico
    • Usuário responsável pelo cadastro do produto
  • updatedAt

    • Data
    • Data da ultima atualização do produto
  • updatedBy

    • Alfanumérico
    • Usuário responsável pela ultima edição do produto
  • integrated

    • Boolean
    • Identifica se o produto foi cadastrado via integração
  • sku - OBRIGATÓRIO

    • Alfanumérico
    • Código/SKU Único do produto
    • Chave Primaria - Utilizado para criação ou alteração do registro
  • description - OBRIGATÓRIO

    • Texto
    • Descrição do produto
  • barcode - OBRIGATÓRIO

    • Numérico Inteiro
    • Código de barras EAN-13 ou um sequencial numérico único do produto, utilizado para a criação da etiqueta EPC no padrão GS1-SGTIN
  • measureUnit

    • Texto
    • Unidade de medida do produto
      • Ex. M², Un, KG
  • fraction

    • Numérico
    • Fração do produto
  • type - OBRIGATÓRIO

    • Texto Predefinido
    • Tipo do produto
    • Valores aceitos:
      • RAW - Matéria-prima
      • PRODUCED - Produto acabado
      • CONTAINER - Armazenagem
      • FIXED_ASSET - Ativo Imobilizado
  • place

    • Local do produto
  • externalId

    • Código de identificação do produto em sistemas externos
  • color

    • Cor do produto
  • size

    • Texto
    • Tamanho padrão do produto
      • EX: "P", "M", "G" para roupas. "275 x 185" para MDF
  • costCenter

    • Centro de custo do produto
  • totalItems

    • Número total de produtos

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 Produto 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"
}

Valesoft Sistemas RFID