Skip to main content
Repediu is a customer retention and repurchase CRM for restaurants and delivery businesses: RFV segmentation, WhatsApp, SMS and e-mail campaigns, cashback, and the attribution of sales to those campaigns. This connector reads the Repediu integration API (Open Delivery 2.0 and partner CRM routes) and brings, for every store that shares its data with your integration, the orders with their items, the customer registry, the customer purchase profiles (RFV status, frequency, ticket), the conversions attributed to campaigns, the campaigns and their daily sending funnel, the ratings, the coupons used, and the daily sales.
The connector only reads data. It never creates, changes or sends anything in Repediu.

Configuring Repediu as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Repediu option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

The connector uses the Client ID and Client Secret of a Repediu integration (Open Delivery API). Repediu issues them to the integrator during onboarding; there is no self-service screen, so ask Repediu’s integrations team for them. One credential gives access to every store that activated the integration in the Repediu panel, so a single source reads all of them. The following configurations are available:
  • Client ID: the Client ID issued by Repediu.
  • Client Secret: the Client Secret issued together with the Client ID.
  • Start Date (advanced): the earliest date to extract. It applies to orders (by update date) and to conversions, ratings, coupons, daily sales and campaign statistics (by date). Stores, customers, customer profiles and campaigns are always read whole. Leave it empty to extract the whole history: orders since 2000, and the dated CRM tables since 2015 (Repediu’s CRM data does not go further back).
  • Max Requests per Minute (advanced): (Default: 55) how many requests per minute the connector makes to Repediu. Raise it only if Repediu confirms a higher limit for your credential; lower it to leave room for other integrations that use the same credential. See API Limits & Performance.
A store appears in this source only after it activates your integration in the Repediu panel. If a store deactivates it, Repediu stops serving its data: the incremental tables keep the rows read until then, while Merchants, which is replaced on every run, keeps only the stores that still share their data.
Once you’re done, click Next.

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: every stream except Merchants supports INCREMENTAL, and that is the recommended type for them: each store keeps its own extraction point, so a store that joins later is read from the start. Campaigns is read whole on every run but loaded incrementally, so a store Repediu stops serving keeps its campaigns (and a deleted campaign stays in the table). Merchants is FULL_TABLE: it is small and replaced on every run. Read more about Sync Types here.
Once you are done configuring, click Next.

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. Repediu receives most sales in a daily batch, so once a day is usually enough; schedule it in the morning, after Repediu’s nightly processing. 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. A full sync reads every store’s whole history again, holds each table in temporary storage until it is complete, and with many stores takes as long as the first run (see API Limits & Performance). Leave it off for accounts with many stores or long histories: the incremental runs re-read recent days, and read a store’s orders again from the start when orders arrive later with past dates. Use a full sync when a store’s history of customers, daily sales, ratings or coupons is loaded into Repediu after the store was first synced (see Data Quality Considerations).
Once you are ready, click Next to finalize the setup.

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.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Available streams

The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description.

Fields by stream

Open Delivery

Stores (merchants) that activated the integration, with their address.Table: merchants · Primary key: id · Sync: Full table
Order history of each store, with its items. Amounts in cents and in reais.Table: orders · Primary key: store_id, id · Sync: Incremental (by updated_at)
Customer registry of each store: contacts, birth date, addresses and communication consents.Table: customers · Primary key: merchant_id, id · Sync: Incremental (by updated_at)

Partner CRM

Pseudonymised purchase profile of each customer: RFV status, purchases, total spent, average ticket and opt-ins.Table: crm_customers · Primary key: merchant_id, customer_id · Sync: Incremental (by updated_at)
Sales attributed to the relationship with the customer, linking campaign, customer and sale.Table: conversions · Primary key: merchant_id, conversion_id · Sync: Incremental (by converted_at)
Sales in which a coupon was used: code, value, date and customer.Table: coupons · Primary key: merchant_id, sale_id, coupon · Sync: Incremental (by updated_at)
Ratings received by each store: stars, review, date and platform of origin.Table: ratings · Primary key: merchant_id, rating_id · Sync: Incremental (by rating_date)

Campaigns

Registry of each store’s relationship campaigns.Table: campaigns · Primary key: merchant_id, campaign_id · Sync: Incremental (by updated_at)
Sending funnel per campaign and day: sent, delivered, read, errors, clicks and cost.Table: campaign_stats · Primary key: merchant_id, campaign_id, date · Sync: Incremental (by date)

Daily sales

Sales of each store aggregated per day: orders, gross revenue and average ticket.Table: sales_daily · Primary key: merchant_id, date · Sync: Incremental (by date)

Implementation Notes

Data Quality Considerations

  • Every table except merchants has a column with the store it belongs to (store_id in orders, merchant_id elsewhere); join it to merchants.id.
  • Keys across tables: orders.id is the sale_id of conversions, coupons and ratings (a string in orders, a number elsewhere); customers.id is the customer_id of the CRM tables. Customer ids belong to a store: join on the store column too.
  • All dates and times are in UTC. Repediu sends the CRM times (purchases, conversions, campaign periods) in store-local time (America/Sao_Paulo); the connector converts them to UTC. Convert back to Brasília time before grouping by day to match the Repediu panel. date in sales_daily and campaign_stats is already the store-local day.
  • Money: orders has total_amount_cents (as Repediu sends it) and total_amount_brl (in reais); the item prices inside items are in cents. Amounts in the CRM tables are in reais.
  • crm_customers has no name, phone or e-mail by design (Repediu pseudonymises it); personal data is in customers.
  • opened, clicked and unsubscribed in campaign_stats are empty (not zero) for channels that do not measure them.
  • Late data is read again on every run: 2 days of updates for orders, customers, customer profiles and coupons; 10 days for conversions and ratings; 7 days for daily sales; 30 days for campaign statistics (delivery and read receipts keep arriving).
  • History loaded into Repediu after a store was first synced: every run checks whether orders with past dates arrived, and reads that store’s orders again from the start when they did (the run log says so). Customers get the same check, but it can miss late customers when, in the same days, as many old customers were updated. Daily sales, ratings, coupons, conversions and campaign statistics loaded with dates older than their re-read window are only brought by a full sync.
  • Coupons: one row per sale and coupon code (a sale can carry more than one code).

API Limits & Performance

  • Repediu limits requests per credential. The connector makes at most Max Requests per Minute requests (default 55) and waits when Repediu asks it to slow down. A daily run needs about 15 requests per store, the first run about 70 (daily sales, campaign statistics, conversions, ratings and coupons are read one calendar year at a time since 2015 or since the Start Date). At the default pace: Stores with long order histories add requests on top. If Repediu confirms a higher limit, raise Max Requests per Minute (at 300 per minute, 1,000 stores take about 50 minutes a day).
  • A full sync reads everything before writing each table, so a table is never replaced with part of its data.
  • Not extracted: Repediu’s ready-made metrics (totals and rates per period or campaign, which can be computed from the tables above), the per-customer detail with favorite products, and the Repediu data-sending API.

Troubleshooting

Skills for agents

Download Repediu skills file

Repediu connector documentation as plain markdown, for use in AI agent contexts.