Перейти к основному содержимому

API-справочник

Базовый URL: https://api.maxscrm.com/api/v1 (песочница: https://sandbox.maxscrm.com/api/v1)

Все методы вызываются через SDK-клиент. Прямые HTTP-запросы запрещены.

Контакты

МетодОписание
sdk.contacts.search(params?)поиск по имени/телефону/email
sdk.contacts.get(id)карточка контакта
sdk.contacts.create(data)создание
sdk.contacts.update(id, data)обновление
sdk.contacts.delete(id)удаление
const results = await sdk.contacts.search({ q: 'Иван', page: 1, pageSize: 20 });
const contact = await sdk.contacts.create({
name: 'Иван Петров',
phone: '+79990001122',
email: 'ivan@example.com',
});

Сделки

МетодОписание
sdk.leads.list()список сделок
sdk.leads.get(id)сделка
sdk.leads.create(data)создание
sdk.leads.update(id, data)обновление
sdk.leads.moveStage(id, stage)смена этапа
sdk.leads.delete(id)удаление
const lead = await sdk.leads.create({
contactId: 'contact-123',
title: 'Крупная сделка — Q3',
amount: 150000,
stage: 'NEW',
});
await sdk.leads.moveStage(lead.id, 'QUALIFIED');

Сообщения

МетодОписание
sdk.messages.send(data)отправка сообщения
sdk.messages.list(channel?)список по каналу
sdk.messages.get(id)сообщение

Плагины (маркетплейс)

МетодОписание
sdk.plugins.list()приложения, доступные организации
sdk.plugins.get(id)детали приложения

Контекст

const ctx = await sdk.getContext();
// ctx.user.id, ctx.org.id, ctx.entity.type ('contact'|'lead'|'deal'|'none'),
// ctx.entity.id, ctx.env ('sandbox'|'production'), ctx.locale

Хранилище

sdk.storage.set('user.prefs', { theme: 'dark' });
const prefs = sdk.storage.get('user.prefs');
sdk.storage.remove('user.prefs');

Ключи автоматически префиксуются идентификатором приложения.

UI-мост (postMessage)

sdk.bridge.init('https://app.maxscrm.com');
const unsub = sdk.bridge.events.on('contact.created', (payload) => {
console.log('Новый контакт:', payload);
});
const contact = await sdk.bridge.context.getContact();
unsub();
sdk.bridge.destroy();

Полный справочник типов — в пакете: @maxscrm/sdk/types.