Перейти к содержанию

Контрагенты API

Раздел описывает работу с контрагентами CARGO.RUN Логистика: создание, удаление, получение списка и одного элемента, а также работу с договорами и адресами/точками контрагента.

Контрагенты используются в заявках и заказах через поля counterpartyId, cargoOwnerDictionaryItemId, contractId и связанные адресные точки.


1. Контрагенты

1.1. Создание или обновление контрагента

POST /api/CargoOwnerDictionary/Apply

Метод создает нового контрагента или обновляет существующего.

Если id = 0, создается новый контрагент. Если id содержит ID существующего контрагента, метод обновляет его данные.

Основные поля запроса CounterpartyEditModel

Поле Тип Описание
id long 0 для создания, ID контрагента для обновления
name string? Наименование
inn string? ИНН
kpp string? КПП
ogrn string? ОГРН
address string? Юридический адрес полностью
city, street, houseNumber string? Части юридического адреса
mailingAddress string? Почтовый адрес
settlementAccount string? Расчетный счет
correspondentAccount string? Корреспондентский счет
bankName string? Название банка
bankId string? БИК
counterpartyGroupId long? ID группы контрагентов
comment string? Комментарий
management Management? Руководитель
contactPerson CounterpartyContactPersonModel? Контактное лицо
documents CounterpartyDocumentModel[]? Документы
platforms CounterpartyPlatformModel[]? Площадки/платформы
noteForDrivers string? Примечание для водителей
analyzeStrictOffsetHours int? Смещение для учета посещений точки
status CounterpartyStatus? Статус контрагента
isInsolvent boolean Контрагент неплатежеспособен
insolvencyComment string? Комментарий о неплатежеспособности

Пример

{
  "id": 0,
  "name": "ООО \"ЦИФРОВИЗАЦИЯ ТРАНСПОРТА\"",
  "inn": "1650379003",
  "kpp": "165001001",
  "status": "Priority",
  "analyzeStrictOffsetHours": 48,
  "comment": "Произвольный комментарий по контрагенту",
  "noteForDrivers": "Произвольное примечание по контрагенту, которое отображается водителям",
  "management": {},
  "platforms": [
    {
      "name": "Атракс",
      "url": "https://www.atrucks.su/",
      "representativeFullName": "Иван Цыплаков",
      "representativeEmail": "example@example.com",
      "representativePhoneNumber": "+74343434344",
      "paymentTypeId": 41,
      "paymentPeriodType": "InCalendarDays",
      "paymentMethodType": "ByUnloading"
    }
  ],
  "manual": true
}

1.2. Получение списка контрагентов

GET /api/CargoOwnerDictionary/Get

Метод возвращает список контрагентов в OData-формате. Общее количество записей приходит в заголовке X-MetaCount.

Query-параметры

Параметр Описание
withDeleted Включить удаленных контрагентов
onlyInsolvent Вернуть только неплатежеспособных контрагентов
$filter Фильтр по полям модели, например Id eq 1
$orderby Сортировка, например CreatedAt desc
$top Количество записей
$skip Смещение
$count Запросить количество записей

Основные поля ответа CounterpartyListModel

Поле Тип Описание
id long ID контрагента
name string? Наименование
inn string? ИНН
kpp string? КПП
email string? Email организации
hasAccess boolean Есть доступ к просмотру заявок
linkedOrganizationId long? ID прикрепленной организации
comment string? Комментарий
status CounterpartyStatus Статус контрагента
insolvencyRegistryEntry InsolvencyRegistryEntryGetModel? Данные из реестра неплатежеспособности
counterpartyGroupId long? ID группы контрагента
counterpartyGroupName string? Название группы контрагента
documents CounterpartyDocumentModel[]? Документы
points CounterpartyPointModel[]? Точки/адреса контрагента
isDeleted boolean Контрагент удален

1.3. Получение одного контрагента

GET /api/CargoOwnerDictionary/Get({id})

Метод возвращает карточку контрагента по ID.

Параметры

Параметр Тип Описание
id long ID контрагента в path

Основные поля ответа CounterpartyModel

Поле Тип Описание
id long ID контрагента
isDeleted boolean Контрагент удален
name, inn, kpp, ogrn string? Реквизиты контрагента
address, mailingAddress string? Юридический и почтовый адрес
city, street, houseNumber string? Части адреса
email string? Email организации
management Management? Руководитель
bankName, bankId string? Банк и БИК
settlementAccount, correspondentAccount string? Расчетный и корреспондентский счет
regionId long? ID региона
flags CounterpartyFlag Флаги контрагента
type CounterpartyType Тип контрагента
contactPerson CounterpartyContactPersonModel? Контактное лицо
hasAccess boolean Есть доступ к просмотру заявок
linkedOrganizationId long? ID прикрепленной организации
comment string? Комментарий
noteForDrivers string? Примечание для водителей
status CounterpartyStatus Статус
isInsolvent boolean Контрагент неплатежеспособен
insolvencyComment string? Комментарий о неплатежеспособности
counterpartyGroupId, counterpartyGroupName long?, string? Группа контрагента
documents CounterpartyDocumentModel[]? Документы
points CounterpartyPointModel[]? Точки/адреса
platforms CounterpartyPlatformModel[]? Площадки
documentTemplates CounterpartyDocumentTemplateModel[]? Шаблоны документов

1.4. Удаление контрагента

POST /api/CargoOwnerDictionary/Delete

Метод удаляет контрагента, если это не запрещено бизнес-правилами.

Тело запроса CounterpartyDeleteModel

{
  "id": 57398
}
Поле Тип Описание
id long ID контрагента

2. Договоры контрагентов

Договоры привязаны к контрагенту и используются в заявках/заказах через contractId.

