Consultar ordens de compra

Por meio deste EndPoint é possível consultar as ordens de compra de um almoxarifado criadas durante um período de tempo, ou o detalhe de uma ordem de compra específica —com seus itens e totais— indicando seu identificador na URL.

GET https://app.fracttal.com/api/warehouse_purchase_orders/
GET https://app.fracttal.com/api/warehouse_purchase_orders/{id_movement}

Parâmetros de entrada — Modo detalhe (por ID)

ParâmetroTipoObrigatórioDescrição
id_movement (na URL)InteiroSim (para este modo)Id da Ordem de Compra, enviado como segmento da URL (parâmetro de rota), não como parâmetro de query. Exemplo: /api/warehouse_purchase_orders/53168742. Retorna o cabeçalho junto com os blocos items e totals.

Parâmetros de entrada — Modo listagem

ParâmetroTipoObrigatórioDescrição
warehouse_codeTextoNãoCódigo do Almoxarifado. Se omitido, não é aplicado filtro por almoxarifado e são listadas as ordens de compra de todos os almoxarifados da empresa.
sinceTextoOpcionalData inicial da consulta. Formato: 'YYYY-MM-DDTHH:MM:SS-UTC' Exemplo:'2016-07-12T20:00:00-03'. (Padrão: 30 dias antes)
untilTextoOpcionalData final da consulta. Formato: 'YYYY-MM-DDTHH:MM:SS-UTC' Exemplo:'2016-07-12T20:00:00-03'. (Padrão: data atual).
pageInteiroOpcionalNúmero da página a consultar.
startInteiroOpcionalNúmero do registro inicial que a consulta retornará.
limitInteiroOpcionalNúmero do registro final que a consulta retornará.

Diferença entre os modos

  • Modo listagem (sem id_movement na URL): retorna o cabeçalho de cada ordem de compra que atenda aos filtros, sem os blocos items nem totals.
  • Modo detalhe (id_movement na URL): retorna uma única ordem de compra, com o cabeçalho mais os blocos items e totals.

Parâmetros de saída

ParâmetroTipoDescrição
id_movementInteiroId do movimento
folio_sourceTextoId do movimento do almoxarifado de origem
folio_targetTextoId do movimento do almoxarifado de destino
dateDataData de entrega
descriptionTextoDescrição da entrada.
documentTextoReferência
movements_types_descriptionTextoTipo de Movimento
movements_states_descriptionTextoDescrição do estado do movimento
warehouses_target_descriptionTextoAlmoxarifado de origem
warehouses_target_codeTextoCódigo do almoxarifado de origem
third_parties_nameTextoNome do terceiro
costs_center_descriptionTextoCentro de Custo
responsible_descriptionTextoResponsável
priorities_descriptionTextoPrioridade
date_createTextoData de criação do movimento
third_parties_codeTextoCódigo do terceiro
third_parties_addressTextoEndereço do terceiro
third_parties_telephone_1TextoTelefone 1 do terceiro
third_parties_telephone_2TextoTelefone 2 do terceiro
third_parties_emailTextoE-mail do terceiro
number_detailsNúmeroQuantidade de itens do movimento
id_movement_referenceInteiroIdentificador da ordem de compra relacionada à entrada de material. Usado para vincular um registro de entrada de material a um movimento de ordem de compra.
itemsArray de objetosDetalhe dos itens da ordem de compra. Ver estrutura de items abaixo.
totalsObjetoTotais calculados da ordem de compra (subtotal, impostos, total). Ver estrutura de totals abaixo.

Estrutura de items

Cada elemento do array items representa um item da ordem de compra:

ParâmetroTipoDescrição
codeTextoCódigo do item.
items_descriptionTextoDescrição do item.
units_descriptionTextoDescrição da unidade de medida.
qtyNúmeroQuantidade pedida.
qty_pendingNúmeroQuantidade pendente de recebimento.
unit_costNúmeroCusto unitário.
tax_nameTexto ou nullNome do imposto aplicado. null se o item não tiver imposto atribuído.
item_tax_rateNúmeroPercentual do imposto. 0 quando tax_name é null.

