Акты (akt)

Метод “akt”

Метод позволяет управлять Актами – добавлять, обновлять, удалять.

URL для вызова:

http(s)://{{baseurl}}/developer/v3/akt/запрос?параметр=значение

Запрос “statuses”

Запрос позволяет получить список статусов Актов для формирования дальнейших запросов.

Пример запроса:

GET http://{{baseurl}}/developer/v3/akt/statuses
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

Ответ:

  • id - идентификатор статуса
  • title - название статуса
  • color - цветовая схема статуса
  • type - id типа документа, к которым применяется статус (idtype)
{
    "data": [
        {
            "id": 1,
            "title": "Создан",
            "color": "#9edae5",
            "type": 1
        },
        {
            "id": 3,
            "title": "Отправлен клиенту (электронно)",
            "color": "#008000",
            "type": 1
        },
        {
            "id": 4,
            "title": "Распечатан",
            "color": "#95b3d7",
            "type": 1
        },
        {
            "id": 5,
            "title": "Отправлен клиенту (оригиналы)",
            "color": "#548dd4",
            "type": 1
        },
        {
            "id": 6,
            "title": "Получен от клиента (оригиналы)",
            "color": "#ff6600",
            "type": 1
        },
        {
            "id": 7,
            "title": "В архиве",
            "color": "#999999",
            "type": 1
        }
    ]
}

Запрос “templates”

Запрос позволяет получить список шаблонов Актов.

Пример запроса:

GET http://{{baseurl}}/developer/v3/akt/templates
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

Ответ:

  • 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
        }
    ]
}

Возможные ответы в случае ошибок:

404 – Шаблоны не найдены

Запрос “info”

Запрос позволяет получить информацию по Акту по его идентификатору - id.

Параметры запроса:

  • id – уникальный идентификатор записи

Пример запроса:

GET http://{{baseurl}}/developer/v3/akt/info
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 99
}

Ответ:

Ответ содержит следующие специфичные данные:

  • datum - Дата создания Акта
  • number - номер Акта
  • title - Название Акта
  • description - описание Акта
  • template - шаблон Акта
  • templateId - ID шаблона Акта
  • templateTitle - название шаблона Акта
  • templateTypeID - ID типа документа
  • mcid - id Компании, от которой ведется сделка
  • signer - id подписанта компании
  • status - id статуса документа
  • statusTitle - расшифровка статуса
  • crid - идентификатор счета, если Сделка является сервисной
  • positions - список позиций, прикрепленных к акту ( частичная отгрузка )
    • id - id позиции
    • spid - id позиции спецификации
    • prid - id позиции прайса
    • kol - количество
{
    "data": {
        "deid": 99,
        "datum": "12.03.2014",
        "number": "79-0214\/2014",
        "title": "Договор",
        "description": "",
        "template": null,
        "templateID": 0,
        "templateTitle": null,
        "templateTypeID": 0,
        "clid": 1439,
        "clientTitle": "Тестовая организация 2, ЗАО",
        "payer": 1439,
        "payerTitle": "Тестовая организация 2, ЗАО",
        "did": 709,
        "dealTitle": "Поставка шин Мишлен с установкой",
        "mcid": "2",
        "signer": 0,
        "status": "0",
        "statusTitle": false,
        "positions": []
    }
}

Возможные ответы в случае ошибок:

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, то будут выведены записи текущего пользователя и всех подчиненных

Пример запроса:

GET http://{{baseurl}}/developer/v3/akt/list
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "clid": 1440
}

Ответ:

{
    "data": [
        {
            "id": 510,
            "datum": "23.01.2023",
            "datum_start": null,
            "datum_end": null,
            "number": "121",
            "summaf": "642 800,00",
            "summa": 642800,
            "title": null,
            "clid": 1440,
            "client": "Тестовая 3",
            "pid": 0,
            "person": null,
            "did": 968,
            "deal": "СД4316: Новая сделка",
            "payerid": 1440,
            "payer": "Тестовая 3",
            "crid": 0,
            "invoice": "258",
            "invoices": [
                "258"
            ],
            "user": "Андреев Владислав",
            "statuson": "1",
            "status": "Создан",
            "statusTitle": "Создан",
            "statusColor": "#9edae5",
            "mc": "ООО ”Рога и Ко”",
            "mcid": 3,
            "complect": 100
        },
        {
            "id": 189,
            "datum": "14.04.2014",
            "datum_start": null,
            "datum_end": null,
            "number": "12",
            "summaf": "350 000,00",
            "summa": 350000,
            "title": null,
            "clid": 1440,
            "client": "Тестовая 3",
            "pid": 0,
            "person": null,
            "did": 710,
            "deal": "Поставка Светодиодов",
            "payerid": 1440,
            "payer": "Тестовая 3",
            "crid": 0,
            "invoice": "27",
            "invoices": [
                "27"
            ],
            "user": "Андреев Владислав",
            "statuson": "1",
            "status": null,
            "statusTitle": "--",
            "statusColor": "#fff",
            "mc": "ООО ”БИГСЕЙЛЗРУС”",
            "mcid": 2,
            "complect": 100
        }
    ],
    "params": {
        "clid": 1440,
        "page": 0,
        "ord": "datum",
        "tuda": "DESC"
    },
    "count": 2
}

Запрос “add”

Запрос позволяет добавить Документ в базу CRM. При этом ответственным устанавливается сотрудник, логин которого использовался в запросе или указанный отдельно в параметре user

Параметры запроса:

  • number - номер документа. Если не указан, то генерируется автоматически
  • user – логин Ответственного
  • date - дата акта
  • description - описание
  • signer - id подписанта
  • template - файл шаблона (см. запрос "templates") или
  • templateID - ID шаблона (см. запрос "templates")
  • status - id статуса документа (см. запрос "statuses")
  • did - ID сделки
  • speka - массив позиций спецификации для акта ( частичная отгрузка ) [ см. Сделка ] -> speka
    • spid - id позиции спецификации
    • kol - количество ( возможно частичное )

Шаблоны актов:

  • simple - Акт приема-передачи. Услуги
  • full - Акт приема-передачи (расширенный). Услуги
  • prava - Акт приема-передачи. Права

Пример формирования запроса:

POST http://{{baseurl}}/developer/v3/akt/add
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "date": "2024-06-25",
    "template": "akt_full.tpl",
    "description": "Это текст - описание к акту",
    "status": 1,
    "did": 954
}

Ответ:

В поле “data” приходит id созданной записи

{
    "result": "Успешно",
    "data": {
        "id": 535,
        "number": "123",
        "did": 954
    }
}

Возможные ответы в случае ошибок:

405 – Отсутствуют параметры
408 - Акт уже добавлен к сделке (кроме сервисных сделок)
409 - Минимальный этап для акта - ХХХ%

Запрос “update”

Запрос позволяет внести изменения в Акт

Параметры запроса:

  • id - идентификатор Акта
  • date - дата акта
  • signer - id подписанта
  • template - файл шаблона (см. запрос "templates") или
  • templateID - ID шаблона (см. запрос "templates")
  • description - описание
  • status - id статуса документа (см. запрос "statuses")
  • speka - массив позиций спецификации для акта ( частичная отгрузка ) [ см. Сделка ] -> speka
    • spid - id позиции спецификации
    • kol - количество ( возможно частичное )

Пример формирования запроса:

POST http://{{baseurl}}/developer/v3/akt/update
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 535,
    "date": "2024-06-24",
    "template": "akt_full.tpl",
    "description": "Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться. Lorem Ipsum используют потому, что тот обеспечивает более или менее стандартное заполнение шаблона",
    "status": 1
}

Ответ:

{
    "result": "Успешно",
    "data": {
        "id": 535,
        "number": "123",
        "did": 954
    }
}

Возможные ответы в случае ошибок:

403 – Запись не найдена
405 – Отсутствуют параметры - id акта

Запрос “status.change”

Запрос позволяет отметить напоминание выполненным по его id. При этом можно зафиксировать результат выполнения.

Параметры запроса:

  • id – уникальный идентификатор Акта (обязательное поле)
  • status - новый статус документа
  • description – комментарий к новому статусу

Пример запроса:

POST http://{{baseurl}}/developer/v3/akt/status.change
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 535,
    "description": "Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться",
    "status": 3
}

Ответ:

{
    "result": "Успешно: Данные обновлены",
    "data": 535
}

Возможные ответы в случае ошибок:

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)

Пример запроса:

POST http://{{baseurl}}/developer/v3/akt/mail
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 535,
    "theme": "Документ на согласование",
    "status": 5
}

Ответ:

В поле “result“ приходит ответ обработчика, в поле “data” приходит id акта

{
    "result": "Успешно",
    "data": 535,
    "text": "Сделано"
}

В случае ошибки:

{
    "result": "Error",
    "error":{
        "code":"407",
        "text":"Не найдено получателей"
    },
    "data": 535
}

Возможные ответы в случае ошибок:

403 – Акт не найден
407 – Не найдено получателей

Запрос “html”

Запрос позволяет получить содержимое Акта в виде HTML

Параметры запроса:

  • number - номер Акта
  • id - идентификатор записи (если номер не уникален или не указан)
  • nosignat - если равен "yes", то в ответе не будет изображения печати

Наличие параметра "number" ИЛИ "id" обязательно для поиска счета в базе. Получить список счетов с "id" и "number" можно с помощью метода list

Пример запроса:

GET http://{{baseurl}}/developer/v3/akt/html
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 535,
    "nosignat": "yes"
}

Ответ:

  • в поле “html“ приходит ответ HTML (специальные символы преобразованы в HTML-сущности),
  • в поле “id” приходит id акта,
  • в поле "number" приходит номер акта

Возможные ответы в случае ошибок:

403 – Акт по ID или Номеру не найден

Запрос “pdf”

Запрос позволяет получить ссылку на счет в виде PDF

Параметры запроса:

  • invoice - номер счета
  • id - идентификатор записи счета (если номер не уникален или не указан)
  • nosignat - если равен "yes", то в ответе не будет изображения печати

Наличие параметра "invoice" ИЛИ "id" обязательно для поиска счета в базе. Получить список счетов с "id" и "invoice" можно с помощью метода info

Примечание

если файл не существует, то он будет сгенерирован (требуется больше времени на обработку). Поэтому в cURL запросе следует установить повышенное время ожидания ответа (подбирается опытным путем, но >=20)

Пример запроса:

GET http://{{baseurl}}/developer/v3/akt/pdf
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 535,
    "nosignat": "yes"
}

Ответ:

  • в поле “url“ приходит URL pdf-файла (слэши экранированы),
  • в поле “id” приходит id акта,
  • в поле "number" приходит номер акта
{
    "url": "http:\/\/sm2021.crmsm2021.crm\/files\/akt_123.pdf",
    "id": 535,
    "number": "123"
}

Возможные ответы в случае ошибок:

403 – Акт по ID или Номеру не найден

Запрос “delete”

Запрос позволяет удалить Документ по его id.

Параметры запроса:

  • id – уникальный идентификатор Документа (обязательное поле)

Пример запроса:

POST http://{{baseurl}}/developer/v3/akt/delete
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru

{
    "id": 535
}

Ответ:

{
    "result": "Успешно",
    "data": 535
}

Возможные ответы в случае ошибок:

403 – Не найдено
500 – Системная ошибка