API de Integração GoFusion

Download OpenAPI specification:Download

API de Integração do GoFusion para gerenciamento de cargas, descargas, liberações e outros recursos.

Autenticação

Todos os endpoints requerem autenticação via Bearer Token criado nas configurações da instância.

Paginação

Todos os endpoints de listagem suportam paginação usando os parâmetros page e per_page.

Cargas

Endpoints para gerenciamento de cargas

Listar todas as cargas

Retorna uma lista paginada de todas as cargas disponíveis.

Filtros Disponíveis

  • status: Filtra por status da carga (pending, in_progress, completed, cancelled)
  • start_date: Filtra cargas criadas a partir desta data (YYYY-MM-DD)
  • end_date: Filtra cargas criadas até esta data (YYYY-MM-DD)
  • carrier: Filtra por transportadora
  • customer: Filtra por cliente
  • license_plate: Filtra por placa do veículo

Ordenação

Por padrão, as cargas são ordenadas por data de criação (created_at) em ordem decrescente. Para alterar a ordenação, use o parâmetro sort_by com um dos seguintes valores:

  • created_at: Data de criação
  • updated_at: Data de atualização
  • status: Status da carga

Para inverter a ordem, adicione o parâmetro sort_order=asc (padrão é desc).

Authorizations:
None
query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

status
string
Enum: "pending" "in_progress" "completed" "cancelled"

Status da carga

start_date
string <date>

Data de início (YYYY-MM-DD)

end_date
string <date>

Data de fim (YYYY-MM-DD)

carrier
string

Nome da transportadora

customer
string

Nome do cliente

license_plate
string

Placa do veículo

sort_by
string
Enum: "created_at" "updated_at" "status"

Campo para ordenação

sort_order
string
Default: "desc"
Enum: "asc" "desc"

Ordem da ordenação

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Criar nova carga

Cria uma nova carga com os dados fornecidos.

Campos Obrigatórios

  • identifier: ID único da carga (deve ser único no sistema)
  • carrier: Nome da transportadora
  • carrier_document: Documento da transportadora
  • intermediary: Nome do intermediário

Campos Condicionais

  • Se o módulo de entregas não estiver habilitado:
    • customer: Nome do cliente
    • customer_document: Documento do cliente
    • products: Lista de produtos
  • Se não for frete parcial:
    • license_plate: Placa do veículo
    • vehicle_type: Tipo do veículo
    • driver: Nome do motorista
    • driver_cpf: CPF do motorista
  • Se não for frete parcial e não houver seleção automática de janela:
    • scheduling: Data e hora do agendamento
  • Se configurado na instância:
    • total_gross_weight: Peso bruto total

Regras de Negócio

  • O identificador da carga deve ser único no sistema
  • O CPF do motorista deve ter entre 7 e 11 dígitos
  • O telefone do motorista deve ter 11 dígitos
  • A data de agendamento deve ser futura
  • O peso total deve ser maior que zero
  • A quantidade de cada produto deve ser maior que zero

Vinculação de Pedidos de Venda (Módulo Ativo)

  • Se o módulo de pedidos de venda estiver ativo, o campo order em deliveries é obrigatório
  • O pedido de venda deve ser do mesmo cliente da entrega
  • Apenas pedidos não cancelados e não excluídos podem ser vinculados
  • O sistema validará se o pedido existe e está disponível para vinculação

Validações

  • vehicle_type: Deve ser um dos valores: truck, ship, train
  • freight_type: Deve ser um dos valores: CIF, FOB, CPT
  • status: Deve ser um dos valores: pending, in_progress, completed, cancelled
  • products: Array de produtos, cada um contendo nome, código, unidade e quantidade
  • deliveries: Array de entregas (opcional), cada uma contendo cliente e produtos
  • orders: Array de pedidos (opcional), cada um contendo número e data esperada
Authorizations:
None
Request Body schema: application/json
identifier
required
string

ID único da carga (deve ser único no sistema)

status
string
Enum: "pending" "in_progress" "completed" "cancelled"

Status da carga

weight
number <float>

Peso da carga em kg

license_plate
string

Placa do veículo (obrigatório se não for frete parcial)

vehicle_type
string
Enum: "truck" "ship" "train"

Tipo do veículo (obrigatório se não for frete parcial)

truck_body_type
string

Tipo da carroceria do caminhão

driver
string

Nome do motorista (obrigatório se não for frete parcial)

driver_cpf
string

CPF do motorista (7-11 dígitos, obrigatório se não for frete parcial)

driver_phone
string

Telefone do motorista (11 dígitos)

transport_modality
string

Modalidade de transporte

transport_document
string

Documento de transporte

freight_type
string

Tipo do frete

patio
string

Pátio

customer
string

Cliente (obrigatório se o módulo de entregas não estiver habilitado)

customer_document
string

Documento do cliente (obrigatório se o módulo de entregas não estiver habilitado)

carrier
required
string

Transportadora

carrier_document
required
string

Documento da transportadora

intermediary
required
string

Intermediário

scheduling
string <date-time>

Data e hora do agendamento (obrigatório se não for frete parcial e não houver seleção automática de janela)

total_gross_weight
number <float>

Peso bruto total (obrigatório se configurado na instância)

Array of objects

Lista de produtos (obrigatório se o módulo de entregas não estiver habilitado)

Array of objects

Lista de entregas (opcional, disponível apenas se o módulo de entregas estiver habilitado).

Regras de Negócio

  • Se o módulo de pedidos de venda estiver ativo, o campo order é obrigatório
  • O pedido de venda deve ser do mesmo cliente da entrega
  • Apenas pedidos não cancelados e não excluídos podem ser vinculados
Array of objects

Lista de pedidos

Responses

Request samples

Content type
application/json
{
  • "identifier": "CARGA-7",
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "Carreta",
  • "driver": "01331058066",
  • "driver_cpf": "01331058066",
  • "driver_phone": "11999999999",
  • "transport_modality": "Devolução",
  • "transport_document": "CTe-123456",
  • "freight_type": "cif",
  • "patio": "Pátio Central",
  • "carrier": "Transportadora XYZ Ltda",
  • "carrier_document": "12345678000199",
  • "intermediary": "Intermediário ABC",
  • "scheduling": "2025-10-20T08:00:00-03:00",
  • "total_gross_weight": "25000",
  • "customer": "Cliente Principal",
  • "customer_document": "01964354000119",
  • "products": [
    ],
  • "deliveries": [
    ]
}

Response samples