Estrutura de totals

ParâmetroTipoDescrição
subtotalNúmeroSoma de (qty × unit_cost) de todos os itens, sem impostos.
taxesArray de objetosDetalhamento por tipo de imposto. Ver estrutura a seguir.
totalNúmeroTotal geral da ordem de compra (subtotal + impostos).

Estrutura de cada elemento de taxes

ParâmetroTipoDescrição
tax_nameTextoNome do imposto.
tax_rateNúmeroPercentual do imposto.
tax_amountNúmeroValor do imposto calculado para esse tipo.

Notas:

  • Se a ordem de compra não tiver itens registrados, items retorna [] e totals retorna { "subtotal": 0, "taxes": [], "total": 0 }.
  • Se um item não tiver imposto atribuído, tax_name é null e item_tax_rate é 0.
  • Os valores são retornados na moeda própria da ordem de compra, sem conversão (ver currency_description / currency_symbol do cabeçalho).
  • Os 22 campos já existentes do cabeçalho (tabela acima) não mudam — esta é uma extensão retrocompatível.

Erros

CódigoCausa
401Não autenticado.
404O warehouse_code informado não existe (modo listagem, se enviado).
404O id_movement informado não existe (modo detalhe).

Exemplo:

Modo listagem

Requisição: (GET)https://app.fracttal.com/api/warehouse_purchase_orders/?warehouse_code=1254

{
    "success": true,
    "message": "200",
    "data": [
        {
            "id_movement": 2133,
            "folio_source": null,
            "folio_target": "TUER3640",
            "date": "2018-05-31",
            "description": null,
            "document": "PLAN JUNIO",
            "movements_types_description": "PURCHASE_ORDER",
            "movements_states_description": "NOT_DELIVERED",
            "warehouses_source_description": null,
            "warehouses_target_description": "ALMACEN",
            "third_parties_name": "Máchena",
            "costs_center_description": "PRODUCCIÓN",
            "costs_center_value": "11000",
            "responsible_description": " ",
            "conditions_description": "CREDITO 30 DIAS",
            "priorities_description": "VERY_HIGH",
            "date_create": "2018-05-25T16:15:09.253565+00:00",
            "third_parties_code": "234",
            "third_parties_address": null,
            "third_parties_telephone_1": "",
            "third_parties_telephone_2": "",
            "third_parties_email": null,
            "number_details": 1,
            "currency_description": "PESO CHILENO",
            "currency_symbol": "$",
            "id_movement_reference": 11111111,
            "items": [
                {
                    "code": "REP-001",
                    "items_description": "Rodamiento 6205",
                    "units_description": "Unidad",
                    "qty": 2,
                    "qty_pending": 0,
                    "unit_cost": 15000,
                    "tax_name": "IVA",
                    "item_tax_rate": 19
                }
            ],
            "totals": {
                "subtotal": 30000,
                "taxes": [
                    { "tax_name": "IVA", "tax_rate": 19, "tax_amount": 5700 }
                ],
                "total": 35700
            }
        }
    ],
    "total": 1
}

Exemplo — ordem de compra sem itens

{
    "success": true,
    "message": "200",
    "data": [
        {
            "id_movement": 2140,
            "folio_source": null,
            "folio_target": "TUER3651",
            "date": "2018-06-02",
            "description": null,
            "document": "PLAN JUNIO",
            "movements_types_description": "PURCHASE_ORDER",
            "movements_states_description": "NOT_DELIVERED",
            "warehouses_source_description": null,
            "warehouses_target_description": "ALMACEN",
            "third_parties_name": "Máchena",
            "costs_center_description": "PRODUCCIÓN",
            "costs_center_value": "11000",
            "responsible_description": " ",
            "conditions_description": "CREDITO 30 DIAS",
            "priorities_description": "VERY_HIGH",
            "date_create": "2018-06-01T10:05:00.000000+00:00",
            "third_parties_code": "234",
            "third_parties_address": null,
            "third_parties_telephone_1": "",
            "third_parties_telephone_2": "",
            "third_parties_email": null,
            "number_details": 0,
            "currency_description": "PESO CHILENO",
            "currency_symbol": "$",
            "id_movement_reference": 11111112,
            "items": [],
            "totals": {
                "subtotal": 0,
                "taxes": [],
                "total": 0
            }
        }
    ],
    "total": 1
}

