Розділи документації API
Документація API/CRM/Контрагенти

Контрагенти

Компанії та ФОП: клієнти, постачальники, партнери. Право ролі: account.

Маршрути

GET/account
Список контрагентів з пагінацією, фільтрами й total.
право: account.view2 очк.
GET/account/{id}
Одна картка.
право: account.view1 очк.
GET/account/count
Лише кількість за тими самими фільтрами (голе число).
право: account.view2 очк.
POST/account
Створити.
право: account.create5 очк.
PUT/account/{id}
Оновити.
право: account.update5 очк.
DELETE/account/{id}
Видалити.
право: account.delete5 очк.
GET/account/deleted?since=…
Видалені з моменту since, див. Синхронізація.
право: account.view2 очк.

Усі поля

Обов’язкове лише name. Канали, теги, доп. поля, адреси й реквізити (ЄДРПОУ, IBAN) описані в розділі Вкладені дані.

ПолеТипОбмеженняОпис
nameобов.рядок≤ 255 симв.Назва компанії.
external_idрядок≤ 64 симв.Ключ запису у вашій системі. Унікальний; пошук: filter[external_id;eq]. Див. «Синхронізація».
is_defaultboolОсновна юрособа (для ваших компаній).
phoneрядок≤ 20 симв.Основний телефон (окреме поле; телефони для пошуку й дзвінків зберігаються в channels).
extra_phoneрядок≤ 20 симв.Додатковий телефон.
industryрядокГалузь.
emailрядок≤ 255 симв.Основний email (окреме поле; адреси для розсилок зберігаються в channels).
websiteрядок≤ 255 симв.Сайт.
personal_discountчисло≤ 100Персональна знижка, % (0–100). Підставляється в позиції документів клієнта.
credit_limitціле, копійкиКредитний ліміт, копійки.
descriptionрядок≤ 1024 симв.Опис / коментар.
owner_ididВідповідальний користувач (/user). Якщо не передано, це користувач токена.
type_ididТип контрагента (/lookup?type=acc_type).
is_archivedboolВ архіві. Архівні записи приховує параметр is_archived=true.
lead_account_ididЛід, з якого створено контрагента.
price_book_ididПрайс-лист (/price-book).
tagsмасив TagТеги: [{"id": 3}] або [{"name": "VIP"}]. Передані замінюють усі теги запису. Див. «Вкладені дані».
idлише читанняцілеІдентифікатор запису.
created_by_idлише читанняidХто створив запис.
shop_idлише читанняidМагазин (філія), ставиться з профілю користувача.
deleted_atлише читаннядата-часЧас видалення (у звичайних відповідях завжди null).
created_atлише читаннядата-часЧас створення.
updated_atлише читаннядата-часЧас останньої зміни, на ньому будується інкрементальна синхронізація.
import_idлише читанняidId імпорту, яким створено запис.
tasksлише читаннямасив TaskЗавдання запису (лише у відповіді).
subлише читаннярядокСлужбове поле, ігноруйте.
updated_userлише читанняоб’єкт UserХто змінив запис останнім.
versionлише читанняцілеСлужбовий лічильник змін запису.

Вкладені масиви

  • channels: пишеться в тілі POST/PUT, формат див. у розділі Вкладені дані.
  • entity_tags: звʼязки з тегами приходять лише у відповіді (з expand=EntityTags.Tag), а пишуться полем tags.
  • account_extra_fields: пишеться в тілі POST/PUT, формат див. у розділі Вкладені дані.
  • payment_details: пишеться в тілі POST/PUT, формат див. у розділі Вкладені дані.
Повʼязані обʼєкти для ?expand= (6)

Без expand приходять як null; писати їх не можна, передавайте відповідне *_id.

Owner → UserCreatedBy → UserShop → ShopType → LookupLead → LeadPriceBook → PriceBook

Службові поля у відповіді, ігноруйте: OldAccount.

Приклади

Створити контрагента з кодом з 1С

POST /api/v1/account
{
  "name": "ТОВ «Ромашка»",
  "external_id": "1c-000123",
  "channels": [ { "type": "phone", "value": "+380441234567", "label": "Офіс" } ],
  "tags": [ { "name": "Опт" } ]
}

Додати реквізити

POST /api/v1/payment-detail
{ "account_id": 12, "contractor_type": "legal_entity", "country": "Україна",
  "legal_name": "ТОВ «Ромашка»", "tax_number": "12345678", "address": "м. Київ, вул. Хрещатик, 1",
  "currency": "UAH", "iban": "UA213223130000026007233566001" }

Знайти за ЄДРПОУ

GET /api/v1/account?filter[requisites.tax_number;eq]=12345678&fields=id,name
payment_details у тілі контрагента не приймаються, реквізити передавайте тільки через /payment-detail.