Content type
application/json
{
  • "process_number": 123,
  • "identifier": "LOAD-123",
  • "permit_identifier": [
    ],
  • "freight_orders": [
    ],
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "trucks": {
    },
  • "total_gross_weight": "1500.75",
  • "weighings": {
    },
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_cnh": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "transport_document": "DT-123",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "customer": "Cliente XYZ",
  • "customer_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "canceled_at": null,
  • "products": [
    ],
  • "partial_freight": false,
  • "partial_freight_approved": false,
  • "current_appointment": "Agendamento 1",
  • "current_appointment_date": "2024-03-20 14:00:00",
  • "orders": [
    ]
}

Buscar carga por ID

Retorna uma carga específica pelo seu identificador.

Detalhes Retornados

  • Informações básicas da carga (ID, status, tipo, peso)
  • Datas importantes (criação, atualização)
  • Informações do veículo e motorista
  • Dados de pesagem
  • Informações de produtos e entregas
  • Dados de agendamento
  • Informações de frete e transportadora

Observações

  • Se o identificador não for encontrado, retorna erro 404
  • Todos os dados são retornados no formato especificado no schema Load
Authorizations:
None
path Parameters
identifier
required
string

ID da carga

Responses

Response samples

Content type
application/json
{
  • "identifier": "LOAD-123",
  • "status": "completed",
  • "weight": 1000.5,
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "transport_document": "DT-123",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "contract": "CONTR-123",
  • "customer": "Cliente XYZ",
  • "customer_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "shift": "Manhã",
  • "nf_number": "NF-123",
  • "nf_origin": "São Paulo",
  • "nf_total": 1200.5,
  • "driver_delivery_confirmation": true,
  • "customer_delivery_confirmation": true,
  • "complete_analysis": true,
  • "test_load": false,
  • "total_gross_weight": 1500.75,
  • "weighings": {
    },
  • "products": [
    ],
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z",
  • "in_queue": false,
  • "finished": true,
  • "finished_at": "2024-03-20T18:00:00Z",
  • "started_at": "2024-03-20T10:00:00Z",
  • "canceled_at": null,
  • "is_schedule_adhered": true,
  • "partial_data": false,
  • "integration_id": "INT-123",
  • "dt": "DT-123",
  • "checklists": [
    ],
  • "appointments": [
    ],
  • "classifications": [
    ],
  • "reports": [
    ]
}

Atualizar carga

Atualiza uma carga existente.

Campos Obrigatórios

  • identifier: ID único da carga (deve ser único no sistema)
  • carrier: Nome da transportadora
  • carrier_document: Documento da transportadora
  • intermediary: Nome do intermediário

Campos Condicionais

  • Se o módulo de entregas não estiver habilitado:
    • customer: Nome do cliente
    • customer_document: Documento do cliente
    • products: Lista de produtos
  • Se não for frete parcial:
    • license_plate: Placa do veículo
    • vehicle_type: Tipo do veículo
    • driver: Nome do motorista
    • driver_cpf: CPF do motorista
  • Se não for frete parcial e não houver seleção automática de janela:
    • scheduling: Data e hora do agendamento
  • Se configurado na instância:
    • total_gross_weight: Peso bruto total

Vinculação de Pedidos de Venda (Módulo Ativo)

  • Se o módulo de pedidos de venda estiver ativo, o campo order em deliveries é obrigatório
  • O pedido de venda deve ser do mesmo cliente da entrega
  • Apenas pedidos não cancelados e não excluídos podem ser vinculados
  • O sistema validará se o pedido existe e está disponível para vinculação
Authorizations:
None
path Parameters
identifier
required
string

ID da carga

Request Body schema: application/json
identifier
required
string

ID único da carga (deve ser único no sistema)

status
string
Enum: "pending" "in_progress" "completed" "cancelled"

Status da carga

weight
number <float>

Peso da carga em kg

license_plate
string

Placa do veículo (obrigatório se não for frete parcial)

vehicle_type
string
Enum: "truck" "ship" "train"

Tipo do veículo (obrigatório se não for frete parcial)

truck_body_type
string

Tipo da carroceria do caminhão

driver
string

Nome do motorista (obrigatório se não for frete parcial)

driver_cpf
string

CPF do motorista (7-11 dígitos, obrigatório se não for frete parcial)

driver_phone
string

Telefone do motorista (11 dígitos)

transport_modality
string

Modalidade de transporte

transport_document
string

Documento de transporte

freight_type
string

Tipo do frete

patio
string

Pátio

customer
string

Cliente (obrigatório se o módulo de entregas não estiver habilitado)

customer_document
string

Documento do cliente (obrigatório se o módulo de entregas não estiver habilitado)

carrier
required
string

Transportadora

carrier_document
required
string

Documento da transportadora

intermediary
required
string

Intermediário

scheduling
string <date-time>

Data e hora do agendamento (obrigatório se não for frete parcial e não houver seleção automática de janela)

total_gross_weight
number <float>

Peso bruto total (obrigatório se configurado na instância)

Array of objects

Lista de produtos (obrigatório se o módulo de entregas não estiver habilitado)

Array of objects

Lista de entregas (opcional, disponível apenas se o módulo de entregas estiver habilitado).

Regras de Negócio

  • Se o módulo de pedidos de venda estiver ativo, o campo order é obrigatório
  • O pedido de venda deve ser do mesmo cliente da entrega
  • Apenas pedidos não cancelados e não excluídos podem ser vinculados
Array of objects

Lista de pedidos

Responses

Request samples

Content type
application/json
{
  • "status": "in_progress",
  • "weight": 1200.75,
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "transport_document": "DT-123",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "customer": "Cliente XYZ",
  • "customer_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "total_gross_weight": 1500.75,
  • "products": [
    ],
  • "deliveries": [
    ],
  • "orders": [
    ]
}

Response samples

Content type
application/json
{
  • "process_number": 123,
  • "identifier": "LOAD-123",
  • "permit_identifier": [
    ],
  • "freight_orders": [
    ],
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "trucks": {
    },
  • "total_gross_weight": "1500.75",
  • "weighings": {
    },
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_cnh": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "transport_document": "DT-123",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "customer": "Cliente XYZ",
  • "customer_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "canceled_at": null,
  • "products": [
    ],
  • "partial_freight": false,
  • "partial_freight_approved": false,
  • "current_appointment": "Agendamento 1",
  • "current_appointment_date": "2024-03-20 14:00:00",
  • "orders": [
    ]
}

Cancelar carga

Cancela uma carga existente.

Regras de Negócio

  • A carga deve estar em um estado que permita cancelamento
  • O cancelamento é irreversível
  • A data de cancelamento é registrada automaticamente
  • O status é alterado para 'cancelled'

Observações

  • Se a carga já estiver cancelada, retorna erro 400
  • Se a carga não existir, retorna erro 404
  • Após o cancelamento, a carga não pode ser editada
Authorizations:
None
path Parameters
identifier
required
string

ID da carga

Responses

Response samples

Content type
application/json
{
  • "identifier": "LOAD-123",
  • "status": "cancelled",
  • "weight": 1200,
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T12:00:00Z"
}

