Бюджет (budget)

Метод “budget”

Метод позволяет управлять записями Бюджета:

  • добавлять, изменять, удалять записи о расходах/приходах;
  • добавлять, изменять, удалять категории расходов/доходов;
  • проводить и отменять платежи;
  • перемещать средства между счетами;

URL для вызова:

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

Запрос “category”

Запрос позволяет получить список статей расхода с соблюдением вложенности.

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

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

Ответ:

{
  "dohod": {
    "name": "Доходы",
    "main": [
      {
        "id": 4,
        "title": "Прочие поступления",
        "sub": [
          {
            "id": 5,
            "title": "Инвестиции"
          },
          {
            "id": 13,
            "title": "Наличка"
          },
          {
            "id": 234,
            "title": "Прочие доходы"
          }
        ]
      }
    ]
  },
  "rashod": {
    "name": "Расходы",
    "main": [
      {
        "id": 1,
        "title": "Расходы на офис",
        "sub": [
          {
            "id": 2,
            "title": "Аренда офиса"
          },
          {
            "id": 8,
            "title": "Оборудование"
          },
          {
            "id": 116,
            "title": "Почтовые расходы"
          },
          {
            "id": 7,
            "title": "Продукты питания"
          },
          {
            "id": 3,
            "title": "Телефония"
          }
        ]
      },
      {
        "id": 18,
        "title": "Расчеты с контрагентами",
        "sub": [
          {
            "id": 233,
            "title": "Бюджет: налоги, взносы, пфр"
          },
          {
            "id": 20,
            "title": "Партнеры"
          },
          {
            "id": 19,
            "title": "Поставщики"
          }
        ]
      },
      {
        "id": 14,
        "title": "Реклама",
        "sub": [
          {
            "id": 231,
            "title": "100CRM"
          },
          {
            "id": 17,
            "title": "Direct Mail"
          },
          {
            "id": 16,
            "title": "Вебинары"
          },
          {
            "id": 15,
            "title": "Интернет-реклама"
          },
          {
            "id": 232,
            "title": "Справочник"
          }
        ]
      },
      {
        "id": 9,
        "title": "Сотрудники",
        "sub": [
          {
            "id": 10,
            "title": "Зарплата"
          },
          {
            "id": 12,
            "title": "Командировочные"
          },
          {
            "id": 11,
            "title": "Премия"
          }
        ]
      }
    ]
  }
}

Запрос “fields”

Запрос позволяет получить список доступных полей, хранящих информацию о бюджете в формате – «Имя поля» - «Расшифровка назначения» для формирования дальнейших запросов.

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

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

Ответ:

{
    "data": {
        "id": "Идентификатор записи расхода\/дохода",
        "cat": "Категория расхода дохода из таблицы budjet_cat",
        "title": "Название расхода\/дохода",
        "des": "Описание",
        "year": "Год",
        "mon": "Месяц",
        "summa": "Сумма",
        "datum": "Дата изменения записи",
        "iduser": "id пользователя",
        "do": "Отметка о проведении",
        "rs": "id расч. счета",
        "rs2": "id расч. счета для перемещения средств между счетами",
        "fid": "id файла",
        "did": "id сделки",
        "conid": "clid для поставщиков",
        "partid": "clid для партнеров"
    }
}

Запрос “list”

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

Параметры запроса (не обязательные):

  • year – выборка по году (если не указано, то принимается текущий год)

Фильтры (не обязательные):

  • month – выборка по месяцу
  • word – фильтр по названию или описаниюномеру расхода
  • did - фильтр по id Сделки
  • do - фильтр по признаку проведенности расхода
    • do - фильтр по проведенным расходам
    • nodo - фильтр по не проведенным расходам

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

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

{
    "year": 2024,
    "month": 2
}

Ответ:

