---
updatedAt: 2026-09-24T12:59:27.000Z
agentTools:
  projectIndex: https://api.fracttal.com/v3-pt/llms.txt
---

# 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.

```http HTTP - Listagem
GET https://app.fracttal.com/api/warehouse_purchase_orders/
```
```http HTTP - Por ID
GET https://app.fracttal.com/api/warehouse_purchase_orders/{id_movement}
```

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

| Parâmetro                          | Tipo      | Obrigatório          | Descrição                                                                                                                                                                                                             |
| :--------------------------------- | :-------- | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <code>id\_movement</code> (na URL) | *Inteiro* | Sim (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âmetro                    | Tipo      | Obrigatório | Descrição                                                                                                                                           |
| :--------------------------- | :-------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |
| <code>warehouse\_code</code> | *Texto*   | Não         | Có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. |
| <code>since</code>           | *Texto*   | Opcional    | Data inicial da consulta. Formato: 'YYYY-MM-DDTHH:MM:SS-UTC' Exemplo:'2016-07-12T20:00:00-03'. (Padrão: 30 dias antes)                              |
| <code>until</code>           | *Texto*   | Opcional    | Data final da consulta. Formato: 'YYYY-MM-DDTHH:MM:SS-UTC' Exemplo:'2016-07-12T20:00:00-03'. (Padrão: data atual).                                  |
| <code>page</code>            | *Inteiro* | Opcional    | Número da página a consultar.                                                                                                                       |
| <code>start</code>           | *Inteiro* | Opcional    | Número do registro inicial que a consulta retornará.                                                                                                |
| <code>limit</code>           | *Inteiro* | Opcional    | Número do registro final que a consulta retornará.                                                                                                  |

<Callout icon="fad fa-triangle-exclamation" theme="warn">
  ### 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`.
</Callout>

***

## Parâmetros de saída

| Parâmetro                                    | Tipo               | Descrição                                                                                                                                                     |
| :------------------------------------------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <code>id\_movement</code>                    | *Inteiro*          | Id do movimento                                                                                                                                               |
| <code>folio\_source</code>                   | *Texto*            | Id do movimento do almoxarifado de origem                                                                                                                     |
| <code>folio\_target</code>                   | *Texto*            | Id do movimento do almoxarifado de destino                                                                                                                    |
| <code>date</code>                            | Data               | Data de entrega                                                                                                                                               |
| <code>description</code>                     | *Texto*            | Descrição da entrada.                                                                                                                                         |
| <code>document</code>                        | *Texto*            | Referência                                                                                                                                                    |
| <code>movements\_types\_description</code>   | *Texto*            | Tipo de Movimento                                                                                                                                             |
| <code>movements\_states\_description</code>  | *Texto*            | Descrição do estado do movimento                                                                                                                              |
| <code>warehouses\_target\_description</code> | *Texto*            | Almoxarifado de origem                                                                                                                                        |
| <code>warehouses\_target\_code</code>        | *Texto*            | Código do almoxarifado de origem                                                                                                                              |
| <code>third\_parties\_name</code>            | *Texto*            | Nome do terceiro                                                                                                                                              |
| <code>costs\_center\_description</code>      | *Texto*            | Centro de Custo                                                                                                                                               |
| <code>responsible\_description</code>        | *Texto*            | Responsável                                                                                                                                                   |
| <code>priorities\_description</code>         | *Texto*            | Prioridade                                                                                                                                                    |
| <code>date\_create</code>                    | *Texto*            | Data de criação do movimento                                                                                                                                  |
| <code>third\_parties\_code</code>            | *Texto*            | Código do terceiro                                                                                                                                            |
| <code>third\_parties\_address</code>         | *Texto*            | Endereço do terceiro                                                                                                                                          |
| <code>third\_parties\_telephone\_1</code>    | *Texto*            | Telefone 1 do terceiro                                                                                                                                        |
| <code>third\_parties\_telephone\_2</code>    | *Texto*            | Telefone 2 do terceiro                                                                                                                                        |
| <code>third\_parties\_email</code>           | *Texto*            | E-mail do terceiro                                                                                                                                            |
| <code>number\_details</code>                 | *Número*           | Quantidade de itens do movimento                                                                                                                              |
| <code>id\_movement\_reference</code>         | *Inteiro*          | Identificador da ordem de compra relacionada à entrada de material. Usado para vincular um registro de entrada de material a um movimento de ordem de compra. |
| <code>items</code>                           | *Array de objetos* | Detalhe dos itens da ordem de compra. Ver estrutura de `items` abaixo.                                                                                        |
| <code>totals</code>                          | *Objeto*           | Totais 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âmetro                       | Tipo              | Descrição                                                               |
| :------------------------------ | :---------------- | :---------------------------------------------------------------------- |
| <code>code</code>               | *Texto*           | Código do item.                                                         |
| <code>items\_description</code> | *Texto*           | Descrição do item.                                                      |
| <code>units\_description</code> | *Texto*           | Descrição da unidade de medida.                                         |
| <code>qty</code>                | *Número*          | Quantidade pedida.                                                      |
| <code>qty\_pending</code>       | *Número*          | Quantidade pendente de recebimento.                                     |
| <code>unit\_cost</code>         | *Número*          | Custo unitário.                                                         |
| <code>tax\_name</code>          | *Texto* ou `null` | Nome do imposto aplicado. `null` se o item não tiver imposto atribuído. |
| <code>item\_tax\_rate</code>    | *Número*          | Percentual do imposto. `0` quando `tax_name` é `null`.                  |

### Estrutura de `totals`

| Parâmetro             | Tipo               | Descrição                                                      |
| :-------------------- | :----------------- | :------------------------------------------------------------- |
| <code>subtotal</code> | *Número*           | Soma de (`qty` × `unit_cost`) de todos os itens, sem impostos. |
| <code>taxes</code>    | *Array de objetos* | Detalhamento por tipo de imposto. Ver estrutura a seguir.      |
| <code>total</code>    | *Número*           | Total geral da ordem de compra (subtotal + impostos).          |

#### Estrutura de cada elemento de `taxes`

| Parâmetro                | Tipo     | Descrição                                  |
| :----------------------- | :------- | :----------------------------------------- |
| <code>tax\_name</code>   | *Texto*  | Nome do imposto.                           |
| <code>tax\_rate</code>   | *Número* | Percentual do imposto.                     |
| <code>tax\_amount</code> | *Número* | Valor 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ódigo | Causa                                                                |
| :----- | :------------------------------------------------------------------- |
| `401`  | Não autenticado.                                                     |
| `404`  | O `warehouse_code` informado não existe (modo listagem, se enviado). |
| `404`  | O `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>**

```json Response
{
    "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

```json Response
{
    "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>**

```json Response
{
    "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`)

```json Response
{
    "success": false,
    "message": "404",
    "data": null
}
```

<HTMLBlock>{`
<p class="font">TESTAR CONEXÃO</p>
<iframe class="frame-full" src="https://testapi.fracttal.com/consultarOrdenCompra/pt-br">
</iframe>
`}</HTMLBlock>

<HTMLBlock>{`
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Maven+Pro&display=swap" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Heebo' rel='stylesheet'>
<style>
      table {
      border-collapse: collapse;
      border-radius: 1em;
      overflow: hidden;
    }
    
    th,
    td {
      border: 1px solid #E5E5E5;
      padding: 1em;
    }


    body {
      margin: 1.5em;
    }

    .font{
font-size: 14px;
font-weight: 700;
line-height: 17px;
letter-spacing: 0em;
text-align: left;
    color: #4687F1;
      font-style: uppercase;
  }
    table thead {
      background: rgba(70, 135, 241, 0.1) !important;
      color: #4687F1 !important;
      font-size: 13px !important;
      line-height: 17px !important;
    }
  .type-get {
      background-color: #6bbd5b;
      color: white;
      font-size: .7rem;
      padding: .2rem;
      border-radius: .2rem;
      text-transform: uppercase;
      font-weight: bold;
  }
  
  .frame-full {
      width: 100%;
      height: 1000px;
      border-width: 0;
  }

  h1, h2, h3, h4, h5, h6 {
      font-family: 'Heebo', sans-serif;
  }
  
  code {
      max-height: 40vh!important;
  }
  
  hr.rounded {
    border-top: 5px solid black;
    border-radius: 5px;
  }
  
  #ReferencePlayground {
      display: none;
  }
  .Reference-section {
      display: none;
  }
</style>
`}</HTMLBlock>

# OpenAPI definition

```json
{
  "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
}
```

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0.0",
    "title": "Consultar ordens de compra"
  },
  "servers": [
    {
      "url": "https://app.fracttal.com/api/warehouse_purchase_orders"
    }
  ],
  "paths": {
    "/{id_movement}": {
      "get": {
        "description": "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.",
        "responses": {
          "200": {
            "description": ""
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "id_movement",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Consultar ordens de compra",
        "operationId": "get_id-movement"
      }
    }
  },
  "x-readme": {
    "explorer-enabled": false,
    "proxy-enabled": true
  }
}
```