Modo detalhe

Requisição: (GET)https://app.fracttal.com/api/warehouse_purchase_orders/53168742

{
    "success": true,
    "message": "200",
    "data": [
        {
            "id_movement": 53168742,
            "folio_source": null,
            "folio_target": "TUER4820",
            "date": "2026-08-15",
            "description": null,
            "document": "PLAN AGOSTO",
            "movements_types_description": "PURCHASE_ORDER",
            "movements_states_description": "NOT_DELIVERED",
            "warehouses_source_description": null,
            "warehouses_target_description": "ALMACEN",
            "third_parties_name": "Proveedor Ejemplo",
            "costs_center_description": "PRODUCCIÓN",
            "costs_center_value": "11000",
            "responsible_description": " ",
            "conditions_description": "CREDITO 30 DIAS",
            "priorities_description": "MEDIUM",
            "date_create": "2026-08-10T09:30:00.000000+00:00",
            "third_parties_code": "512",
            "third_parties_address": null,
            "third_parties_telephone_1": "",
            "third_parties_telephone_2": "",
            "third_parties_email": null,
            "number_details": 1,
            "currency_description": "PESO CHILENO",
            "currency_symbol": "$",
            "id_movement_reference": 22222222,
            "items": [
                {
                    "code": "REP-014",
                    "items_description": "Filtro de aceite",
                    "units_description": "Unidad",
                    "qty": 4,
                    "qty_pending": 4,
                    "unit_cost": 8500,
                    "tax_name": "IVA",
                    "item_tax_rate": 19
                }
            ],
            "totals": {
                "subtotal": 34000,
                "taxes": [
                    { "tax_name": "IVA", "tax_rate": 19, "tax_amount": 6460 }
                ],
                "total": 40460
            }
        }
    ],
    "total": 1
}

Response — Erro (401 / 404)

{
    "success": false,
    "message": "404",
    "data": null
}

TESTAR CONEXÃO

OpenAPI definition

{
  "openapi": "3.1.0",
  "info": {
    "title": "consultar-ordens-de-compra",
    "version": "3-pt"
  },
  "servers": [
    {
      "url": "https://app.fracttal.com/api/warehouse_purchase_orders"
    }
  ],
  "security": [
    {}
  ],
  "paths": {
    "/": {
      "get": {
        "summary": "Consultar ordens de compra",
        "description": "Por meio deste EndPoint é possível consultar as ordens de compra de um almoxarifado criadas durante um período de tempo.",
        "operationId": "consultar-ordens-de-compra",
        "parameters": [
          {
            "name": "warehouse_code",
            "in": "query",
            "required": false,
            "schema": { "type": "string" },
            "description": "Código do Almoxarifado. Se omitido, não é aplicado filtro por almoxarifado."
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": { "type": "string" }
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": { "type": "string" }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": { "type": "integer" }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": { "type": "integer" }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": { "type": "integer" }
          }
        ],
        "deprecated": false,
        "security": []
      }
    },
    "/{id_movement}": {
      "get": {
        "summary": "Consultar o detalhe de uma ordem de compra",
        "description": "Retorna o cabeçalho de uma ordem de compra específica junto com os blocos items e totals.",
        "operationId": "consultar-detalhe-ordem-de-compra",
        "parameters": [
          {
            "name": "id_movement",
            "in": "path",
            "required": true,
            "schema": { "type": "integer" },
            "description": "Id da Ordem de Compra."
          }
        ],
        "deprecated": false,
        "security": []
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": false,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
Path Params
string
required
Response
200
Language
LoadingLoading…