Take App gives developers four ways to connect a store to other software: a REST API, webhooks, an MCP server for AI assistants, and a Zapier app. This page is the one-page overview — what each does, how to start, and the rules every integration needs.
Full API reference: platform.take.app — every endpoint, field, payload and code sample, kept up to date there.
Which tool do you need?
| You want to… | Use | Guide |
|---|---|---|
| Read and write store data from your own app, ERP or script | Merchant API V2 | Connect your External App with the Take App API |
| Get notified the moment an order or product changes | Webhooks | Webhooks |
| Manage your store by chatting with Claude or ChatGPT | MCP server | Connect Claude and ChatGPT with MCP |
| Connect to 7,000+ apps without writing code | Zapier | Zapier |
The API, webhooks and MCP server need the Business plan or higher, and only the store owner can create API keys or connect an AI assistant.
What the API covers
The Merchant API V2 is a REST API: you send HTTPS requests and get JSON back.
- Store — read the connected store's details, including its currency
- Products — list, create, read, update and delete, including variants, options and images
- Categories — list and create storefront categories
- Customers — list, create, read and update
- Orders — list, search, create, read and update
- Order payments — record a payment received outside Take App (such as a bank transfer), or correct one; the order's payment status updates from the new balance
- Inventory — list items, update one, or update many at once
- Messages — send a WhatsApp message to a customer using one of your approved templates
- Message templates — list templates, or submit a new one for Meta's review (usually approved within a few minutes)
Get started in three steps
- Go to Settings > Integrations, open API keys, and click Create key. Name it after what will use it —
my ERP,stock sync— so you can revoke just that one later. - Copy the key and keep it secret, like a password.
- Make your first request. This returns your store, so you know the key works:
GET https://take.app/api/v2/me
Authorization: Bearer YOUR_API_KEY
Rules every integration needs
- Base URL — every endpoint lives under
https://take.app/api/v2. Field names aresnake_case. - Money is an integer in the currency's smallest unit. Always read it with the store's
currency:- Most currencies have 2 decimals:
1234in USD is $12.34. - Some have none:
5000in IDR is Rp 5,000 — don't multiply by 100. The same goes for JPY, KRW, VND and a few others. - A few have 3:
1234in KWD is KD 1.234.
- Most currencies have 2 decimals:
- Phone numbers — international format, digits only, no
+(for example6591234567). - Lists are paginated with a cursor. Each response has
data,has_moreandnext_cursor; passnext_cursorback ascursorto get the next page. Default page size is 25, maximum 100. - Safe retries — add an
Idempotency-Keyheader toPOSTrequests. Repeating the same request with the same key within 24 hours returns the first result instead of creating a duplicate order or payment. - Errors share one shape:
{ "error": { "type", "code", "message", "param", "request_id" } }.parampoints at the field that was wrong. - Rate limit — 600 requests per minute per API key. Above that you get
429with aRetry-Afterheader saying how many seconds to wait. - Products to watch for:
- Give every product a category (
category_ids), or it won't show on your storefront. original_priceis the crossed-out "before" price. Send0when there's no discount.imagesreplaces the whole image list, so send every image you want to keep, in order.
- Give every product a category (
Webhooks in brief
Instead of asking the API for changes over and over, add a webhook endpoint in Settings > Integrations > Webhook and Take App sends a POST to your server when something happens:
order.created— a new order is placedorder.updated— an order's status, payment, fulfillment or items changeproduct.updated— a product's name, price, variants or options change
Each payload carries the same Order or Product object the API returns. Verify the signature with your endpoint's signing secret, and use the X-Take-Delivery-Id header to skip duplicates. An endpoint that fails for 24 hours is switched off until you turn it back on. Details in Webhooks.
AI assistants (MCP)
Take App's MCP server at https://take.app/api/mcp lets Claude, ChatGPT and other AI assistants read and manage your store in a chat — products, orders, customers, inventory, payments and WhatsApp templates. You connect by signing in to Take App from the assistant; there is no API key to copy. It can create and update, but never delete. See Connect Claude and ChatGPT with MCP.
Where to find more
The API reference on platform.take.app has the detail this page leaves out:
- Introduction — authentication, pagination, errors and rate limits
- Amounts & Currencies — the decimals for every currency
- Working with products — prices, descriptions, images and variants
- Webhooks — payloads, headers and signature verification code
- MCP Server — every tool the AI assistant can use
Each endpoint has its own page there, with request and response fields and examples.
Related
- Connect your External App with the Take App API — create and manage API keys
- Webhooks — get notified when something changes
- Connect Claude and ChatGPT with MCP — manage your store from an AI chat
- Zapier — connect Take App to 7,000+ apps without code