2.1. Создание или обновление договора

POST /api/CargoOwnerDictionary/ApplyContract

Если id = 0, создается новый договор. Если id содержит ID договора, метод обновляет существующий договор.

Поля запроса CounterpartyContractEditModel

Поле Тип Описание
id long 0 для создания, ID договора для обновления
counterpartyId long ID контрагента
legalPersonId long ID организации/юридического лица
name string? Название договора
number string? Номер договора
date date Дата договора
settlementCurrency string? Валюта взаиморасчетов
billingOptionId long? Вариант выставления счета
invoiceTriggerType InvoiceTriggerType? Основание для выставления счета
paymentPeriod int? Срок оплаты
paymentTypeId long? Тип оплаты
paymentPeriodType PaymentPeriodType? Вариант срока оплаты
debtCeiling double? Лимит задолженности
currentDebt double? Текущая задолженность
isMain boolean? Основной договор

Пример

{
  "id": 0,
  "counterpartyId": 129762942,
  "name": "999999 от 08.07.2026",
  "isMain": true,
  "legalPersonId": 127039078,
  "number": "999999",
  "date": "2026-07-08",
  "invoiceTriggerType": "ByOriginal",
  "settlementCurrency": "Руб",
  "paymentPeriod": 30,
  "paymentPeriodType": "InCalendarDays",
  "paymentTypeId": 41,
  "debtCeiling": 123000,
  "currentDebt": 5000
}

2.2. Получение списка договоров

GET /api/CargoOwnerDictionary/GetContracts?counterpartyId={counterparty_id}

Метод возвращает список договоров контрагента в OData-формате.

Query-параметры

Параметр Описание
counterpartyId ID контрагента
$filter Фильтр по полям модели
$orderby Сортировка
$top Количество записей
$skip Смещение
$count Запросить количество записей

2.3. Получение одного договора

GET /api/CargoOwnerDictionary/GetContract?counterpartyId={counterparty_id}&contractId={contract_id}

Параметры

Параметр Тип Описание
counterpartyId long ID контрагента
contractId long ID договора

Поля ответа CounterpartyContractModel

Поле Тип Описание
id long ID договора
name string? Название договора
number string? Номер договора
date date Дата договора
settlementCurrency string? Валюта взаиморасчетов
billingOptionId long? Вариант выставления счета
invoiceTriggerType InvoiceTriggerType? Основание для выставления счета
legalPersonId long? ID организации/юридического лица
legalPersonName string? Название организации/юридического лица
paymentPeriod int? Срок оплаты
paymentPeriodType PaymentPeriodType? Вариант срока оплаты
paymentTypeId long? Тип оплаты
debtCeiling double? Лимит задолженности
currentDebt double? Текущая задолженность
isMain boolean Основной договор

2.4. Удаление договора

POST /api/CargoOwnerDictionary/DeleteContract

Тело запроса CounterpartyContractDeleteModel

{
  "id": 100500,
  "counterpartyId": 57398
}
Поле Тип Описание
id long ID договора
counterpartyId long ID контрагента

3. Адреса и точки контрагентов

Точки контрагента используются для сохранения часто используемых адресов погрузки, выгрузки или складов.

3.1. Создание или обновление точки

POST /api/CargoOwnerDictionary/ApplyCounterpartyPoint

Поля запроса CounterpartyPointEditModel

Поле Тип Описание
id long 0 для создания, ID точки для обновления
counterpartyId long ID контрагента
organizationId long ID организации
name string? Наименование точки
client string? Клиент
geozone MapObjectEditModel Геоданные точки
lastUsedAt date-time Дата последнего использования

Основные поля geozone

Поле Тип Описание
id long ID геообъекта
location PointEditModel Координаты
address string? Полный адрес
city, village, state, county, street, houseNumber string? Компоненты адреса
federalDistrict string? Федеральный округ
coordinates array? Координаты полигона
radius double? Радиус
type MapObjectType Тип точки

Пример

{
  "id": 0,
  "counterpartyId": 129647035,
  "name": "Филиал IV",
  "geozone": {
    "location": {
      "type": "Point",
      "coordinates": [
        47.28185386175986,
        56.06857967426879
      ]
    },
    "address": "Россия, Чувашская Республика — Чувашия, Чебоксары, микрорайон Альгешево, улица Розы Люксембург, 2",
    "geocoderSourceType": "Yandex",
    "city": "Чебоксары",
    "state": "Чувашская Республика — Чувашия",
    "county": "городской округ Чебоксары",
    "street": "улица Розы Люксембург",
    "houseNumber": "2",
    "federalDistrict": "Приволжский федеральный округ",
    "radius": 500,
    "coordinates": null,
    "type": "CounterpartyPoint"
  }
}

3.2. Получение списка точек

GET /api/CargoOwnerDictionary/GetCounterpartyPoints?counterpartyId={counterparty_id}

Метод возвращает список точек контрагента в OData-формате.

3.3. Получение одной точки

GET /api/CargoOwnerDictionary/GetCounterpartyPoint/{id}

Поля ответа CounterpartyPointModel

Поле Тип Описание
id long ID точки
counterpartyId long ID контрагента
name string? Наименование
client string? Клиент
geozone MapObjectModel Геоданные точки
lastUsedAt date-time Дата последнего использования

3.4. Удаление точки

POST /api/CargoOwnerDictionary/DeleteCounterpartyPoint

Тело запроса CounterpartyPointDeleteModel

{
  "id": 2435200
}
Поле Тип Описание
id long ID точки контрагента

3.5. Восстановление точки

POST /api/CargoOwnerDictionary/RestoreCounterpartyPoint

Метод восстанавливает ранее удаленную точку контрагента.