Excluir carga

Remove uma carga existente do sistema.

Regras de Negócio

  • A carga deve estar em um estado que permita exclusão
  • A exclusão é permanente e irreversível
  • Todos os dados relacionados à carga são removidos

Observações

  • Se a carga não existir, retorna erro 404
  • Se a carga não puder ser excluída, retorna erro 400
  • Após a exclusão, o identificador pode ser reutilizado
Authorizations:
None
path Parameters
identifier
required
string

ID da carga

Responses

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "O recurso solicitado não foi encontrado"
}

Descargas

Endpoints para gerenciamento de descargas

Listar todas as descargas

Retorna uma lista paginada de todas as descargas disponíveis.

Filtros Disponíveis

  • status: Filtra por status da descarga
  • start_date: Filtra por data de início
  • end_date: Filtra por data de fim
  • unload_type: Filtra por tipo de descarga
  • vehicle_id: Filtra por ID do veículo
  • driver_id: Filtra por ID do motorista
  • carrier_id: Filtra por ID da transportadora
  • provider_id: Filtra por ID do fornecedor
  • patio_id: Filtra por ID do pátio
  • shift_id: Filtra por ID do turno
  • load_type_id: Filtra por ID do tipo de carga
  • freight_type: Filtra por tipo de frete (CIF, FOB, CPT)
  • test_unload: Filtra por descargas de teste
  • full_analysis: Filtra por descargas com análise completa
  • finished: Filtra por descargas finalizadas
  • in_queue: Filtra por descargas em fila
  • nf_number: Filtra por número da nota fiscal
  • integration_id: Filtra por ID de integração
  • dt: Filtra por DT (Documento de Transporte)
  • is_schedule_adhered: Filtra por aderência ao agendamento
  • partial_data: Filtra por dados parciais
Authorizations:
None
query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

status
string
Enum: "pending" "in_progress" "completed" "cancelled"

Status da descarga

start_date
string <date>

Data de início para filtro

end_date
string <date>

Data de fim para filtro

unload_type
string

Tipo de descarga para filtro

vehicle_id
integer

ID do veículo

driver_id
integer

ID do motorista

carrier_id
integer

ID da transportadora

provider_id
integer

ID do fornecedor

patio_id
integer

ID do pátio

shift_id
integer

ID do turno

load_type_id
integer

ID do tipo de carga

freight_type
string
Enum: "CIF" "FOB" "CPT"

Tipo de frete

test_unload
boolean

Filtra por descargas de teste

full_analysis
boolean

Filtra por descargas com análise completa

finished
boolean

Filtra por descargas finalizadas

in_queue
boolean

Filtra por descargas em fila

nf_number
string

Número da nota fiscal

integration_id
string

ID de integração

dt
string

Documento de Transporte

is_schedule_adhered
boolean

Filtra por aderência ao agendamento

partial_data
boolean

Filtra por dados parciais

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Criar nova descarga

Cria uma nova descarga com os dados fornecidos.

Campos Obrigatórios

  • identifier: ID único da descarga (deve ser único no sistema)
  • carrier: Nome da transportadora
  • carrier_document: Documento da transportadora
  • intermediary: Nome do intermediário
  • complete_analysis: Análise completa
  • test_unload: Teste de descarga
  • products: Lista de produtos

Campos Condicionais

  • Se não for frete parcial:
    • license_plate: Placa do veículo
    • vehicle_type: Tipo do veículo
    • driver: Nome do motorista
    • driver_cpf: CPF do motorista
  • Se não for frete parcial e não houver seleção automática de janela:
    • scheduling: Data e hora do agendamento
  • Se configurado na instância:
    • total_gross_weight: Peso bruto total

Regras de Negócio

  • O identificador da descarga deve ser único no sistema
  • O CPF do motorista deve ter entre 7 e 11 dígitos
  • O telefone do motorista deve ter 11 dígitos
  • A data de agendamento deve ser futura
  • O peso total deve ser maior que zero
  • A quantidade de cada produto deve ser maior que zero

Validações

  • vehicle_type: Deve ser um dos valores: truck, ship, train
  • freight_type: Deve ser um dos valores: CIF, FOB, CPT
  • status: Deve ser um dos valores: pending, in_progress, completed, cancelled
  • products: Array de produtos, cada um contendo nome, código, unidade e quantidade
  • nfs: Array de notas fiscais (opcional), cada uma contendo tipo, número, origem e valor
Authorizations:
None
Request Body schema: application/json
identifier
required
string

ID único da descarga (deve ser único no sistema)

status
string
Enum: "pending" "in_progress" "completed" "cancelled"

Status da descarga

unload_type
string

Tipo da descarga

weight
number <float>

Peso da descarga em kg

license_plate
string

Placa do veículo (obrigatório se não for frete parcial)

vehicle_type
string
Enum: "truck" "ship" "train"

Tipo do veículo (obrigatório se não for frete parcial)

truck_body_type
string

Tipo da carroceria do caminhão

driver
string

Nome do motorista (obrigatório se não for frete parcial)

driver_cpf
string

CPF do motorista (7-11 dígitos, obrigatório se não for frete parcial)

driver_phone
string

Telefone do motorista (11 dígitos)

transport_modality
string

Modalidade de transporte

freight_type
string

Tipo do frete

patio
string

Pátio

contract
string

Contrato

provider
string

Fornecedor

provider_document
string

Documento do fornecedor

carrier
string

Transportadora

carrier_document
string

Documento da transportadora

intermediary
string

Intermediário

scheduling
string <date-time>

Data e hora do agendamento (obrigatório se não for frete parcial e não houver seleção automática de janela)

shift
string

Turno

nf_number
string

Número da nota fiscal

nf_origin
string

Origem da nota fiscal

nf_total
number <float>

Valor total da nota fiscal

complete_analysis
required
boolean

Análise completa

test_unload
required
boolean

Teste de descarga

total_gross_weight
number <float>

Peso bruto total (obrigatório se configurado na instância)

required
Array of objects

Lista de produtos

Responses

Request samples

Content type
application/json
{
  • "identifier": "UNLOAD-123",
  • "status": "pending",
  • "unload_type": "granel",
  • "weight": 1000.5,
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "contract": "CONTR-123",
  • "provider": "Fornecedor XYZ",
  • "provider_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "shift": "Manhã",
  • "nf_number": "NF-123",
  • "nf_origin": "São Paulo",
  • "nf_total": 1200.5,
  • "complete_analysis": true,
  • "test_unload": false,
  • "total_gross_weight": 1500.75,
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "process_number": 123,
  • "identifier": "UNLOAD-123",
  • "permit_identifier": [
    ],
  • "freight_orders": [
    ],
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "trucks": {
    },
  • "total_gross_weight": "1500.75",
  • "weighings": {
    },
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_cnh": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "contract_number": "CONTR-123",
  • "provider": "Fornecedor XYZ",
  • "provider_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "shift": "Manhã",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "nf_amount": 1200.5,
  • "nfs": [
    ],
  • "complete_analysis": true,
  • "test_unload": false,
  • "canceled_at": null,
  • "products": [
    ],
  • "partial_freight": false,
  • "partial_freight_approved": false,
  • "current_appointment": "Agendamento 1",
  • "current_appointment_date": "2024-03-20 14:00:00"
}

Buscar descarga por ID

Retorna uma descarga específica pelo seu identificador.

Detalhes Retornados

  • Informações básicas da descarga (ID, status, tipo, peso)
  • Datas importantes (criação, atualização)
  • Informações do veículo e motorista
  • Dados de pesagem
  • Informações de produtos
  • Dados de agendamento
  • Informações de frete e transportadora
  • Dados de notas fiscais

Observações

  • Se o identificador for 'none', o sistema tentará usar o parâmetro unload_identifier do corpo da requisição
  • Se o identificador não for encontrado, retorna erro 404
  • Todos os dados são retornados no formato especificado no schema Unload
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

Responses

Response samples

Content type
application/json
{
  • "identifier": "UNLOAD-123",
  • "status": "in_progress",
  • "unload_type": "granel",
  • "weight": 1000.5,
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "contract": "CONTR-123",
  • "provider": "Fornecedor XYZ",
  • "provider_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "shift": "Manhã",
  • "nf_number": "NF-123",
  • "nf_origin": "São Paulo",
  • "nf_total": 1200.5,
  • "complete_analysis": true,
  • "test_unload": false,
  • "total_gross_weight": 1500.75,
  • "weighings": {
    },
  • "products": [
    ],
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z",
  • "in_queue": false,
  • "finished": false,
  • "finished_at": null,
  • "started_at": "2024-03-20T10:00:00Z",
  • "canceled_at": null,
  • "is_schedule_adhered": true,
  • "partial_data": false,
  • "integration_id": "INT-123",
  • "dt": "DT-123",
  • "checklists": [
    ],
  • "appointments": [
    ],
  • "classifications": [
    ],
  • "reports": [
    ]
}

Atualizar descarga

Atualiza uma descarga existente.

Campos Obrigatórios

  • identifier: ID único da descarga (deve ser único no sistema)
  • complete_analysis: Análise completa
  • test_unload: Teste de descarga
  • products: Lista de produtos

Campos Condicionais

  • Se não for frete parcial:
    • license_plate: Placa do veículo
    • vehicle_type: Tipo do veículo
    • driver: Nome do motorista
    • driver_cpf: CPF do motorista
  • Se não for frete parcial e não houver seleção automática de janela:
    • scheduling: Data e hora do agendamento
  • Se configurado na instância:
    • total_gross_weight: Peso bruto total
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

Request Body schema: application/json
identifier
required
string

ID único da descarga (deve ser único no sistema)

status
string
Enum: "pending" "in_progress" "completed" "cancelled"

Status da descarga

unload_type
string

Tipo da descarga

weight
number <float>

Peso da descarga em kg

license_plate
string

Placa do veículo (obrigatório se não for frete parcial)

vehicle_type
string
Enum: "truck" "ship" "train"

Tipo do veículo (obrigatório se não for frete parcial)

truck_body_type
string

Tipo da carroceria do caminhão

driver
string

Nome do motorista (obrigatório se não for frete parcial)

driver_cpf
string

CPF do motorista (7-11 dígitos, obrigatório se não for frete parcial)

driver_phone
string

Telefone do motorista (11 dígitos)

transport_modality
string

Modalidade de transporte

freight_type
string

Tipo do frete

patio
string

Pátio

contract
string

Contrato

provider
string

Fornecedor

provider_document
string

Documento do fornecedor

carrier
string

Transportadora

carrier_document
string

Documento da transportadora

intermediary
string

Intermediário

scheduling
string <date-time>

Data e hora do agendamento (obrigatório se não for frete parcial e não houver seleção automática de janela)

shift
string

Turno

nf_number
string

Número da nota fiscal

nf_origin
string

Origem da nota fiscal

nf_total
number <float>

Valor total da nota fiscal

complete_analysis
required
boolean

Análise completa

test_unload
required
boolean

Teste de descarga

total_gross_weight
number <float>

Peso bruto total (obrigatório se configurado na instância)

required
Array of objects

Lista de produtos

Responses

Request samples

Content type
application/json
{
  • "status": "in_progress",
  • "unload_type": "granel",
  • "weight": 1200.75,
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "contract": "CONTR-123",
  • "provider": "Fornecedor XYZ",
  • "provider_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "shift": "Manhã",
  • "nf_number": "NF-123",
  • "nf_origin": "São Paulo",
  • "nf_total": 1200.5,
  • "complete_analysis": true,
  • "test_unload": false,
  • "total_gross_weight": 1500.75,
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "process_number": 123,
  • "identifier": "UNLOAD-123",
  • "permit_identifier": [
    ],
  • "freight_orders": [
    ],
  • "license_plate": "ABC1234",
  • "vehicle_type": "truck",
  • "truck_body_type": "baú",
  • "trucks": {
    },
  • "total_gross_weight": "1500.75",
  • "weighings": {
    },
  • "driver": "João da Silva",
  • "driver_cpf": "12345678900",
  • "driver_cnh": "12345678900",
  • "driver_phone": "11999999999",
  • "transport_modality": "rodoviário",
  • "freight_type": "CIF",
  • "patio": "Pátio 1",
  • "contract_number": "CONTR-123",
  • "provider": "Fornecedor XYZ",
  • "provider_document": "12345678901234",
  • "carrier": "Transportadora ABC",
  • "carrier_document": "12345678901234",
  • "intermediary": "Intermediário XYZ",
  • "shift": "Manhã",
  • "scheduling": "2024-03-20T14:00:00Z",
  • "nf_amount": 1200.5,
  • "nfs": [
    ],
  • "complete_analysis": true,
  • "test_unload": false,
  • "canceled_at": null,
  • "products": [
    ],
  • "partial_freight": false,
  • "partial_freight_approved": false,
  • "current_appointment": "Agendamento 1",
  • "current_appointment_date": "2024-03-20 14:00:00"
}

Cancelar descarga

Cancela uma descarga existente.

Regras de Negócio

  • A descarga deve estar em um estado que permita cancelamento
  • O cancelamento é irreversível
  • A data de cancelamento é registrada automaticamente
  • O status é alterado para 'cancelled'

Campos Obrigatórios

  • motivo: Motivo do cancelamento

Observações

  • Se a descarga já estiver cancelada, retorna erro 400
  • Se a descarga não existir, retorna erro 404
  • Após o cancelamento, a descarga não pode ser editada
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

Responses

Response samples

Content type
application/json
{
  • "identifier": "UNLOAD-123",
  • "status": "cancelled",
  • "unload_type": "granel",
  • "weight": 1000.5,
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T11:00:00Z"
}

Excluir descarga

Remove uma descarga existente do sistema.

Regras de Negócio

  • A descarga deve estar em um estado que permita exclusão
  • A exclusão é permanente e irreversível
  • Todos os dados relacionados à descarga são removidos

Observações

  • Se a descarga não existir, retorna erro 404
  • Se a descarga não puder ser excluída, retorna erro 400
  • Após a exclusão, o identificador pode ser reutilizado
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

Responses

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "O recurso solicitado não foi encontrado"
}

Checklists

Endpoints para gerenciamento de checklists

Listar checklists da carga

Retorna todos os checklists associados a uma carga específica.

Detalhes Retornados

  • Lista de checklists com seus respectivos itens
  • Status de cada checklist
  • Datas de criação e atualização
  • Observações e resultados

Filtros Disponíveis

  • tipo: Filtra por tipo de checklist
  • status: Filtra por status do checklist

Observações

  • Os checklists são retornados em ordem cronológica
  • Cada checklist contém a lista completa de itens verificados
  • Se a carga não existir, retorna erro 404
Authorizations:
None
path Parameters
identifier
required
string

ID da carga

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Listar checklists da descarga

Retorna todos os checklists associados a uma descarga específica.

Detalhes Retornados

  • Lista de checklists com seus respectivos itens
  • Status de cada checklist
  • Datas de criação e atualização
  • Observações e resultados

Filtros Disponíveis

  • tipo: Filtra por tipo de checklist
  • status: Filtra por status do checklist

Observações

  • Os checklists são retornados em ordem cronológica
  • Cada checklist contém a lista completa de itens verificados
  • Se a descarga não existir, retorna erro 404
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Business Intelligence

Endpoints para integração com Power BI

Dados de cargas para BI

Retorna dados de cargas para integração com Power BI.

Dados Retornados

  • Informações básicas da carga (ID, status, tipo, peso)
  • Datas importantes (criação, conclusão, cancelamento)
  • Informações do veículo e motorista
  • Dados de pesagem
  • Informações de produtos e entregas
  • Dados de agendamento
  • Informações de frete e transportadora

Filtros Disponíveis

  • start_date: Filtra cargas a partir desta data
  • end_date: Filtra cargas até esta data
Authorizations:
None
query Parameters
start_date
string <date>

Data de início (YYYY-MM-DD)

end_date
string <date>

Data de fim (YYYY-MM-DD)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dados de descargas para BI

Retorna dados de descargas para integração com Power BI.

Dados Retornados

  • Informações básicas da descarga (ID, status, tipo, peso)
  • Datas importantes (criação, conclusão, cancelamento)
  • Informações do veículo e motorista
  • Dados de pesagem
  • Informações de produtos
  • Dados de agendamento
  • Informações de frete e transportadora
  • Dados de notas fiscais

Filtros Disponíveis

  • start_date: Filtra descargas a partir desta data
  • end_date: Filtra descargas até esta data
Authorizations:
None
query Parameters
start_date
string <date>

Data de início (YYYY-MM-DD)

end_date
string <date>

Data de fim (YYYY-MM-DD)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dados de produções para BI

Retorna dados de produções para integração com Power BI.

Dados Retornados

  • Informações básicas da produção (ID, tipo, quantidade)
  • Datas importantes (produção, início, fim)
  • Informações do produto
  • Dados de qualidade
  • Informações de equipamentos
  • Dados de operadores

Filtros Disponíveis

  • start_date: Filtra produções a partir desta data
  • end_date: Filtra produções até esta data
Authorizations:
None
query Parameters
start_date
string <date>

Data de início (YYYY-MM-DD)

end_date
string <date>

Data de fim (YYYY-MM-DD)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Marcações

Endpoints para gerenciamento de marcações

Realizar marcação de carga

Realiza a marcação de uma carga específica.

Campos Obrigatórios

  • appointment_date: Data e hora da marcação
  • observation: Observação sobre a marcação (opcional)

Observações

  • Se o identificador for 'none', o sistema tentará usar o parâmetro load_identifier do corpo da requisição
  • A marcação só pode ser realizada para cargas em estado válido
  • A marcação deve ser a próxima a ser realizada
Authorizations:
None
path Parameters
identifier
required
string

ID da carga

integration_name
required
string

Nome da integração

Request Body schema: application/json
appointment_date
required
string <date-time>

Data e hora do agendamento

observation
string

Observação sobre o agendamento

Responses

Request samples

Content type
application/json
{
  • "appointment_date": "2024-03-20T14:00:00Z",
  • "observation": "Marcação confirmada para carga no pátio 1"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "appointment_date": "2024-03-20T14:00:00Z",
  • "status": "scheduled",
  • "observation": "Marcação confirmada",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Realizar marcação de descarga

Realiza a marcação de uma descarga específica.

Campos Obrigatórios

  • appointment_date: Data e hora da marcação
  • observation: Observação sobre a marcação (opcional)

Observações

  • Se o identificador for 'none', o sistema tentará usar o parâmetro unload_identifier do corpo da requisição
  • A marcação só pode ser realizada para descargas em estado válido
  • A marcação deve ser a próxima a ser realizada
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

integration_name
required
string

Nome da integração

Request Body schema: application/json
appointment_date
required
string <date-time>

Data e hora do agendamento

observation
string

Observação sobre o agendamento

Responses

Request samples

Content type
application/json
{
  • "appointment_date": "2024-03-20T14:00:00Z",
  • "observation": "Marcação confirmada para descarga no pátio 1"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "appointment_date": "2024-03-20T14:00:00Z",
  • "status": "scheduled",
  • "observation": "Marcação confirmada",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Listar marcações

Retorna uma lista paginada de marcações com os seguintes campos:

  • external_id: identifier no gf
  • name: Nome da marcação
  • id: id dentro do gf
Authorizations:
None
query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Classificações

Endpoints para classificação de descargas

Classificar descarga

Realiza a classificação de uma descarga específica através de uma marcação.

  • O parâmetro identifier é o identificador único da descarga.
  • O parâmetro integration_name é o ID de integração da marcação de classificação a ser realizada.

Campos Obrigatórios

  • classification: Array de classificações, onde cada item contém:
    • integration_name: ID de integração da variável (deve ser único)
    • value: Valor da classificação (deve seguir o tipo da variável)

Regras de Negócio

  • O ID de integração da variável deve ser único no sistema
  • A marcação de classificação deve existir no processo logístico
  • A marcação deve estar na ordem correta do fluxo
  • A marcação não deve ter sido realizada anteriormente
  • Se a configuração "Bloquear novas marcações" estiver ativa e a última classificação for reprovada, novas marcações serão bloqueadas

Validações de Tipos

  • Numeral: Apenas números são aceitos
  • OK/NOK: Apenas valores "ok" e "nok" são aceitos
  • Sim/Não: Apenas valores "sim" e "não" são aceitos
  • Horas e Minutos: Apenas valores no formato "HH:mm" são aceitos
  • Caixa de Seleção: Apenas valores definidos nas opções da variável são aceitos

Observações

  • As variáveis são consideradas do primeiro produto da descarga
  • Todas as variáveis enviadas devem existir e fazer parte do produto
  • Se a descarga não existir, retorna erro 404
  • Se a classificação não puder ser realizada, retorna erro 400
  • Se o ID de integração não corresponder a uma marcação de classificação, retorna erro 400
Authorizations:
None
path Parameters
identifier
required
string

ID da descarga

integration_name
required
string

ID de integração da marcação com ação de classificação

Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "classification": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "classification_type": "qualidade",
  • "value": "ok",
  • "observation": "Classificação realizada com sucesso",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Motoristas

Endpoints para gerenciamento de motoristas

Listar motoristas

Retorna uma lista paginada de todos os motoristas cadastrados.

Filtros Disponíveis

  • nome: Filtra por nome do motorista
  • cpf: Filtra por CPF do motorista
  • phone: Filtra por telefone do motorista
  • cnh: Filtra por número da CNH
  • gender: Filtra por gênero do motorista
  • status: Filtra por status do motorista
Authorizations:
None
query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

nome
string

Nome do motorista

cpf
string

CPF do motorista

status
string
Enum: "active" "inactive"

Status do motorista

phone
string

Telefone do motorista

cnh
string

Número da CNH

gender
string
Enum: "male" "female" "other"

Gênero do motorista

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Listar integrações de motoristas

Retorna uma lista paginada de todas as integrações de motoristas.

Detalhes Retornados

  • Lista de integrações com seus respectivos status
  • Datas de criação e atualização
  • Identificadores únicos

Filtros Disponíveis

  • status: Filtra por status da integração (active, inactive)
  • nome_integracao: Filtra por nome da integração

Observações

  • As integrações são retornadas em ordem alfabética por nome
  • Cada integração contém informações sobre sua configuração
  • O resultado é paginado conforme os parâmetros page e per_page
Authorizations:
None
query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Buscar integração de motorista

Retorna uma integração específica de motorista pelo seu identificador.

Detalhes Retornados

  • Informações básicas da integração (ID, nome, status)
  • Datas de criação e atualização
  • Configurações específicas da integração

Observações

  • Se o identificador não for encontrado, retorna erro 404
  • Todos os dados são retornados no formato especificado no schema DriverIntegration
  • As configurações sensíveis são omitidas da resposta
Authorizations:
None
path Parameters
identifier
required
string

ID da integração

Responses

Response samples

Content type
application/json
{
  • "identifier": "DRIVER-INT-123",
  • "nome_integracao": "Sistema de Transporte",
  • "status": "active",
  • "date": "2019-08-24",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z",
  • "configuration": { },
  • "driver": {
    }
}

Atualizar motorista

Atualiza os dados de um motorista existente.

Campos Obrigatórios

  • nome: Nome completo do motorista
  • cnh: Número da CNH
  • birth_date: Data de nascimento

Campos Opcionais

  • status: Status do motorista (active, inactive)
  • phone: Número de telefone
  • gender: Gênero do motorista (male, female, other)
  • rg: Número do RG
  • issuing: Órgão emissor do RG
  • uf_issuing: UF do órgão emissor
  • integrations: Lista de integrações do motorista

Regras de Negócio

  • O CPF deve ser válido e único no sistema
  • A CNH deve ser válida e estar dentro do prazo
  • A data de nascimento deve ser válida
  • O status só pode ser alterado por usuários autorizados
  • As integrações devem conter ao menos o campo "date"

Observações

  • Se o motorista não existir, retorna erro 404
  • Se os dados forem inválidos, retorna erro 400
  • A atualização é registrada com data e hora
  • As integrações são atualizadas conforme fornecido
Authorizations:
None
path Parameters
cpf
required
string

CPF do motorista

Request Body schema: application/json
nome
required
string

Nome do motorista

cnh
required
string

Número da CNH

birth_date
required
string <date>

Data de nascimento

status
required
string
Enum: "active" "inactive"

Status do motorista

phone
string

Telefone do motorista

gender
string
Enum: "male" "female" "other"

Gênero do motorista

rg
string

Número do RG

issuing
string

Órgão emissor do RG

uf_issuing
string

UF do órgão emissor

Array of objects

Responses

Request samples

Content type
application/json
{
  • "nome": "João da Silva",
  • "cnh": "12345678900",
  • "birth_date": "1980-01-01",
  • "status": "active",
  • "phone": "string",
  • "gender": "male",
  • "rg": "string",
  • "issuing": "string",
  • "uf_issuing": "string",
  • "integrations": [
    ]
}

Response samples

Content type
application/json
{
  • "cpf": "123.456.789-00",
  • "nome": "João da Silva",
  • "cnh": "12345678900",
  • "birth_date": "1980-01-01",
  • "status": "active",
  • "phone": "string",
  • "gender": "male",
  • "rg": "string",
  • "issuing": "string",
  • "uf_issuing": "string",
  • "integrations": [
    ],
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Relatórios

Endpoints para gerenciamento de relatórios

Listar relatórios da carga

Retorna todos os relatórios associados a uma carga específica.

Detalhes Retornados

  • Lista de relatórios da carga

Observações

  • Os relatórios são retornados em ordem cronológica
  • Se a carga não existir, retorna erro 404
Authorizations:
None
path Parameters
load_identifier
required
string

ID da carga

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Criar relatório

Cria um novo relatório para uma carga específica.

Campos Obrigatórios

  • report_type: Tipo do relatório
  • content: Conteúdo do relatório

Campos Opcionais

  • observation: Observações adicionais
  • attachments: Lista de anexos

Regras de Negócio

  • O tipo de relatório deve ser válido
  • O conteúdo deve estar no formato correto
  • A carga deve existir e estar em estado válido

Observações

  • Se a carga não existir, retorna erro 404
  • Se os dados forem inválidos, retorna erro 400
  • O relatório é criado com data e hora atuais
Authorizations:
None
path Parameters
load_identifier
required
string

ID da carga

Request Body schema: application/json
report_type
required
string

Tipo do relatório

filling_type
string
Enum: "Bigbag" "Granel" "Ráfia"

Tipo de envase

sap_lot
Array of strings

Lotes SAP

Array of objects

Lacres de Big Bag

Array of objects

Lacres de Veículo

weight
number

Peso

nf
string

Número da nota fiscal

produced_at
string <date-time>

Data de produção

shelflife
string <date-time>

Data de validade

Responses

Request samples

Content type
application/json
{
  • "report_type": "string",
  • "filling_type": "Bigbag",
  • "sap_lot": [
    ],
  • "bigbag_seals": [
    ],
  • "vehicle_seals": [
    ],
  • "weight": 1000,
  • "nf": "12345",
  • "produced_at": "2024-06-10T10:00:00Z",
  • "shelflife": "2024-12-10T10:00:00Z"
}

Response samples

Content type
application/json
{
  • "report_id": 0,
  • "weight": 0,
  • "nf": "string",
  • "load_id": 0,
  • "seals": [
    ],
  • "sap_lot": [
    ],
  • "filling_type": "string",
  • "status": "string",
  • "shelflife": "2019-08-24T14:15:22Z",
  • "produced_at": "2019-08-24T14:15:22Z",
  • "completed_at": "2019-08-24T14:15:22Z"
}

Atualizar relatório

Atualiza um relatório existente.

Campos Obrigatórios

  • report_type: Tipo do relatório
  • content: Conteúdo do relatório

Campos Opcionais

  • observation: Observações adicionais
  • attachments: Lista de anexos

Regras de Negócio

  • O tipo de relatório deve ser válido
  • O conteúdo deve estar no formato correto
  • O relatório deve estar em estado que permita atualização

Observações

  • Se o relatório não existir, retorna erro 404
  • Se os dados forem inválidos, retorna erro 400
  • A atualização é registrada com data e hora
Authorizations:
None
path Parameters
identifier
required
string

ID do relatório

Request Body schema: application/json
report_type
required
string

Tipo do relatório

filling_type
string
Enum: "Bigbag" "Granel" "Ráfia"

Tipo de envase

sap_lot
Array of strings

Lotes SAP

Array of objects

Lacres de Big Bag

Array of objects

Lacres de Veículo

weight
number

Peso

nf
string

Número da nota fiscal

produced_at
string <date-time>

Data de produção

shelflife
string <date-time>

Data de validade

Responses

Request samples

Content type
application/json
{
  • "report_type": "string",
  • "filling_type": "Bigbag",
  • "sap_lot": [
    ],
  • "bigbag_seals": [
    ],
  • "vehicle_seals": [
    ],
  • "weight": 1000,
  • "nf": "12345",
  • "produced_at": "2024-06-10T10:00:00Z",
  • "shelflife": "2024-12-10T10:00:00Z"
}

Response samples

Content type
application/json
{
  • "report_id": 0,
  • "weight": 0,
  • "nf": "string",
  • "load_id": 0,
  • "seals": [
    ],
  • "sap_lot": [
    ],
  • "filling_type": "string",
  • "status": "string",
  • "shelflife": "2019-08-24T14:15:22Z",
  • "produced_at": "2019-08-24T14:15:22Z",
  • "completed_at": "2019-08-24T14:15:22Z"
}

Excluir relatório

Remove um relatório existente.

Regras de Negócio

  • O relatório deve estar em estado que permita exclusão
  • A exclusão é permanente e irreversível
  • Todos os anexos relacionados são removidos

Observações

  • Se o relatório não existir, retorna erro 404
  • Se o relatório não puder ser excluído, retorna erro 400
  • Após a exclusão, o identificador pode ser reutilizado
Authorizations:
None
path Parameters
identifier
required
string

ID do relatório

Responses

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "O recurso solicitado não foi encontrado"
}

Pedidos de Venda

Endpoints para gerenciamento de pedidos de venda

Listar todos os pedidos de venda

Retorna uma lista de todos os pedidos de venda disponíveis.

Campos Retornados

  • id: ID único do pedido
  • identifier: Identificador único do pedido (pode ser null)
  • order: Número do pedido
  • date: Data do pedido
  • order_date: Data do pedido
  • expected_delivery_date: Data esperada de entrega
  • customer: Nome do cliente
  • customer_document: Documento do cliente
  • canceled_at: Data de cancelamento (null se não cancelado)
  • confirmed_at: Data de confirmação (null se não confirmado)
  • consumed: Se o pedido foi consumido
  • products: Lista de produtos do pedido
  • created_at: Data de criação
  • updated_at: Data da última atualização

Regras de Negócio

  • Caso não tenha dados, retorna um array vazio
  • Caso a instância não tenha o módulo de pedidos de venda habilitado, retorna erro 403
Authorizations:
None

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Criar pedido de venda

Cria um novo pedido de venda seguindo as regras de negócio especificadas.

Campos Obrigatórios

  • identifier: Identificador único do pedido (deve ser único no sistema)
  • order: Número do pedido (deve ser único no sistema)
  • date: Data do pedido (formato DD-MM-YYYY)
  • order_date: Data do pedido (formato DD-MM-YYYY)
  • expected_delivery_date: Data esperada de entrega (formato DD-MM-YYYY)
  • customer: Nome do cliente
  • customer_document: Documento do cliente
  • products: Lista de produtos (pelo menos um produto obrigatório)

Campos Opcionais

  • Todos os outros campos dos produtos (lot, validity_date, fabrication_date, package)

Regras de Negócio

  • Os campos "identifier" e "order" devem ser únicos no sistema
  • Caso o cliente não exista, será criado automaticamente
  • Caso a embalagem não exista, será criada com dados padrão (PBT=0, envase, nome enviado)
  • Caso o produto não exista, será criado se tiver nome, código e unidade de medida válida
  • A unidade de medida deve existir no sistema
  • Datas devem estar no formato válido (DD-MM-YYYY)
  • É possível adicionar múltiplos produtos por pedido
Authorizations:
None
Request Body schema: application/json
identifier
required
string

Identificador único do pedido (deve ser único no sistema)

order
required
string

Número do pedido (deve ser único no sistema)

date
required
string

Data do pedido (formato DD-MM-YYYY)

order_date
required
string

Data do pedido (formato DD-MM-YYYY)

expected_delivery_date
required
string

Data esperada de entrega (formato DD-MM-YYYY)

customer
required
string

Nome do cliente

customer_document
required
string

Documento do cliente

required
Array of objects (SaleOrderProductInput) non-empty

Lista de produtos (pelo menos um produto obrigatório)

Responses

Request samples

Content type
application/json
{
  • "identifier": "67adsjk",
  • "order": "40",
  • "date": "17-09-2025",
  • "order_date": "17-09-2025",
  • "expected_delivery_date": "18-09-2025",
  • "customer": "teste - int",
  • "customer_document": "59155444016",
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 15,
  • "identifier": "ALkd36521",
  • "order": "41",
  • "date": "2025-09-19T12:00:00+00:00",
  • "order_date": "2025-09-20T12:00:00+00:00",
  • "expected_delivery_date": "2025-09-20T12:00:00+00:00",
  • "customer": "teste - int",
  • "customer_document": "59155444016",
  • "canceled_at": null,
  • "confirmed_at": null,
  • "consumed": false,
  • "products": [
    ],
  • "created_at": "2025-09-18T13:29:50+00:00",
  • "updated_at": "2025-09-18T17:12:11+00:00"
}

Buscar pedido de venda específico

Busca um pedido de venda específico pelo ID ou identifier.

Parâmetros

  • id: ID numérico ou identifier do pedido de venda

Regras de Negócio

  • Caso não seja encontrado, retorna erro 404
  • Aceita tanto ID numérico quanto identifier como parâmetro
Authorizations:
None
path Parameters
required
integer or string

ID ou identifier do pedido de venda

Responses

Response samples

Content type
application/json
{
  • "id": 15,
  • "identifier": "ALkd36521",
  • "order": "41",
  • "date": "2025-09-19T12:00:00+00:00",
  • "order_date": "2025-09-20T12:00:00+00:00",
  • "expected_delivery_date": "2025-09-20T12:00:00+00:00",
  • "customer": "teste - int",
  • "customer_document": "59155444016",
  • "canceled_at": null,
  • "confirmed_at": null,
  • "consumed": false,
  • "products": [
    ],
  • "created_at": "2025-09-18T13:29:50+00:00",
  • "updated_at": "2025-09-18T17:12:11+00:00"
}

Atualizar pedido de venda

Atualiza um pedido de venda existente.

Parâmetros

  • id: ID numérico ou identifier do pedido de venda

Regras de Negócio

  • Todos os campos podem ser atualizados
  • Devem seguir as mesmas regras de validação da criação
  • É possível remover/adicionar produtos, mas pelo menos um deve ser mantido
  • Os campos "identifier" e "order" devem continuar únicos (exceto para o próprio pedido)
  • Caso não seja encontrado, retorna erro 404
Authorizations:
None
path Parameters
required
integer or string

ID ou identifier do pedido de venda

Request Body schema: application/json
identifier
required
string

Identificador único do pedido (deve ser único no sistema)

order
required
string

Número do pedido (deve ser único no sistema)

date
required
string

Data do pedido (formato DD-MM-YYYY)

order_date
required
string

Data do pedido (formato DD-MM-YYYY)

expected_delivery_date
required
string

Data esperada de entrega (formato DD-MM-YYYY)

customer
required
string

Nome do cliente

customer_document
required
string

Documento do cliente

required
Array of objects (SaleOrderProductInput) non-empty

Lista de produtos (pelo menos um produto obrigatório)

Responses

Request samples

Content type
application/json
{
  • "identifier": "ALkd36521",
  • "order": "41",
  • "date": "19-09-2025",
  • "order_date": "20-09-2025",
  • "expected_delivery_date": "20-09-2025",
  • "customer": "teste - int",
  • "customer_document": "59155444016",
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 15,
  • "identifier": "ALkd36521",
  • "order": "41",
  • "date": "2025-09-19T12:00:00+00:00",
  • "order_date": "2025-09-20T12:00:00+00:00",
  • "expected_delivery_date": "2025-09-20T12:00:00+00:00",
  • "customer": "teste - int",
  • "customer_document": "59155444016",
  • "canceled_at": null,
  • "confirmed_at": null,
  • "consumed": false,
  • "products": [
    ],
  • "created_at": "2025-09-18T13:29:50+00:00",
  • "updated_at": "2025-09-18T17:12:11+00:00"
}

Deletar pedido de venda

Remove um pedido de venda do sistema.

Parâmetros

  • id: ID numérico ou identifier do pedido de venda

Regras de Negócio

  • Caso não seja encontrado, retorna erro 404
  • Após a remoção bem-sucedida, retorna mensagem de confirmação
Authorizations:
None
path Parameters
required
integer or string

ID ou identifier do pedido de venda

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Sale Order deleted successfully"
}

Liberações

Listar todas as liberações

Retorna uma lista paginada de todas as liberações disponíveis.

Filtros Disponíveis

  • status: Filtra por status da liberação
  • start_date: Filtra por data de início
  • end_date: Filtra por data de fim
Authorizations:
None
query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

status
string
Enum: "active" "suspended" "expired"

Status da liberação

start_date
string <date>

Data de início (YYYY-MM-DD)

end_date
string <date>

Data de fim (YYYY-MM-DD)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Criar nova liberação

Cria uma nova liberação com os dados fornecidos.

Campos Obrigatórios

  • status: Status inicial da liberação
  • permit_type: Tipo da liberação
  • valid_until: Data de validade da liberação
Authorizations:
None
Request Body schema: application/json
status
required
string
Enum: "active" "suspended" "expired"

Status da liberação

permit_type
required
string

Tipo da liberação

valid_until
required
string <date>

Data de validade da liberação

Responses

Request samples

Content type
application/json
{
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31"
}

Response samples

Content type
application/json
{
  • "identifier": "PERMIT-123",
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Buscar liberação por ID

Retorna uma liberação específica pelo seu identificador

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

Responses

Response samples

Content type
application/json
{
  • "identifier": "PERMIT-123",
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Atualizar liberação

Atualiza uma liberação existente

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

Request Body schema: application/json
status
required
string
Enum: "active" "suspended" "expired"

Status da liberação

permit_type
required
string

Tipo da liberação

valid_until
required
string <date>

Data de validade da liberação

Responses

Request samples

Content type
application/json
{
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31"
}

Response samples

Content type
application/json
{
  • "identifier": "PERMIT-123",
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Excluir liberação

Remove uma liberação existente

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

Responses

Response samples

Content type
application/json
{
  • "code": "NOT_FOUND",
  • "message": "O recurso solicitado não foi encontrado"
}

Suspender liberação

Suspende uma liberação existente

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

Responses

Response samples

Content type
application/json
{
  • "identifier": "PERMIT-123",
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Reativar liberação

Reativa uma liberação suspensa

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

Responses

Response samples

Content type
application/json
{
  • "identifier": "PERMIT-123",
  • "status": "active",
  • "permit_type": "transporte",
  • "valid_until": "2024-12-31",
  • "created_at": "2024-03-20T10:00:00Z",
  • "updated_at": "2024-03-20T10:00:00Z"
}

Listar cargas da liberação

Retorna todas as cargas associadas a uma liberação específica

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Listar descargas da liberação

Retorna todas as descargas associadas a uma liberação específica

Authorizations:
None
path Parameters
identifier
required
string

ID da liberação

query Parameters
page
integer >= 1
Default: 1

Número da página para paginação

per_page
integer [ 1 .. 100 ]
Default: 10

Quantidade de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}