Реализация интеграции между платформой InSales и системой Maxma для полноценного управления программой лояльности, начислением/списанием бонусов, использования промокодов и CRM-маркетинга как в розничных точках, так и в интернет-магазине. Интеграция Maxma и InSales позволяет реализовать полноценную омниканальную программу лояльности, охватывая весь цикл взаимодействия с клиентом: от регистрации до покупки и повторных обращений. Внедрение таких решений повышает LTV, сокращает отток и улучшает показатели маркетинга без изменения основной архитектуры магазина.
graph TD;
A[InSales Storefront] -->|REST API / Webhook| B[Backend магазина]
B -->|POST JSON| C(Maxma API)
C -->|Результат (JSON)| B
B -->|Отображение баланса / скидок| A
POST https://api.maxma.com/new-client
Headers:
Content-Type: application/json
Accept: application/json
X-Processing-Key: {{SECRET_KEY}}
Body:
{
"client": {
"phoneNumber": "+79998887766",
"email": "client@example.com",
"fullName": "Иванов Иван",
"birthdate": "1990-01-01T00:00:00+03:00",
"card": "INS0012345678"
}
}
POST https://api.maxma.com/v2/calculate-purchase
Body:
{
"calculationQuery": {
"client": {
"phoneNumber": "+79998887766"
},
"shop": {
"code": "inSales-shop"
},
"rows": [
{
"sku": "SKU123",
"price": 1500,
"quantity": 2
}
],
"promocode": "SALE2025"
}
}
Ответ возвращает расчет итоговой суммы с учетом бонусов и промокодов. Он используется в интерфейсе оформления заказа InSales.
После оформления заказа на стороне клиента в InSales:
Вызов /v2/set-order резервирует бонусы. После оплаты заказа вызывается /confirm-order
POST /v2/set-order
{
"orderId": "ORDER-123",
"calculationQuery": {
"client": { "phoneNumber": "+79998887766" },
"shop": { "code": "inSales-shop" },
"rows": [ { "sku": "SKU123", "price": 1500, "quantity": 1 } ],
"applyBonuses": 300
}
}
Расчет бонусов для товаров:
POST /api/loyalty/products/calculate
Пример запроса:
{
"items": [
{"product_id": 123, "quantity": 2},
{"product_id": 456, "quantity": 1}
]
}
Синхронизация данных:
GET /admin/products.json?updated_since=2023-01-01
external_id
, price
, stock_quantity
.Автоматическая при создании клиента:
Настройте вебхук в InSales:
Событие: client/create
URL: https://your-server.ru/maxma-register
Пример обработчика:
POST /api/loyalty/clients
Тело запроса:
{
"phone": "79001234567",
"email": "client@mail.ru",
"birthday": "1990-01-01"
}
С SMS-подтверждением:
POST /api/loyalty/clients/register
POST /api/loyalty/clients/confirm
Тело:
{
"phone": "79001234567",
"code": "123456"
}
POST /get-balance
{
"phoneNumber": "+79998887766"
}
Тело:
POST /get-history
{
"client": { "phoneNumber": "+79998887766" },
"pagination": { "limit": 10, "offset": 0 }
}
После интеграции клиентская база автоматически попадает в систему Maxma. Используя RFM-сегментацию, можно запускать:
Поддержка промокодов и “Приведи друга”
При создании клиента или оформлении заказа можно передавать промокоды:
"promocode": "FRIEND2025"
В ответе Maxma вернет применимость и результат расчета, а также можно использовать метод /issue-promocode для выдачи индивидуальных кодов.
Используется Webhook InSales для отслеживания заказов и регистрации клиентов.
Все вызовы к Maxma делаются с backend-сервера, так как API не поддерживает CORS.
Для хранения состояния клиента (например, промокодов, баланса, ID) рекомендуется использовать дополнительные поля в сущностях InSales или отдельную базу.
Если нужна помощь с реализацией интеграции - мы партнеры этих платформ.
Документация: