Сделки (deal)
Метод “deal”
Метод позволяет управлять записями Сделок – добавлять, обновлять, удалять.
URL для вызова:
http(s)://{{baseurl}}/developer/v3/deal/запрос?параметр=значение
Запрос “fields”
Запрос позволяет получить список доступных полей, хранящих информацию о сделке в формате – «Имя поля» - «Расшифровка назначения» для формирования дальнейших запросов.
В список включены поля, активированные в Панели управления / Формы сделок. Не активные поля игнорируются при обработке.
Пример запроса:
GET http://crm_url/developer/v3/deal/fields
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
Ответ:
{
"data": {
"did": "Уникальный идентификатор записи",
"uid": "Уникальный идентификатор записи во внешней системе",
"datum": "Дата создания. YYYY-MM-DD",
"datum_izm": "Дата последнего изменения. YYYY-MM-DD",
"clid": "Клиент",
"mcid": "ID своей компании",
"iduser": "Куратор",
"datum_plan": "Дата план.",
"step": "Этап",
"dog_num": "Договор",
"tip": "Тип сделки",
"direction": "Направление",
"adres": "Адрес",
"content": "Описание",
"payer": "Плательщик",
"kol": "Сумма план.",
"marga": "Прибыль",
"input1": "Адрес Доставки",
"input2": "Список",
"input6": "Район города",
"input7": "Дата, Время",
"input9": "Замерщик",
"input10": "Монтажники",
"input14": "Штраф специалиста",
"input13": "Штраф замерщикам",
"input12": "Штраф монтажникам",
"input11": "Специалист",
"datum_start": "Период действия. Начало",
"datum_end": "Период действия. Конец",
"close": "Признак закрытой сделки",
"datum_close": "Дата закрытия. YYYY-MM-DD",
"status_close": "Результат закрытия сделки",
"des_fact": "Комментарий закрытия сделки",
"kol_fact": "Фактическая сумма продажи"
}
}
Запрос “steplist”
Запрос позволяет получить список этапов в формате – «Этап» - «Расшифровка назначения» для формирования дальнейших запросов.
Пример запроса:
GET http://crm_url/developer/v3/deal/steplist
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
Ответ:
Ответ содержит массив этапов с расшифровкой значений
{
"data": [
{
"idcategory": 10,
"title": "0",
"content": "Проявлен\/Выявлен интерес"
},
{
"idcategory": 2,
"title": "20",
"content": "Подтвержден интерес"
},
{
"idcategory": 11,
"title": "40",
"content": "Отправлено КП"
},
{
"idcategory": 5,
"title": "60",
"content": "Обсуждение деталей - продукты, услуги, оплата"
},
{
"idcategory": 6,
"title": "80",
"content": "Согласован договор, Выставлен счет"
},
{
"idcategory": 7,
"title": "90",
"content": "Получена предоплата, Выполнение договора"
},
{
"idcategory": 8,
"title": "100",
"content": "Закрытие сделки, Подписание документов"
}
]
}
Запрос “direction”
Запрос позволяет получить список Направлений в формате – «Направление» - «Расшифровка назначения» для формирования дальнейших запросов.
Пример запроса:
GET http://crm_url/developer/v3/deal/direction
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
Ответ:
Ответ содержит массив Направлений с расшифровкой значений. Параметр "isDefault = yes" указывает на то, что это направление устанавливается по-умолчанию, если другое не указано
{
"data": [
{
"id": 1,
"title": "Консалтинг",
"isDefault": ""
},
{
"id": 2,
"title": "Оборудование",
"isDefault": "yes"
},
{
"id": 3,
"title": "Проектные работы",
"isDefault": ""
}
]
}
Запрос “type”
Запрос позволяет получить список типов сделок для формирования дальнейших запросов.
Пример запроса:
GET http://crm_url/developer/v3/deal/type
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
Ответ:
Ответ содержит массив типов сделок
{
"data": [
{
"tid": 7,
"title": "Ежемесячный"
},
{
"tid": 65,
"title": "Продажа быстрая",
"isDefault": "yes"
},
{
"tid": 1,
"title": "Продажа простая"
},
{
"tid": 2,
"title": "Продажа с разработкой"
},
{
"tid": 4,
"title": "Продажа услуг"
},
{
"tid": 38,
"title": "Сервисная"
},
{
"tid": 6,
"title": "Тендер"
},
{
"tid": 3,
"title": "Услуги"
}
]
}
Запрос “statusclose”
Запрос позволяет получить список статусов закрытых сделок.
Параметры запроса:
- filter - строка, содержащащая дополнительный фильтр по типу статуса
- win - успешное закрытие
- lose - проигрыш
Пример запроса:
GET http://crm_url/developer/v3/deal/statusclose
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"filter": "win"
}
Ответ:
Ответ содержит массив статусов закрытия сделки, которые используются в запросе close
{
"data": [
{
"sid": 1,
"title": "Победа полная",
"content": "Обозначает выигрыш, Договор выполнен и получена прибыль",
"result": "win"
},
{
"sid": 2,
"title": "Победа, договорились с конкурентами",
"content": "Сделка выиграна, заключен и исполнен договор, получена прибыль",
"result": "win"
}
]
}
Запрос “funnel”
Запрос позволяет получить подробную информацию о воронках.
Параметры запроса:
- int did – уникальный идентификатор записи Сделки для вывода воронки для конкретной сделки
- int|string direction – название или id Направления
- int|string type – название или id Типа сделки
Возможные сочетания параметров:
- did > 0 - выводит воронку для конкретной сделки
- did = NULL, direction > 0, type = NULL - выводит все воронки для указанного Направления
- did = NULL, direction = NULL, type > 0 - выводит все воронки для указанного Типа сделки
- did = NULL, direction > 0, type > 0 - выводит данные воронки для указанного сочетания Направление + Типа сделки
Пример запроса:
GET http://crm_url/developer/v3/deal/funnel
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 966
}
Ответ:
Ответ содержит массив воронок, в зависимости от запроса:
- array steps - этапы воронки: id этапа => продолжительность (дн.)
- int default - этап воронки по-умолчанию
- string defaultName - значение этап воронки по-умолчанию
- int length - полная продолжительность воронки
- string funnel - название воронки
- array current - текущий этап
- array next - следующий этап
- array prev - предыдущий этап
- array stepsName - массив этапов воронки (id => значение в %)
{
"data": {
"steps": {
"10": "2",
"2": "2",
"11": "2",
"6": "2",
"7": "2",
"8": "2"
},
"default": 2,
"length": 12,
"funnel": "Оборудование\/Продажа простая",
"prev": {
"id": 7,
"title": "90",
"content": "Получена предоплата, Выполнение договора"
},
"current": {
"id": 8,
"title": "100",
"content": "Закрытие сделки, Подписание документов"
},
"next": {
"id": 0,
"title": null,
"content": null
},
"stepsName": {
"10": "0",
"2": "20",
"11": "40",
"6": "80",
"7": "90",
"8": "100"
},
"defaultName": "20"
}
}
Запрос “list”
Запрос позволяет получить список сделок, доступных текущему сотруднику, в т.ч. с применением фильтров.
Параметры запроса (не обязательные):
- int offset – страница вывода, с учетом того, что установлен лимит в 200 записей на страницу (по умолчанию offset = 0)
- string order – поле, по которому будет производится сортировка списка (по умолчанию order = datum)
- string first – направление сортировки (new – сначала новые, old – сначала старые). (по умолчанию first = new)
Фильтры (не обязательные):
- string uid – ограничение по uid сделки (идентификатор из внешней системы)
- string user – ограничение по пользователю (указывается логин пользователя)
- int iduser – ограничение по пользователю (указывается ID пользователя)
- date dateStart – начальная дата создания записи (формат - YYYY-MM-DD)
- date dateEnd – конечная дата создания записи (не обязательно, формат - YYYY-MM-DD)
- только dateStart – вывод записей с датой создания больше указанной даты
- только dateEnd – вывод записей с датой создания меньше указанной даты
- string word – слово поиска по полям title, des, adres в сделке
- string client – слово поиска по названию клиента
- string steps – фильтр по этапам с перечислением названий этапов через запятую (Например – 10,20,40)
- bool active - (true / false – по умолчанию) выводить только активнаые сделки или закрытые
- string fields – указание списка полей, выводимых запросом (did,title,clid,kol,marga)
- string invoice - если равен "no", то ответ не будет содержать счетов (yes - по умолчанию)
- string bankinfo - для включения банковских реквизитов
- string uids – вывод связанных идентификаторов внешних систем (yes / no – по умолчанию) [ см. Заявки ]
- string uidname - ограничение поиска uids по имени uid
- array uidnames - то же самое, но можно передать несколько имен uid
- array filter - массив, содержащий дополнительные фильтры:
- int clid - идентификатор клиента-заказчика
- int payer - идентификатор клиента-плательщика
- string|int direction - направление деятельности в текстовом виде (напроимер, основное)
- string|int tip - тип сделки в текстовом виде
- string input1...input10 - доп.поле
- string phone - поиск по номеру телефона клиента
Пример формирования запроса:
GET http://crm_url/developer/v3/deal/list
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"order": "date_create",
"dateStart": "2014-01-01",
"dateEnd": "2018-06-01",
"dateChangeStart": "2020-09-01",
"dateChangeEnd": "2024-09-10",
"fields": "did,title,clid,kol,marga,datum",
"steps": "10,20,40",
"active": true,
"uids": true,
"bankinfo": true,
"invoice": true
}
Ответ:
В поле “data” приходит список записей, в поле "count" - приходит общее количество записей в выборке
- data - список записей
- params - доп.данные
- page - текущая страница
- pageall - общее кол-во страниц
- count - общее количество записей в выборке
Запрос “info”
Запрос позволяет получить информацию о сделке по её идентификатору - did.
Параметры запроса:
- int did – уникальный идентификатор записи или
- string uid – идентификатор из внешней системы
- string fields – ограничение вывода информации по полям с разделением запятыми без пробелов
- bool invoice - включая счета (true / false – по умолчанию)
- bool speka - включая спецификацию (true / false – по умолчанию)
- bool client - включая информацию о Заказчике (true / false – по умолчанию)
- bool payer - включая информацию о Плательщике (true / false – по умолчанию)
- bool contact - включая информацию о связанных Контактах (true / false – по умолчанию)
- bool uids – вывод связанных идентификаторов внешних систем (true / false – по умолчанию) [ см. Заявки ]
- bool contacts – вывод всех связанных контактов (true / false – по умолчанию)
Пример запроса:
GET http://crm_url/developer/v3/deal/info
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 779
}
Ответ:
{
"data": {
"did": 779,
"uid": null,
"datum": null,
"datum_izm": null,
"clid": null,
"title": "A21: Пробная тестовая сделка API №04",
"mcid": 2,
"iduser": 1,
"user": "vladislav@isaler.ru",
"userUID": "DIR100",
"datum_plan": "2024-04-30",
"step": 8,
"stepID": 8,
"stepTitle": 100,
"tipID": 1,
"tip": "Продажа простая",
"directionID": 2,
"direction": "Оборудование",
"adres": "г. Пермь, ул. Пушкина, 66",
"content": "Календарем дел пользуются практически все - ведь он помогает не забыть о текущих делах и планировать будущие действия.",
"kol": 175046,
"marga": 47191,
"input1": "г. Пермь",
"input2": "Значение 3",
"input6": "Свердловский",
"input7": "2018-09-03 09:10",
"input9": "",
"input10": "",
"input14": "",
"input13": "",
"input12": "",
"input11": "",
"datum_start": null,
"datum_end": null,
"datum_close": null,
"des_fact": null,
"kol_fact": 0,
"speka": [
{
"spid": 380,
"prid": 2353,
"artikul": "7414",
"title": "BizFAX E100 факс-сервер, 1 FXO, 1 FXS, 1 RJ45",
"tip": "0",
"kol": 5,
"dop": "1",
"edizm": "шт.",
"price": 19516,
"price_in": 13949,
"nds": 0,
"comment": "Срок поставки 3 недели",
"comments": "Срок поставки 3 недели"
},
{
"spid": 381,
"prid": 2310,
"artikul": "7722",
"title": "SIP-T12P SIP-телефон, 2 линии, PoE",
"tip": "0",
"kol": 10,
"dop": "1",
"edizm": "шт.",
"price": 3774,
"price_in": 2831,
"nds": 0,
"comment": "",
"comments": ""
},
{
"spid": 398,
"prid": 2310,
"artikul": "7722",
"title": "SIP-T12P SIP-телефон, 2 линии, PoE",
"tip": "0",
"kol": 10,
"dop": "1",
"edizm": "шт.",
"price": 3774,
"price_in": 2831,
"nds": 0,
"comment": "",
"comments": ""
},
{
"spid": 429,
"prid": 2325,
"artikul": "131234214",
"title": "EHS36 адаптер для беспроводных гарнитур Plantronics\/Jabra\/Sennheiser для телефонов T38G\/T28P\/T26P",
"tip": "0",
"kol": 1,
"dop": "1",
"edizm": "шт.",
"price": 1986,
"price_in": 1490,
"nds": 0,
"comment": "",
"comments": ""
}
]
}
}
Возможные ответы в случае ошибок:
403 – Сделка с указанным did не найдена в пределах аккаунта указанного пользователя
404 – Не найдено
405 – Отсутствуют параметры - did сделки
Запрос “add”
Запрос позволяет добавить новую сделку в базу CRM. При этом ответственным устанавливается сотрудник, логин которого использовался в запросе или указанный отдельно в параметре user
Параметры запроса:
- string uid – уникальный идентификатор во внешней ИС
- string title – название сделки (обязательное поле)
- int clid –идентификатор клиента, к которому будет привязана сделка (обязательное поле)
- int payer - идентификатор клиента-плательщика
- date datum_plan – плановая дата закрытия сделки
- mcid – идентификатор своей компании (можно получить в отдельном запросе). Если не указан, то будет указано id крайней использованной компании в сделках
- user – login пользователя в SalesMan CRM назначаемого Ответственным за клиента
- string pid_list - список id контактов, через запятую
- прочие поля fields – информация для добавления
- array speka - массив данных для добавления продуктов, для каждого добавляемого продукта содержит следующие данные:
- int tip - тип позиции (0 - товар, 1 - услуга, 2 - материал)
- string artikul - артикул позиции прайса (уникальный идентификатор товара/услуги)
- string title - наименование позиции
- float kol - количество
- float dop - доп.поле, по умолчанию = 1
- float price - розничная цена (не обязателный параметр, при совпадении актикула или названия с позицией в прайсе берется из прайса)
- float price_in - закупочная цена (не обязателный параметр, при совпадении актикула или названия с позицией в прайсе берется из прайса)
- string edizm - единица измерения (не обязателный параметр, при совпадении актикула или названия с позицией в прайсе берется из прайса)
- float nds - НДС, в %
Примечание
- параметр datum_plan может быть указан в запросе. Если он отсутствует, то будет принято текущая дата + 2 недели
- параметр payer может быть указан в запросе. Если он отсутствует, то будет принято payer = clid
- параметр mcid может отсутствовать в запросе. Если не указано, то принимается значение по умолчанию из справочника
- при пустом поле user Ответственным будет назначен текущий пользователь (из запроса)
- следующие параметры передаются в явном, текстовом виде:
- string direction – направление деятельности. Если не указано, то принимается значение по умолчанию из справочника
- string tip – тип сделки. Если не указано, то принимается значение по умолчанию из справочника
- string step – числовое значение текущего этапа (например: 20)
В случае отсутствия переданных значений в справочниках не будут созданы новые записи
Пример формирования запроса:
POST http://crm_url/developer/v3/deal/add
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"title": "Тестовая сделка 6465464",
"uid": "7989825655",
"clid": 26653,
"payer": 26653,
"step": "40",
"datum_plan": "2022-05-30",
"kol": 100000.00,
"marga": 20000.00,
"user": "vladislav@isaler.ru",
"content": "Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться. Lorem Ipsum используют потому, что тот обеспечивает более или менее стандартное заполнение шаблона, а также реальное распределение букв и пробелов в абзацах, которое не получается при простой дубликации \"Здесь ваш текст.. Здесь ваш текст.. Здесь ваш текст..\"",
"speka": [
{
"artikul": "7414",
"title": "BizFAX E100 факс-сервер, 1 FXO, 1 FXS, 1 RJ45",
"tip": "1",
"kol": 5,
"dop": "1",
"price": 18831.15,
"price_in": 13949.00,
"edizm": "шт.",
"nds": 18
},
{
"artikul": "7722",
"title": "SIP-T12P SIP-телефон, 2 линии, PoE",
"tip": "1",
"kol": "10",
"dop": "1",
"price": "3821,85",
"price_in": "2831,00",
"edizm": "шт.",
"nds": "18"
}
]
}
Ответ:
В поле “data” приходит id записи
{
"result": "Успешно",
"data": 981,
"text": [
"Добавлены позиции в спецификацию. Ошибок 0"
]
}
Возможные ответы в случае ошибок:
405 – Отсутствуют параметры - clid и payer клиента
406 – Отсутствуют параметры - Название сделки
407 - Клиент или Плательщик не найден
Запрос “update”
Запрос позволяет обновить данные сделки по её did или uid. При этом нет необходимости передавать все данные – можно передать только изменившиеся данные.
Параметры запроса:
- int did – уникальный идентификатор клиента (обязательное поле) или
- string uid – уникальный идентификатор во внешней ИС
- string fields - прочие поля, информация для обновления
- string pid_list - список id контактов, через запятую
- array speka - массив данных для добавления продуктов, для каждого добавляемого продукта содержит следующие данные:
- string artikul - артикул позиции прайса (уникальный идентификатор товара/услуги)
- string title - наименование позиции
- float kol - количество
- float dop - доп.поле, по умолчанию = 1
- float price - розничная цена (не обязателный параметр, при совпадении актикула или названия с позицией в прайсе берется из прайса)
- float price_in - закупочная цена (не обязателный параметр, при совпадении актикула или названия с позицией в прайсе берется из прайса)
- string edizm - единица измерения (не обязателный параметр, при совпадении актикула или названия с позицией в прайсе берется из прайса)
- float nds - НДС, в %
Важно
- Если в запросе есть массив speka (есть спецификация), то предыдущая спецификация будет удалена и добавлена новая
- При наличии спецификации сумма сделки (бюджет) и маржа будут рассчитаны на основе спецификации
- Запрос не применим для изменения статуса сделки (смена этапа, закрытие) - для этого используйте отдельные запросы change.step, change.close
Пример запроса:
POST http://crm_url/developer/v3/deal/update
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 981,
"datum_plan": "2024-04-01",
"title": "Тестовая сделка 6465464-000"
}
Ответ:
В поле “data” приходит id записи
{
"result": "Готово",
"data": 981
}
Если данные совпадают с имеющимися в базе запрос не будет обработан, но ошибки не вернет:
{
"result": "Данные корректны, но идентичны имеющимся.",
"data": 981,
"error": {
"code": 302
}
}
Результат обработки спецификации будет добавлен к предыдущему ответу.
Возможные ответы в случае ошибок:
403 – Сделка с указанным did не найдена в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - did сделки
Запрос “list”
Запрос позволяет изменить этап сделки по её did с указанием комментария изменения.
Параметры запроса:
- int did – уникальный идентификатор клиента (обязательное поле) или
- string uid – уникальный идентификатор во внешней ИС
- string step – числовое значение нового этапа (обязательное поле)
- string description – комментарий к изменению этапа
Дополнительно:
- Если в системе активирован модуль «Контрольные точки» и текущий этап связан с какой-либо контрольной точкой, то она будет отмечена выполненной. Также сообщение будет записано в Историю активности.
Пример запроса:
POST http://crm_url/developer/v3/deal/change.step
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 981,
"step": 20,
"description": "Есть кое-какой интерес"
}
Ответ:
- В поле “data” приходит id записи
- В поле “result” приходит дополнительное сообщение
{
"result": "Этап сделки изменен на 20%. Предыдущий этап 40%",
"data": 981
}
Если данные совпадают с имеющимися в базе запрос не будет обработан, но ошибки не вернет:
{
"result": "Error",
"error": {
"code": 302,
"text": "Данные корректны, но идентичны имеющимся"
}
}
Возможные ответы в случае ошибок:
403 – Сделка с указанным did не найдена в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - Новый этап
406 – Отсутствуют параметры - did сделки
Запрос “change.user”
Запрос позволяет передать сделку по её did или uid.
Параметры запроса:
- int did – уникальный идентификатор сделки (обязательное поле) или uid – уникальный идентификатор во внешней ИС
- string user – логин нового Ответственного или
- int iduser - ID нового Ответственного
- bool client – будет передан Клиент (true / false – по умолчанию)
- bool person – будут переданы Контакты (true / false – по умолчанию)
Пример запроса:
POST http://crm_url/developer/v3/deal/change.user
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 981,
"iduser": 3,
"client": false,
"person": false
}
Ответ:
В поле “data” приходит id записи
{
"result": "Успешно. Клиент не переведен<br>Контакты не переведены",
"data": 981
}
Возможные ответы в случае ошибок:
403 – Сделка с указанным did не найдена в пределах аккаунта указанного пользователя
406 – Отсутствуют параметры - did сделки
Запрос “close”
Запрос позволяет закрыть сделку по её did или uid.
Параметры запроса:
- int did – уникальный идентификатор сделки (обязательное поле) или
- string uid – уникальный идентификатор во внешней ИС
- int sid – статус закрытия сделки (обязательное поле) или
- string status_close – статус закрытия сделки (обязательное поле)
- float kol_fact – сумма сделки при закрытии (если не указано, то = сумме по сделке)
- float marga – маржа сделки при закрытии (если не указано, то = марже по сделке)
- string des_fact – комментарий при закрытии
Пример запроса:
POST http://crm_url/developer/v3/deal/close
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 981,
"sid": 1,
"description": "Комментарий к закрытию сделки"
}
Ответ:
В поле “data” приходит id записи
{
"result": "Ok",
"data": "Сделка закрыта со статусом Победа полная"
}
Возможные ответы в случае ошибок:
403 – Сделка с указанным did не найдена в пределах аккаунта указанного пользователя
405 – Отсутствуют или не корректны параметры - Статус закрытия сделки
406 – Отсутствуют параметры - did сделки
407 – Сделка уже закрыта
Запрос “delete”
Запрос позволяет удалить сделку по её did. Метод работает только в случае, если у сделки нет выставленных счетов.
Параметры запроса:
- int did – уникальный идентификатор сделки (обязательное поле) или
- string uid – уникальный идентификатор во внешней ИС
Пример запроса:
POST http://crm_url/developer/v3/deal/delete
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru
{
"did": 981
}
Ответ:
В поле “data” приходит id записи
{
"result": "Сделка удалена",
"data": 981
}
Возможные ответы в случае ошибок:
403 – Сделка с указанным did не найдена в пределах аккаунта указанного пользователя
406 – Отсутствуют параметры - did сделки
407 – Удаление сделки не возможно - есть Оплаченные/Неоплаченые счета
Работа со счетами вынесена в отдельный метод invoice