Top.Mail.Ru

API сервиса Финансист

API методы общего назначения

Общая информация


Все запросы должны сопровождаться заголовком (header) "Authorization" вида "apiKey {hashKey}"

Ошибка "Не передан параметр inModel" означает, что тело json на входе пустое. Наличие json обязательно.


Методы

Получение списка статей факта


Метод обновляет возвращает список статей факта, относящихся к финплану

Адрес: /api/apikey/V2/general/getListFactStream

Запрос

Структура В запрос достаточно передать пустую строку. id интеграции определяется по переданному apiKey.

Ответ

Структура В случае успешного ответа поле data будет содержать список моделей вида
Пример json запроса

{
    	"isOk": true,
    	"resultText": "",
    	"data": [
           	{
                   	"id": 180485,
                   	"name": "Социальные отчисления",
                   	"reportTypeId": 114,
                   	"directionTypeId": 510
           	},
           	{
                   	"id": 180486,
                   	"name": "Нераспределенный приход",
                   	"reportTypeId": 114,
                   	"directionTypeId": 500
           	},
           	{
                   	"id": 180487,
                   	"name": "Нераспределенный расход",
                   	"reportTypeId": 114,
                   	"directionTypeId": 510
           	}
    	],
    	"formValidation": []
}
Ответ в случае ошибки
{
  "isOk": false,
  "resultText": "[текст ошибки]",
  "data": "",
  "formValidation": []
}

Добавление нового платежа

Для приема платежей пользователь отправляет POST запрос с платежом.

Адрес: /api/apikey/V1/payment/add
Платеж может содержать следующие поля:
Как разбирать импорт

  1. Статья: исходя из Direction ставим либо приход, либо расход.
  2. Тип контрагента: Без типа
  3. Если тип операции не указан, то ставим "Стандартная"
  4. Если статус оплаты не указан, то ставим "Оплачен"
  5. Если приоритет не указан, то ставим "Не срочный"
  6. Дата создания: определяем сами
  7. Дата изменения: определяем сами
  8. Тип внесения: публичное API
Пример json запроса

{
    "priorityId": 532,
    "paymentDate": "2019-09-03",
    "paymentSum": 12345.0,
     "contragentId": 50382,
    "paymentPurpose": "test again",
    "invoiceId": 4289,
    "accountId": 2185,
    "responsible": "no 1",
    "comment": "testest",
    "paymentStatusId": 530,
    "operationTypeId": 411,
    "directionId": 500,
    "externalId": "testeqwerqwer"
}

Добавление нескольких платежей одним запросом

Адрес: /api/apikey/V1/payment/addList

POST запрос.

В запросе передаётся массив платежей (таких же объектов, что и для метода add). Проверки проводятся для каждого платежа.

Одновременно допускается добавление не более 100 платежей за раз.
Пример json запроса

[{
"paymentDate": "2018-01-13",
"paymentSum": 23421.0,
"accountId": 2308,
"directionId": 500,
"externalId": "test001",
"priorityId": 534,
"contragentId": 54688,
"paymentPurpose": "sdfsdfg",
"responsible": "gfdfdf",
"comment": "sdfasdf",
"paymentStatusId": 530,
"operationTypeId": 412
},
{
"paymentDate": "2018-01-14",
"paymentSum": 24444.0,
"accountId": 2308,
"directionId": 510,
"externalId": "test002",
"priorityId": 534,
"contragentId": 58022,
"paymentPurpose": "sdfsdfg",
"responsible": "gfdfdf",
"comment": "sdfasdf",
"paymentStatusId": 530,
"operationTypeId": 412
}]

Обновление платежа

Для обновления платежей пользователь отправляет POST запрос с платежом.

Адрес:/api/apikey/V1/payment/update
Платеж может содержать следующие поля:

Как разбирать импорт

  1. Находим платеж по id
  2. Обновляем в нем все присланные поля.
Удаление платежа

Для удаление платежей пользователь отправляет POST запрос со списком id удаляемых платежей на адрес.

Адрес:/api/apikey/V1/payment/delete

В запросе указывается:
Пример json запроса

{
"listId": [1,2,3,5]
}

Получение платежей
Для получения документов пользователь отправляет POST запрос на адрес.

Адрес:/api/apikey/V1/payment/getList
В запросе указывается:
Пример json запроса

{
"offset":82,
"limit": 5,
"dateFrom": "2019-08-01",
"dateTo": "2019-08-15",
"listFilter": [{"name":"externalId","value": "test123"}]
}

В ответе: общее количество записей для указанной интеграции, входные данные запроса и список платежей, удовлетворяющих входным данным.
Добавление нового контрагента
Для создания нового контрагента пользователь отправляет POST запрос со списком контрагентов.

Адрес: /api/apikey/V1/contragent/add

Запрос может содержать следующие поля:
Пример json запроса

{
"externalid":"test",
"contragentName": "контрагент",
"inn": "1234",
"kpp": "5678",
"typeId": 521
}

