Help · Integrations

API for your site

Price
120 UAH/mo
For
services, food service, shops
Required modules
Products, Orders

What it does

A site or app built your own way sends products, orders and customers to anyCRM over a REST API, adding new ones and updating those already there.

What you need

  • A developer to add a few HTTP requests to the site.

Where to get the keys

  1. In anyCRM, on the “API for your site” module page, press Connect.
  2. Copy the token (acapi_…) and press Save. It is shown only once: keep it in the site’s settings.
  3. Send requests as described below.

API

Base URL: https://api.anycrm.io/api/v1/. Every request is a POST with JSON and the header Authorization: Bearer acapi_…. The body is one object, a list, or {"products": [...]} (orders, customers), up to 500 records.

POST /api/v1/products

A product is matched by your id, and a new one by SKU among existing products. A product with variants becomes their card, each variant a product of its own. quantity sets the stock in anyCRM. Required: id, title; for a variant, id. If anyCRM already has products that did not come from this API, new ones are not created on their own: they wait in Unlinked ("linked": false) until you link them or switch on “Create new products” in ⚙.

curl https://api.anycrm.io/api/v1/products \
  -H "Authorization: Bearer acapi_..." -H "Content-Type: application/json" \
  -d '{"products": [{
    "id": "15", "title": "T-shirt", "sku": "TS", "price": 450, "currency": "uah",
    "category": "Clothes", "description": "...", "images": ["https://.../1.jpg"],
    "url": "https://shop.example/ts", "available": true,
    "params": {"Material": "Cotton"},
    "variants": [
      {"id": "m", "title": "M", "sku": "TS-M", "quantity": 3},
      {"id": "l", "title": "L", "sku": "TS-L", "price": 480, "quantity": 0}
    ]
  }]}'
{"ok": true, "products": [{"id": "15", "product_id": 301, "linked": true}, {"id": "15-m", "product_id": 302, "linked": true}]}

POST /api/v1/orders

A new order is created with its customer (found by phone) and takes its goods from stock. Sending the same id again updates its status and waybill; an order completed or canceled in anyCRM stays so. Statuses: new, processing, shipped, completed, canceled. A line with product_id (and variant_id) is linked to the product sent before; without it, it is a plain line with a title and price.

{
  "id": "A-1042", "status": "new", "date": "2026-09-30T12:00:00Z", "currency": "uah",
  "customer": {"first_name": "Olena", "last_name": "Koval", "phone": "+380671234567", "email": "o@example.com"},
  "items": [
    {"product_id": "15", "variant_id": "m", "title": "T-shirt M", "qty": 2, "price": 450},
    {"title": "Gift wrap", "qty": 1, "price": 30}
  ],
  "shipping": "Nova Poshta", "shipping_cost": 80, "city": "Kyiv", "address": "Branch 12",
  "ttn": "", "payment_method": "card", "paid": true, "comment": "Call first"
}
{"ok": true, "orders": [{"id": "A-1042", "order_id": 518, "created": true, "status": "newOrder"}]}

POST /api/v1/customers

A customer is matched by phone, then by email; at least one is required. The fields sent are updated, the rest are kept.

{"first_name": "Olena", "last_name": "Koval", "middle_name": "", "company_name": "", "phone": "+380671234567", "email": "o@example.com", "notes": "VIP"}

Errors

An error answer is {"ok": false, "error": "..."} with a code: 400 not JSON, 401 bad token, 403 module switched off, 413 over 500 records, 422 a missing field or a wrong value (a price or quantity that is not a number). A request is safe to repeat.

Connecting in anyCRM

  1. Open Modules in anyCRM, find “API for your site” and press Enable.
  2. Go to the module’s page in the side panel and press Connect.
  3. The account appears in the list with a green tick. An error, if any, shows in red under its name.

Good to know

  • The token is access to your data. Lost it, or it got out? Delete the connection and make a new one: the old token stops working at once.
  • The API only adds and updates: nothing can be read or deleted through it.

Can’t get it connected? Write to us and we’ll help.

Try anyCRM free