{
  "data": [
    {
      "id": 577,
      "create": "26.06.2024 17:33",
      "datum": "28.06.23",
      "period": "2.2024",
      "title": "Налоги",
      "content": null,
      "summa": "50 000,00",
      "type": "rashod",
      "category": "Бюджет: налоги, взносы, пфр",
      "istochnik": "касса",
      "conid": 1649,
      "provider": "Первая компания поставок, ООО",
      "partid": 0,
      "partner": false,
      "did": 979,
      "deal": "СД4327: Новая сделка",
      "user": "Андреев Владислав",
      "change": "yes",
      "color": "graybg-sub",
      "mon": "2",
      "clone": 1,
      "move": null,
      "smove": null,
      "isdo": null,
      "edit": true,
      "invoice": "1100",
      "invoice_date": "12.02.2024",
      "invoice_paydate": "10.04.2024",
      "datePlan": "19.02.2024",
      "isOverdue": true
    }
  ]
}

Запрос “info”

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

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

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

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

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

{
    "id": 749
}

Ответ:

{
    "data": {
        "id": 749,
        "cat": 19,
        "razdel": "Поставщики",
        "title": "Платеж контрагенту",
        "des": "Оплата по счету № 259 от 01.04.2024. Сумма 12665-00. Без налога (НДС).",
        "year": 2024,
        "mon": 4,
        "summa": "12665.00",
        "datum": "2024-04-01 17:10:07",
        "date_plan": null,
        "invoice": null,
        "invoice_date": null,
        "invoice_paydate": null,
        "iduser": 1,
        "do": "on",
        "rs": 24,
        "bank": "Модульбанк (ИП)",
        "rs2": 0,
        "bank2": false,
        "fid": null,
        "files": [],
        "did": 0,
        "conid": 6271,
        "partid": 0,
        "changelog": [
            {
                "datum": "2024-04-10 17:10:07",
                "status": "new",
                "statusName": "Новый",
                "iduser": "1 ",
                "user": "Андреев Владислав",
                "comment": "Добавлен расход на сумму 12665."
            },
            {
                "datum": "2024-04-10 17:10:07",
                "status": "complete",
                "statusName": "Выполнен",
                "iduser": "1 ",
                "user": "Андреев Владислав",
                "comment": "Проведен расход на сумму 12665.00"
            }
        ]
    }
}

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

403 – Бюджет с указанным id не найден в пределах аккаунта указанного пользователя
404 – Не удалось получить расход
405 – Отсутствуют параметры - id расхода/прихода

Запрос “add”

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

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

  • date_plan - плановая дата расхода (формат YYYY-MM-DD)
  • title – название расхода/дохода (обязательное поле)
  • category – id категории бюджета из таблицы budjet_cat
  • invoice – номер счета поставщика
  • invoice_date - дата счета поставщика
  • invoice_paydate - дата оплаты счета поставщика (если оплачен)
  • description – описание
  • summa – сумма расхода/дохода
  • do - отметка о проведении("on" - проведен)
  • rs - id расчетного счета
  • did - id сделки
  • clid - id записи Поставщика/Партнера

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

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

{
    "date_plan": "2024-07-01",
    "title": "Заправка принтера",
    "category": 1,
    "summa": 1000.00,
    "did": 982,
    "clid": 6268,
    "rs": 19
}

Ответ:

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

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

Если есть отметка о том, что расход нужно провести, но на указанном р/сч недостаточно средств, то получим сообщение

{
    "result": "Запись добавлена. Расход не проведен, так как недостаточно средств на счете",
    "data": 751
}

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

407 - Отсутствует параметр - Название расхода/дохода

Запрос “update”

Запрос позволяет изменить данные расхода/дохода по его id. При этом нет необходимости передавать все данные по расходу/доходу – можно передать только изменившиеся данные.

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

  • id – уникальный идентификатор записи расхода/дохода (обязательное поле)
  • прочие поля fields – информация для обновления

Примечание:

  • При передаче пустого поля - данные поля будут очищены
  • Можно передавать только те данные, которые нужно обновить

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

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

{
    "id": 751,
    "description": "Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться. Lorem Ipsum используют потому, что тот обеспечивает более или менее стандартное заполнение шаблона",
    "summa": 1000.50,
    "category": 2
}

Ответ:

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

{
    "result": "Успешно обновлено",
    "data": 751
}

Если есть отметка о том, что расход нужно провести, но на указанном р/сч недостаточно средств, то в ответ получим:

{
    "result": "Запись о расходе изменена. Расход не проведен, так как недостаточно средств на счете",
    "data": 751
}

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

403 - Записи с таким id не существует

Запрос “doit”

Запрос позволяет провести расход, указав его id.

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

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

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

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

{
    "id": 526
}

Ответ:

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

{
    "result": "Успешно проведен",
    "data": 526
}

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

403 – Запись бюджета с указанным id не найдена в пределах аккаунта
405 – Отсутствуют параметры - id расхода/дохода
406 – Расход не проведен - недостаточно средств на счете. Выберите другой расчетный счет

Запрос “undoit”

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

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

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

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

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

{
    "id": 526
}

Ответ:

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

{
    "result": "Проведение отменено",
    "data": 526
}

В случае, если расход не был проведен, то в ответ получим:

{
    "result": "Отмена - расход не проведен",
    "data": 526
}

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

403 – Запись бюджета с указанным id не найдена в пределах аккаунта
405 – Отсутствуют параметры - id расхода/дохода

Запрос “move”

Запрос позволяет осуществлять перемещение средств между счетами в CRM.

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

  • title – название перевода
  • des – описание
  • do – отметка о проведении ("on" - признак проведения)
  • summa – сумма перевода
  • from – id р/сч, с которого перемещаем средства (см. метод guides)
  • to – id р/сч, на который перемещаем средства

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

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

{
    "title": "Перемещение_22",
    "description": "Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться. Lorem Ipsum используют потому, что тот обеспечивает более или менее стандартное заполнение шаблона",
    "summa": 15000.00,
    "from": 4,
    "to": 11
}

Ответ:

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

{
    "result": "Средства успешно перемещены",
    "data": 528
}

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

405 - Отсутствуют параметры
406 - Средства не перемещены: Недостаточно средств на счете. Выберите другой расч. счет

Запрос “unmove”

Запрос позволяет отменить перемещение средств между счетами.

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

  • id – id записи перемещения средств

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

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

{
    "id": 528
}

Ответ:

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

{
    "result": "Перемещение средств отменено",
    "data": 528
}

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

405 - Отсутствует параметр - id записи о перемещении средств
406 - Отмена невозможна: Недостаточно средств на счете. Выберите другой расч. счет

Запрос “delete”

Запрос позволяет удалить указанную запись расхода/дохода по id. Метод работает только в случае, если расход не проведен.

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

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

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

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

{
    "id": 525
}

Ответ:

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

{
    "result": "Удалено",
    "data": 525
}

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

403 – Запись с указанным id не найдена в пределах аккаунта
405 – Отсутствуют параметры - id расхода/дохода
406 – Невозможно удалить расход/доход, т.к. он был проведен. Попробуйте отменить проведение

Запрос “categoryadd”

Запрос позволяет добавить категорию расхода/дохода в базу CRM.

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

  • subid – id родительской категории
  • title – название расхода/дохода (обязательное поле)
  • tip – тип (rashod - расход/ dohod - доход)

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

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

{
    "title": "Офисные расходы",
    "subid": 0,
    "tip": "rashod"
}

Ответ:

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

{
  "result": "Категория добавлена",
  "data": 234
}

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

405 - Отсутствует параметр - Название категории расхода/дохода

Запрос “categoryedit”

Запрос позволяет добавить категорию расхода/дохода в базу CRM.

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

  • id - id измененяемой категории
  • subid – id родительской категории
  • title – название расхода/дохода (обязательное поле)
  • tip – тип(rashod - расход/ dohod - доход)

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

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

{
    "id": 234,
    "title": "Офисные расходы 2"
}

Ответ:

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

{
    "result": "Категория изменена",
    "data": 234
}

Запрос “categorydelete”

Запрос позволяет удалить категорию расхода/дохода.

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

  • id – id категории

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

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

{
    "id": 234
}

Ответ:

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

{
    "result": "Категория удалена",
    "data": 234
}

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

405 - Отсутствуют параметры - id категории расхода/дохода
408 - Удаление категории невозможно. Имеются подразделы