Акты (akt)
Метод “akt”
Метод позволяет управлять Актами – добавлять, обновлять, удалять.
URL для вызова - http(s)://crm_url/developer/v2/akt?параметр=значение
Запрос “statuses”
Запрос позволяет получить список статусов Актов для формирования дальнейших запросов.
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
"action" => "statuses"
]
$urlparams = http_build_query($params);
Ответ:
- id - идентификатор статуса
- title - название статуса
- color - цветовая схема статуса
- type - массив, содержащий типы Актов, к которым применяется статус (idtype => Название)
{
"data":[
{
"id":"1",
"title":"Создан",
"color":"#9edae5",
"type":{
"2":"Акт приема-передачи",
"9":"Акт сервисный"
}
},
{
"id":"3",
"title":"Отправлен клиенту (электронно)",
"color":"#008000",
"type":{
"2":"Акт приема-передачи",
"9":"Акт сервисный"
}
},
...
]
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
Запрос “templates” Новое
Запрос позволяет получить список шаблонов Актов.
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
"action" => "templates"
]
$urlparams = http_build_query($params);
Ответ:
- id - идентификатор шаблона
- title - название шаблона
- file - файл шаблона
- typeid - идентификатор типа документа ( templateTypeID )
{
"data" : [
{ "id" : "99", "title" : "Приёма-передачи. Права", "file" : "akt_prava.tpl", "typeid" : "2" },
{ "id" : "98", "title" : "Приёма-передачи. Услуги", "file" : "akt_simple.tpl", "typeid" : "2" },
{ "id" : "97", "title" : "Приёма-передачи. Услуги (расширенный)", "file" : "akt_full.tpl", "typeid" : "2" },
{ "id" : "144", "title" : "Тестовый", "file" : "ACT5c90d48a266a3_akt.tpl", "typeid" : "2" }
]
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
404 – Шаблоны не найдены
Запрос “info”
Запрос позволяет получить информацию по Акту по его идентификатору - id.
Параметры запроса:
- id – уникальный идентификатор записи
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'info',
"id" => 330
]
$urlparams = http_build_query($params);
Ответ:
Ответ содержит следующие специфичные данные:
- datum - Дата создания Акта
- number - номер Акта
- title - Название Акта
- description - описание Акта
- template - шаблон Акта
- templateId - ID шаблона Акта
- templateTitle - название шаблона Акта
- templateTypeID - ID типа документа
- mcid - id Компании, от которой ведется сделка
- status - id статуса документа
- statusTitle - расшифровка статуса
- crid - идентификатор счета, если Сделка является сервисной
- positions - список позиций, прикрепленных к акту ( частичная отгрузка )
- id - id позиции
- spid - id позиции спецификации
- prid - id позиции прайса
- kol - количество
{
"data":{
"deid":"330",
"datum":"29.06.2018",
"number":"60",
"title":"Акт приема-передачи",
"description":"Создан документ",
"template":"akt_full.tpl",
"templateTitle":"Акт приема-передачи (расширенный). Услуги",
"templateTypeID":"2",
"clid":"1835",
"clientTitle":"911site.ru",
"payer":"1835",
"payerTitle":"911site.ru",
"did":"913",
"dealTitle":"СД4261: 911site.ru",
"mcid":"3",
"status":"1",
"statusTitle":"Создан"
}
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
404 – Документ не найден
405 – Отсутствуют параметры - id Акта
Запрос “list”
Запрос позволяет получить список Актов, в т.ч. с применением фильтров.
Параметры запроса (не обязательные):
- offset – страница вывода, с учетом того, что установлен лимит в 200 записей на страницу (по умолчанию offset = 0)
- order – поле, по которому будет производится сортировка списка (по умолчанию order = datum)
- first – направление сортировки (new – сначала новые, old – сначала старые ). (по умолчанию first = new)
Фильтры (не обязательные):
- user – ограничение по пользователю (указывается логин пользователя)
- dateStart – начальная дата напоминания (формат - YYYY-MM-DD)
- dateEnd – конечная дата напоминания (не обязательно, формат - YYYY-MM-DD)
- только dateStart – вывод записей с датой выполнения больше указанной даты
- только dateEnd – вывод записей с датой выполнения меньше указанной даты
- word – фильтр по описанию или номеру документа
- clid - фильтр по Клиенту
- did - фильтр по Сделке
Примечание
Если не указан user, то будут выведены записи текущего пользователя и всех подчиненных
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'list',
// страница, с учетом вывода 200 записей на страницу
"offset" => 0,
// поле для упорядочивания записей
"order" => 'datum',
// направление сортировки; new - по-умолчанию, old - сначала более старые
"first" => '',
// ограничение по login пользователя
//"user" => 'marand@omadaru.ru',
// даты создания
"dateStart" => '2017-01-01',
"dateEnd" => '2018-08-31',
// фильтр по описанию или номеру документа
"word" => '',
//фильтр по клиенту
//"clid" => 1781,
//фильтр по сделке
//"did" => 913
]
$urlparams = http_build_query($params);
Ответ:
{
"data":[
{
"id":"330",
"datum":"29.06.2018",
"number":"60",
"template":"Акт приема-передачи (расширенный). Услуги",
"clid":"1835",
"client":"911site.ru",
"did":"913",
"deal":"СД4261: 911site.ru",
"payerid":"1835",
"payer":"911site.ru",
"mcid":"3",
"status":"1",
"statusTitle":"Создан",
"statusColor":"#9edae5"
},
{
"id":"322",
"datum":"22.05.2018",
"number":"59",
"template":"Акт приема-передачи (расширенный). Услуги",
"clid":"1372",
"client":"Уральская инвестиционно-строительная компания, ООО",
"did":"548",
"deal":"Внедрение",
"payerid":"1372",
"payer":"Уральская инвестиционно-строительная компания, ООО",
"mcid":"2",
"status":"1",
"statusTitle":"Создан",
"statusColor":"#9edae5"
},
...
],
"count":"10"
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
Запрос “add”
Запрос позволяет добавить Документ в базу CRM. При этом ответственным устанавливается сотрудник, логин которого использовался в запросе или указанный отдельно в параметре user
Параметры запроса:
- number - номер документа. Если не указан, то генерируется автоматически
- user – логин Ответственного
- date - дата акта
- description - описание
- template - файл шаблона (см. запрос "templates") или
- templateID - ID шаблона (см. запрос "templates")
- status - id статуса документа (см. запрос "statuses")
- did - ID сделки
- speka - массив позиций спецификации для акта ( частичная отгрузка ) [ см. Сделка ] -> speka
- spid - id позиции спецификации
- kol - количество ( возможно частичное )
Шаблоны актов:
- simple - Акт приема-передачи. Услуги
- full - Акт приема-передачи (расширенный). Услуги
- prava - Акт приема-передачи. Права
Пример формирования запроса в PHP:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'add',
//номер акта, если не указано - будет сгенерирова по порядку
"number" => '',
//дата акта
"date" => "2018-07-01",
// шаблон Акта: имя файла или ID шаблона
"template" => "akt_full.tpl",
"templateID" => "97",
//описание
"description" => "Это текст - описание к акту",
// id статуса документа
"status" => 1,
// сделка
"did" => 918,
// позиции спецификации ( частичная отгрузка )
"speka" => [
[
"spid" => 345,
"kol" => 25
],
[
"spid" => 346,
"kol" => 10
]
]
];
$urlparams = http_build_query($params);
Ответ:
В поле “data” приходит id созданной записи
{
"result":"Успешно",
"data":{
"id":362,
"number":"71",
"did":913
}
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
405 – Отсутствуют параметры
408 - Акт уже добавлен к сделке (кроме сервисных сделок)
409 - Минимальный этап для акта - ХХХ%
Запрос “update”
Запрос позволяет внести изменения в Акт
Параметры запроса:
- id - идентификатор Акта
- date - дата акта
- template - файл шаблона (см. запрос "templates") или
- templateID - ID шаблона (см. запрос "templates")
- description - описание
- status - id статуса документа (см. запрос "statuses")
- speka - массив позиций спецификации для акта ( частичная отгрузка ) [ см. Сделка ] -> speka
- spid - id позиции спецификации
- kol - количество ( возможно частичное )
Пример формирования запроса в PHP:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'update',
//дата акта
"date" => "2018-07-01",
// шаблон Акта: имя файла или ID шаблона
"template" => "akt_full.tpl",
"templateID" => "97",
//описание
"description" => "Это текст - описание к акту",
// позиции спецификации ( частичная отгрузка )
"speka" => [
[
"spid" => 345,
"kol" => 25
],
[
"spid" => 346,
"kol" => 10
]
]
];
$urlparams = http_build_query($params);
Ответ:
{"result":"Успешно","data":{"id":279,"number":"57","did":"920"}}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Напоминание не найдено
405 – Отсутствуют параметры - id напоминания
Запрос “status.change”
Запрос позволяет отметить напоминание выполненным по его id. При этом можно зафиксировать результат выполнения.
Параметры запроса:
- id – уникальный идентификатор Акта (обязательное поле)
- status - новый статус документа
- description – комментарий к новому статусу
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'status.change',
//описание
"description" => "Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться",
"id" => 276,
"status" => '4'
]
$urlparams = http_build_query($params);
Ответ:
{"result":"Успешно: Данные обновлены","data":276}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Не найдено
500 – Системная ошибка
Запрос “delete”
Запрос позволяет удалить Документ по его id.
Параметры запроса:
- id – уникальный идентификатор Документа (обязательное поле)
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
"action" => 'delete',
"id" => 276
]
$urlparams = http_build_query($params);
Ответ:
{"result":"Документ удален","data":276}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Не найдено
500 – Системная ошибка
Запрос “mail”
Позволяет отправить существующий счет в виде PDF контактам по сделке
Параметры запроса:
- id – уникальный идентификатор счета
- invoice - номер счета
- user – логин Ответственного
- theme - тема сообщения, если не указано, то будет установлено "Счет на оплату"
- content - тело сообщения, если не указано, то будет использован шаблон по-умолчанию
- status - id статуса документа (см. запрос "statuses")
Примечание
- Сначала будет произведен поиск Контактов, прикрепленным к Сделке
- Если Контакты в сделке не найдены, то будет произведен поиск Основного контакта Клиента
- Если Контакты не найдены, то отправка будет произведена на Email, указанный в карточке Плательщика по сделке
Шаблон сообщения:
Приветствую, {{person}}
Отправляю Вам документ: {{docTitle}}.
Спасибо за внимание.
С уважением,
{{mName}}
Тел.: {{mPhone}}
Email.: {{mMail}}
==============================
{{mCompany}}
Применимые тэги:
- {{person}} - заменяет ИМЯ контакта
- {{mName}} - Имя сотрудника
- {{mPhone}} - Телефон сотрудника
- {{mMail}} - Email сотрудника
- {{mCompany}} - Название компании (короткое) из справочника "Мои компании", за которой закреплена сделка
- {{docTitle}} - Название документа, включая Тип, Номер и Дата документа (например: Договор на рекламу №22-2007 от 01.01.2018)
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'mail',
//id документа
"id" => 362,
//тема сообщения
//"theme" => "Документ на согласование",
//содержание сообщения
//"content" => "",
//id статуса документа
"status" => 3
];
$urlparams = http_build_query($params);
Ответ:
В поле “result“ приходит ответ обработчика, в поле “data” приходит расширенный отчет обработки
{
"result":"Успешно: Сделано",
"data":362
}
В случае ошибки:
{
"result":"Error",
"data":315,
"error":{"code":"407","text":"Не найден ни один получатель"}
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Счет по номеру не найден
407 – Не указан ни один получатель
Запрос “html”
Запрос позволяет получить содержимое Акта в виде HTML
Параметры запроса:
- number - номер Акта
- id - идентификатор записи (если номер не уникален или не указан)
- nosignat - если равен "yes", то в ответе не будет изображения печати
Наличие параметра "number" ИЛИ "id" обязательно для поиска счета в базе. Получить список счетов с "id" и "number" можно с помощью метода list
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'invoice.html',
//id счета
"id" => 925,
//исключение печати из вывода
//"nosignat" => "yes",
//номер счета
"invoice" => "158",
];
$urlparams = http_build_query($params);
Ответ:
- в поле “html“ приходит ответ HTML,
- в поле “id” приходит id акта,
- в поле "number" приходит номер акта
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Акт по ID или Номеру не найден
Запрос “pdf”
Запрос позволяет получить ссылку на счет в виде PDF
Параметры запроса:
- invoice - номер счета
- id - идентификатор записи счета (если номер не уникален или не указан)
- nosignat - если равен "yes", то в ответе не будет изображения печати
Наличие параметра "invoice" ИЛИ "id" обязательно для поиска счета в базе. Получить список счетов с "id" и "invoice" можно с помощью метода info
Примечание
если файл не существует, то он будет сгенерирован (требуется больше времени на обработку). Поэтому в cURL запросе следует установить повышенное время ожидания ответа (подбирается опытным путем, но >=20)
Пример запроса:
$params = [
"login" => "vladislav@isaler.ru",
"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
// указываем метод
"action" => 'invoice.html',
//id счета
"id" => 925,
//исключение печати из вывода
//"nosignat" => "yes",
//номер счета
"invoice" => "158",
];
$urlparams = http_build_query($params);
Ответ:
- в поле “url“ приходит URL pdf-файла (слэши экранированы),
- в поле “id” приходит id акта,
- в поле "number" приходит номер акта
{
"url":"http://sm2018.crm/files/akt_57.pdf",
"id":"315",
"number":"57"
}
Возможные ответы в случае ошибок:
400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Счет по ID или Номеру не найден