Connect Custom store (Orders API) to MailNesto
Any checkout: post orders and carts as JSON for revenue tracking and cart recovery.
Custom store (Orders API) and MailNesto, together
Not every shop runs on Shopify or WooCommerce. If you built your own checkout, sell through a booking system or run a custom app, the Custom store connection gives you a private URL that accepts orders, carts and products as plain JSON. No API key is needed in the request, because the secret is part of the URL.
Everything you send lands in the same place as orders from the big platforms: revenue per campaign, the Orders & revenue tab, cart recovery, reorder predictions and product blocks. Totals are sent in rupees (1499 means ₹1,499), and sending the same order ID again updates the order instead of counting it twice.
What moves between Custom store (Orders API) and MailNesto
orderId, email, total, currency (INR by default), number, item count, order date and optional lines with productId, name, quantity and price. Up to 100 orders per request.
A body with cartId and no orderId is a cart: items (name, quantity, price, image, link), total, a recovery link (url, checkoutUrl or recoveryUrl) and when it last changed. An order with the same cartId marks it recovered.
A body with a products array (up to 500): id, name, price, compare-at price, link, image, category, inStock and status. Used by product blocks and recommendations.
When an order or cart includes acceptsMarketing: true, the buyer is added as a subscribed contact with their first and last name.
Connect Custom store (Orders API) in a few minutes
- 1
Create the connection
Go to Integrations → Connect an app → Custom store (Orders API) and click Connect. Copy “Your private URL” from the drawer. The drawer also shows a ready-made curl command under “Try it” that posts a test order.
- 2
Send orders after payment
From your server, POST JSON such as {"orderId":"A-1001","email":"priya@example.com","total":1499,"currency":"INR"} when an order is paid. Add "lines":[{"productId":"SKU-1","name":"Masala chai 250 g","quantity":2,"price":349}] to power bestsellers and recommendations.
- 3
Credit orders to emails
Links from MailNesto to a website you’ve added under Website tracking carry a visitor token. Save the landing page address and send it as landingUrl, or pass the token itself as nesto_r. Without it, the order goes to the buyer’s last email click in the 5 days before.
- 4
Send carts and products
POST a cart with cartId, email, total, items and the link back to the checkout whenever it changes. Send your catalogue with {"products":[…]} to the same URL whenever prices or stock change.
- 5
Check the Activity tab
Each request is logged, for example “3 orders received · 1 attributed to email”. If a request is wrong, the response says why, such as “orderId is required”.
What you can do with it
Post carts as shoppers add items. When a cart sits untouched past the delay you set in the Abandoned cart recovery recipe, the reminder goes out with the items and total filled in through the cart_items and cart_total merge tags, and a button that uses cart_url.
A snack-box company in Pune billing monthly can post each renewal as an order. Campaign reports then show which emails bring in new subscribers and which only get opens.
Once a few months of orders are in, each customer gets a predicted next order date. The Win back late customers recipe emails people two weeks after they were due, with a coupon and picks for them.
Keep inStock up to date in your product feed. Product blocks skip items that are out of stock when the email goes out, so nobody clicks through to a dead end.
Questions about the Custom store (Orders API) integration
Do I send totals in rupees or paise?
Rupees. Send 1499 for ₹1,499; decimals like 1499.50 are fine. The same applies to line prices, cart totals and product prices.
Is there an authenticated API as well?
Yes. With an API key you can POST to /api/v1/orders and /api/v1/carts, and manage products through the products API. The private URL is simpler when your platform can only call a webhook.
When does a cart count as abandoned?
When it hasn’t changed for the delay set in the automation (60 minutes unless you change it). Carts older than 7 days are not picked up, and reminders go only to people who are subscribed contacts.
What if the URL leaks?
Use “New secret URL” in the integration’s menu. The old address stops working at once, and you paste the new one into your code.
Can I send orders in dollars?
Yes. Set currency to a three-letter code such as USD. Reports show the currency most orders use and convert the rest at the platform’s rates.