Обновление контрагента
Для обновления контрагента пользователь отправляет POST запрос со списком контрагентов.

Адрес: /api/apikey/V1/contragent/update

Контрагент может содержать следующие поля:
Удаление контрагента
Для удаление контрагента пользователь отправляет POST запрос со списком id удаляемых контрагента .

Адрес: /api/apikey/V1/contragent/delete
Пример json запроса

{
"listId": [1,2,3,5]
}

Получение контрагента
Для получения контрагента пользователь отправляет POST запрос на адрес.

Адрес: /api/apikey/V1/contragent/getList

В запросе указывается:
Пример json запроса

{
"offset":82,
"limit": 5,
"listFilter": [{"name":"externalId","value": "test123"}]
}

В ответе: общее количество записей для указанной интеграции, входные данные запроса и список контрагентов, удовлетворяющих входным данным.
Добавление нового счета

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

Адрес: /api/apikey/V1/invoice/add

Счет может содержать следующие поля:
Пример json запроса

{
"externalid": "test",
"invoiceNumber": "1234 1233 1232 1231",
"invoiceSum": 100.0,
"invoiceDate": "2019-06-01",
"invoicePaymentDeadline": "2019-06-15"
}

Обновление счета

Для обновления счета пользователь отправляет POST запрос со списком счетов.

Адрес: /api/apikey/V1/invoice/update

Счет может содержать следующие поля:
Удаление счета

Для удаление счета пользователь отправляет POST запрос со списком id удаляемых счетов адрес.

Адрес: /api/apikey/V1/invoice/delete
Пример json запроса

Пример json для запроса:
{
"listId": [1,2,3,5]
}

Получение счета

Для получения счета пользователь отправляет POST запрос на адрес.

Адрес: /api/apikey/V1/invoice/getList

В запросе указывается:
Пример json запроса

{
"offset":82,
"limit": 5,
"dateFrom": "2019-08-01",
"dateTo": "2019-08-15",
"listFilter": [{"name":"externalId","value": "test123"}]
}

В ответе: общее количество записей для указанной интеграции, входные данные запроса и список счетов, удовлетворяющих входным данным.
Добавление нового документа

Для того, чтобы передать документ факта, нужно отправить POST-запрос с параметрами документа.

Адрес: /api/apikey/V1/document/add

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "operationDate": "2019-09-01",
  "amountValue": 5432,
  "amountWithVatValue": 6633,
  "directionId": 510,
  "quantityValue": 15,
  "contragentId": 0,
  "paymentPurpose": "Цель",
  "operationTypeId": 411,
  "comment": "Комментарий",
  "externalId": "test1",
  "itemId": 13,
  "organisationId": 13,
  "projectId": 14
}

Добавление нескольких документов одним запросом

Для добавления нескольких документов факта нужно отправить POST-запрос со списком документов.

Одновременно допускается добавление не более 100 документов за раз.

Адрес: /api/apikey/V1/document/addList
Пример json запроса

[
  {
    "operationDate": "2019-09-01",
    "amountValue": 333,
    "amountWithVatValue": 123,
    "directionId": 500,
    "quantityValue": 10,
    "contragentId": 0,
    "paymentPurpose": "test",
    "operationTypeId": 411,
    "comment": "ffff",
    "externalId": "qwer2112134",
    "itemId": 13,
    "organisationId": 13,
    "projectId": 14
  },
  {
    "operationDate": "2019-10-01",
    "amountValue": 111,
    "amountWithVatValue": 321,
    "directionId": 510,
    "quantityValue": 10,
    "contragentId": 0,
    "paymentPurpose": "test",
    "operationTypeId": 411,
    "comment": "ffff",
    "externalId": "qwer222234",
    "itemId": 13,
    "organisationId": 13,
    "projectId": 13
  }
]
Обновление документа

Для обновления документов пользователь нужно отправить POST-запрос с параметрами документа.

Адрес: /api/apikey/V1/document/update

В запросе нужно передать json со следующими полями:
Удаление документа

Для удаление документов нужно отправить POST-запрос со списком id удаляемых документов.

Адрес: /api/apikey/V1/document/delete

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "listId": [
    5553811,
    5553812
  ]
}
Получение документа

Для получения документов нужно отправить POST-запрос.

Адрес: /api/apikey/V1/document/getList

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "offset": 0,
  "limit": 5,
  "dateFrom": "2019-08-01",
  "dateTo": "2020-08-15",
  "listFilter": [
    {
      "name": "externalId",
      "value": "qwer222234,qwer2112134"
    }
  ]
}
В ответе вернётся общее количество записей для указанной интеграции, входные данные запроса и список документов, удовлетворяющих входным данным.
Добавление банковского счета

Для создания нового банковского счета пользователь отправляет POST запрос со списком банковских счетов.

Адрес: /api/apikey/V1/account/add

Банковский счет может содержать следующие поля:
Пример json запроса

