Configuring Olist as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Olist option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
Olist Tiny API v3 uses OAuth 2.0. Unlike most connectors, Olist applications are private to each account, so you create your own application inside your Olist Tiny account and authorize Nekt with its keys.1
Open the Applications screen
In the Olist ERP (
erp.olist.com), go to Configurações → Aplicativos API (erp.olist.com/aplicativos_api) and click + novo aplicativo. Each account can have up to 5 applications.2
Name it and set the redirect URL
Enter a Name (for example,
Nekt). In URL de Redirecionamento, paste Nekt’s callback address:3
Grant read permissions
Under Permissões do aplicativo, mark Leitura (read) for every module you plan to sync — for example Contatos, Produtos, Notas Fiscais, Pedidos, and Contas a pagar/receber. Leave Incluir e editar and Excluir unchecked: Nekt only reads your data.
4
Save and copy the keys
Click salvar. Olist generates a Client ID and Client Secret under Chaves de acesso — copy both.
5
Authorize in Nekt
Back in Nekt, enter the Client ID and Client Secret, then complete the authorization: log in to the same Olist Tiny account and confirm the requested read permissions.
- Client ID and Client Secret: (Required) From the application you created in your own Olist account.
- Refresh token: Captured automatically when you authorize. Olist rotates it on every run and it expires in about a day, so keep this source running at least daily — otherwise you’ll need to authorize again.
- Start Date: (Optional) Lower bound for extraction. Products and Contacts sync incrementally from this date (
dataAlteracao/dataAtualizacao); Orders, Invoices, and Accounts payable/receivable use it as an emission-date floor. If omitted, the full history available in the API is synced.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Olist Tiny and their fields, as returned by the API v3 list endpoints. Every record is keyed byid. Nested objects (such as cliente, endereco, and vendedor) are returned as structured objects — access their fields with dot notation (for example cliente.nome).
Pedidos (Orders)
Pedidos (Orders)
Sales orders with customer, seller, shipping, and total.Key Fields:
Produtos (Products)
Produtos (Products)
Product catalog with pricing and stock. Synced incrementally by
dataAlteracao.Key Fields:Contatos (Contacts)
Contatos (Contacts)
Contacts / customers registry. Synced incrementally by
dataAtualizacao.Key Fields:Notas (Invoices / NF-e)
Notas (Invoices / NF-e)
Fiscal invoices (Nota Fiscal eletrônica) with customer, delivery, shipping, and totals.Key Fields:
Contas a pagar (Accounts payable)
Contas a pagar (Accounts payable)
Accounts payable entries. Accepts a Start Date lower bound on the emission date.Key Fields:
Contas a receber (Accounts receivable)
Contas a receber (Accounts receivable)
Accounts receivable entries. Accepts a Start Date lower bound on the emission date.Key Fields:
Vendedores (Sellers)
Vendedores (Sellers)
Sellers / sales representatives registry.Key Fields:
Marcas (Brands)
Marcas (Brands)
Product brands registry.Key Fields:
Formas de pagamento (Payment methods)
Formas de pagamento (Payment methods)
Payment methods registry.Key Fields:
Depósitos (Warehouses)
Depósitos (Warehouses)
Warehouses / stock deposits registry.Key Fields:
Data Model
The following diagram illustrates the relationships between the core data streams in Olist Tiny. Orders and invoices embed the customer and seller as nested objects, and reference the seller byvendedor.id.
Implementation Notes
Sync mode
- Incremental: Products (
dataAlteracao) and Contacts (dataAtualizacao). - Full table with an emission-date floor from the optional Start Date: Orders and Invoices (
dataInicial), Accounts payable and Accounts receivable (dataInicialEmissao). - Full table: Sellers, Brands, Payment methods, and Warehouses.
Authentication and token lifetime
Authentication is OAuth 2.0 with a per-account application (your own Client ID and Client Secret). The refresh token rotates on every run and expires in about a day, so schedule this source to run at least once daily; if it stays idle longer, you’ll need to authorize the application again.Nested objects and types
Nested entities (cliente, endereco, vendedor, transportador, ecommerce, precos, estoque, …) are returned as structured objects — query them with dot notation, e.g. cliente.nome. Record id values are integers; most monetary and weight fields (valor, saldo, pesoBruto) are numbers, while a few (such as pedidos.valor) come back as strings — cast as needed. Dates use ISO format (YYYY-MM-DD; incremental keys use YYYY-MM-DD HH:MM:SS).
Rate limits
The Olist Tiny v3 API enforces per-plan request limits shared across the whole account. On large accounts a full sync may take a while; the connector paginates results and retries on transient errors so runs still complete.Brazilian context
This connector is designed for the Brazilian market:- Currency: Values are in BRL (Brazilian Real).
- Documents: Counterparties are identified by CPF (individuals) or CNPJ (companies) in the
cpfCnpjfield. - Addresses: Brazilian address format with CEP (postal code) and state abbreviation (
uf).
Skills for agents
Download Olist skills file
Olist connector documentation as plain markdown, for use in AI agent contexts.