Before you start
You need a public API key for your Martz store. You generate it yourself, in the Martz panel:1
Open the access keys page
In painel.martz.com.br, go to Configurações » Chaves de Acesso.
2
Find the public API key
Look at the Chave da API pública box. If a key is already there, copy it.
3
Create one if there is none
If the box says Nenhuma chave criada, click gerar nova chave.
Configuring Martz as a Source
In the Sources tab, click the “Add source” button in the top-right corner, then select Martz from the list of connectors. Click Next and add your access details.1. Add account access
The following configuration fields are available:- API Key: The public API key you copied from the Martz panel. It is sent as the
X-API-KEYheader on every request. - Initial sync date (advanced): The earliest scheduled send date read by the Campaign activities table on the first run. Later runs continue from where the previous one stopped. Leave it empty to read your full history. It does not affect the other tables — see Sync types below.
- Lookback window (days) (advanced): How many days before the last sync the Campaign activities table re-reads on every run. Defaults to 1.
- Page size (advanced): Records requested per page. Martz caps this at 100, which is also the default and the fastest option.
- Requests per minute (advanced): Maximum number of API calls per minute this source makes. Defaults to 120.
- API URL (advanced): Overrides the Martz API address. Only change it if Martz told you to use a different host.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the ones relevant to your analysis.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how data should appear in your Catalog, including layer, table naming, and sync type.- Layer: Select the destination layer where extracted tables will be created.
- Folder: A folder can be created inside the selected layer to group all tables from this source.
- Table name: Use the suggested name or customize it. You can also apply a prefix to all tables at once.
- Sync Type: Choose between
INCREMENTALandFULL_TABLE. See Sync types — only Campaign activities supportsINCREMENTAL.
4. Configure data source
Add a clear description for this source so your team can identify it easily, not exceeding 140 characters. To define your Trigger, choose how often data should be extracted (for example, daily, weekly, or at fixed times). Optionally, configure additional settings:- Delta Log Retention, which controls how long old table states are kept. Learn more here.
- Additional Full Sync, to periodically complement incremental runs with a complete refresh.
5. Check your new source
You can view your new source on the Sources page. If needed, trigger a run manually from the source actions.Sync types
Campaign activities is the only table that can sync incrementally, and it is also the largest — it holds one row per message sent to one customer. Its endpoint is the only one in the Martz API that accepts a date filter, so every run reads only what was scheduled since the last one, plus the lookback window. Every other table is read in full on every run. The Martz API publishes no “modified since” filter on any other endpoint, so there is no reliable way to ask it for only what changed. Reading them in full is what guarantees the Catalog matches Martz; a full read also self-corrects, so a table never drifts. In practice this matters most for Customers and Orders, the two tables that grow with the store. If they are large, prefer a daily trigger over an hourly one.Good to know
- Money is in cents.
subtotal,freight,discount,total,priceand the coupon values are whole numbers in the smallest unit of your currency —19000is R$ 190,00. Divide by 100 in a Query when you present them. - Two views of an order’s status.
statusis Martz’s normalised status;raw_statusis the exact wording your own e-commerce platform used. Useraw_statuswhen a report has to agree with your back office. - Every commerce record keeps its origin.
integration_nameandintegration_idcarry the platform the record came from and its identifier there, so you can join Martz data back to your store’s own exports. - Order lines and cart lines are JSON text.
orders.productsandabandoned_carts.productshold the line items as a JSON array. Parse them in a Query or Notebook when you need one row per item. - Leads and buyers share one table. Martz calls a contact with no paid order a lead. Both are in Customers;
order_amountequal to zero is what marks a lead. - Deleted coupons are still returned. Rows in Coupons carrying a
deleted_atvalue are ones Martz removed. Filter them out if your report should ignore them. - Campaign activities can be scheduled into the future.
scheduled_tois when a message is due to go out, so rows with dates ahead of today are normal. - A table your plan does not include is skipped, not failed. If Martz refuses one of the endpoints for your store, that table is left untouched and the run reports it — every other table still syncs.
- One key, one store. The key is issued per store, so syncing two Martz stores means two sources in Nekt.
Streams and Fields
Available streams
Fields by stream
Below you’ll find all available data streams from Martz and their corresponding fields:Store
Store
Customers
Customers
Orders
Orders
Products
Products
Product categories
Product categories
Abandoned carts
Abandoned carts
Campaigns
Campaigns
Campaign activities
Campaign activities
Coupons (bonus)
Coupons (bonus)
Customer groups
Customer groups
Custom attributes
Custom attributes
Popups
Popups
Popup sign-ups
Popup sign-ups
Collaborators
Collaborators
Dashboards
Dashboards
WhatsApp templates
WhatsApp templates
WhatsApp Business numbers
WhatsApp Business numbers
WhatsApp official senders
WhatsApp official senders