{
"externalid": "test",
"accountName": "test bank account",
"number": "12345321123456",
"remainderSum": 9999.0,
"remainderDate": "2019-06-15"
}

Обновление банковского счета

Для обновления банковского счета пользователь отправляет POST запрос со списком банковских счетов.

Адрес: /api/apikey/V1/account/update

Банковский счет может содержать следующие поля:
Удаление банковского счета

Для удаление банковского счета пользователь отправляет POST запрос со списком id удаляемых банковских счетов адрес.

Адрес: /api/apikey/V1/account/delete
Пример json запроса

{
"listId": [1,2,3,5],
accountId: 4
}

В ответе: общее количество записей для указанной интеграции, входные данные запроса и список банковских счетов, удовлетворяющих входным данным.
Получение банковского счета

Для получения банковского счета пользователь отправляет POST запрос на адрес.

Адрес: /api/apikey/V1/account/getList
Пример json запроса

{
"offset":10,
"limit": 5,
"listFilter": [{"name":"externalId","value": "test123"}]
}

В ответе: общее количество записей для указанной интеграции, входные данные запроса и список банковских счетов, удовлетворяющих входным данным.
Добавление нового проекта
Для создания нового проекта нужно выполнить POST-запрос с параметрами проекта.

Адрес: /api/apikey/V1/project/add

В запросе нужно передать json со следующими полями:

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

{
  "externalId": "test",
  "projectName": "test project"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.

Обновление проекта

Для обновления проекта нужно выполнить POST-запрос.

Адрес: /api/apikey/V1/project/update

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "id": "test",
  "externalId": "test",
  "projectName": "test project"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Удаление проекта

Для удаление проекта нужно выполнить POST-запрос.

Адрес: /api/apikey/V1/project/delete

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "id": "2718",
  "newId" : "2892"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Получение проекта

Для получения списка проектов нужно отправить POST-запрос.

Адрес: /api/apikey/V1/project/getList

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "offset": 0,
  "limit": 5,
  "listFilter": [
    {
      "name": "externalId",
      "value": "test,test1"
    }
  ]
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Добавление новой организации

Для создания новой организации нужно выполнить POST-запрос с параметрами организации.

Адрес: /api/apikey/V1/organisation/add

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "externalId": "test",
  "organisationName": "test organisation",
  "inn": "1234567890",
  "kpp": "9999999999"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Обновление организации

Для обновления организации нужно выполнить POST-запрос.

Адрес: /api/apikey/V1/organisation/update

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "id": "test",
  "externalId": "test",
  "organisationName": "test organisation",
  "inn": "1234567890",
  "kpp": "9999999999"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Удаление организации

Для удаление организации нужно выполнить POST-запрос.

Адрес: /api/apikey/V1/organisation/delete

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "id": "2718",
  "newId": "2719"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Получение списка организаций

Для получения списка организаций нужно отправить POST-запрос.

Адрес: /api/apikey/V1/organisation/getList

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "offset": 0,
  "limit": 5,
  "listFilter": [
    {
      "name": "externalId",
      "value": "test,test1"
    }
  ]
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Добавление новой номенклатуры

Для создания новой номенклатуры нужно выполнить POST-запрос с параметрами номенклатуры.

Адрес: /api/apikey/V1/item/add

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "externalId": "test",
  "itemName": "test prduct",
  "typeId": 740,
  "groupId": 123,
  "article": "qwerty"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Обновление номенклатуры

Для обновления номенклатуры нужно выполнить POST-запрос.

Адрес: /api/apikey/V1/item/update

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "id": 123,
  "externalId": "test",
  "itemName": "test item",
  "typeId": 740,
  "groupId": 123,
  "article": "asdfghj"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Удаление номенклатуры

Для удаление номенклатуры нужно выполнить POST-запрос.

Адрес: /api/apikey/V1/item/delete

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "id": "2718",
  "newId" : "2719"
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Добавление списка номенклатур

Для добавления списка номенклатур нужно отправить POST-запрос.

Адрес: /api/apikey/V1/item/addList

В запросе нужно передать json со следующими полями:
Пример json запроса

[
	{
	"itemName": "товар апи 1",
	"externalId": "testtesttesttest1",
	"typeId": 740,
	"groupId": 999,
	"article": "test test test"
	},
	{
	"itemName": "товар апи 2",
	"externalId": "testtesttesttest22",
	"typeId": 741,
	"groupId": 123
	},
	{
	"itemName": "товар апи 2",
	"externalId": "testtesttesttest333",
	"typeId": 740,
	"groupId": 0
	}
]
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.
Получение списка номенклатур

Для получения списка номенклатур нужно отправить POST-запрос.

Адрес: /api/apikey/V1/item/getList

В запросе нужно передать json со следующими полями:
Пример json запроса

{
  "offset": 0,
  "limit": 5,
  "listFilter": [
    {
      "name": "externalId",
      "value": "test,test1"
    }
  ]
}
В ответе: общее количество записей для указанной интеграции, входные данные запроса и список проектов, удовлетворяющих входным данным.