Mercos

Products

GET
/v1/mercos/products

One row per product: code, category, unit, table and minimum prices, stock balance and status.

dateFrom and dateTo filter by ultima_alteracao (inclusive days, YYYY-MM-DD). Rows are sorted by id, integration_id, inserted_at and paginated with page/limit; meta.hasNextPage says whether another page exists. Responses are cached for 30 minutes.

Authorization

ClientIdAuthClientSecretAuth
headerx-client-id<token>

Client ID

headerx-client-secret<token>

Client secret

Query Parameters

organizationId*string

Organization that owns the connected accounts.

Formatuuid
integrationId?string

One connected account of this integration (integration_id of the rows). Omit it to read every account of the organization.

Lengthlength <= 255
dateFrom?string

First day (inclusive) of ultima_alteracao, YYYY-MM-DD.

Formatdate
dateTo?string

Last day (inclusive) of ultima_alteracao, YYYY-MM-DD. Must not be before dateFrom.

Formatdate
page?integer

Page number, starting at 1.

Range1 <= value <= 1000000
Default1
limit?integer

Rows per page (max 5000).

Range1 <= value <= 5000
Default500

Response Body

One page of rows

application/json
  1. response
data*array<>
meta*
curl -X GET "https://example.com/v1/mercos/products?organizationId=3f2b8c1e-5d4a-4e6f-9a7b-1c2d3e4f5a6b&dateFrom=2026-10-01&dateTo=2026-10-31"
{  "data": [    {      "organization_id": "3f2b8c1e-5d4a-4e6f-9a7b-1c2d3e4f5a6b",      "integration_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",      "user_id": "123456",      "document_id": "123456",      "integration_name": "example",      "id": "123456",      "product_name": "example",      "codigo": "example",      "categoria_id": "123456",      "unidade": "example",      "preco_tabela": "125.50",      "preco_minimo": "125.50",      "moeda": "example",      "saldo_estoque": "125.50",      "ativo": true,      "excluido": true,      "ultima_alteracao": "2026-10-01T12:00:00.000Z",      "inserted_at": "2026-10-01T12:00:00.000Z"    }  ],  "meta": {    "page": 1,    "limit": 500,    "hasNextPage": false,    "hasPreviousPage": false  }}