Перейти к содержанию

Финансы

API методы для модуля finance

Валюты

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

GET /finance/api/currency/list

Метод позволяет получить список всех валют доступных в проекте.

curl 'https://{HOST}.orgstack.ru/finance/api/currency/list' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": [
        {
            "id": 123,
            "name": "some_string",
            "code": "some_string",
            "sign": "some_string",
            "decimal": "some_string",
            "thousand_separator": "some_string",
            "is_prefix_sign": true
        },
        {
            "id": 123,
            "name": "some_string",
            "code": "some_string",
            "sign": "some_string",
            "decimal": "some_string",
            "thousand_separator": "some_string",
            "is_prefix_sign": true
        }
    ]
}

Без параметров.

Параметр Описание Тип Значения
id ID int -
name Название валюты string -
code Код валюты string -
sign Символ валюты string -
decimal Десятичный разделитель string -
thousand_separator Разделитель тысяч string -
is_prefix_sign Является ли символ валюты префиксным bool -

Получение списка используемых валют

GET /finance/api/currency/list-active

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

curl 'https://{HOST}.orgstack.ru/finance/api/currency/list-active' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": [
        {
            "id": 123,
            "name": "some_string",
            "code": "some_string",
            "sign": "some_string",
            "decimal": "some_string",
            "thousand_separator": "some_string",
            "is_prefix_sign": true
        },
        {
            "id": 123,
            "name": "some_string",
            "code": "some_string",
            "sign": "some_string",
            "decimal": "some_string",
            "thousand_separator": "some_string",
            "is_prefix_sign": true
        }
    ]
}

Без параметров.

Параметр Описание Тип Значения
id ID int -
name Название валюты string -
code Код валюты string -
sign Символ валюты string -
decimal Десятичный разделитель string -
thousand_separator Разделитель тысяч string -
is_prefix_sign Является ли символ валюты префиксным bool -

Получение обменного курса

GET /finance/api/currency/exchange-rate

Метод позволяет получить обменный курс одной валюты относительно другой на момент выбранной даты.

curl 'https://{HOST}.orgstack.ru/finance/api/currency/exchange-rate' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"currency_code_from":"some_string","currency_code_to":"some_string","date":"2019-01-01 21:00:15"}'
{
    "status": "success",
    "data": 123.123
}
Параметр Описание Тип Значения
currency_code_from Код обмениваемой валюты string -
currency_code_to Код валюты в которую производится обмен string -
date Дата date -

float

Кассы

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

GET /finance/api/transaction/cashbox-list

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

curl 'https://{HOST}.orgstack.ru/finance/api/transaction/cashbox-list' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": [
        {
            "id": 123,
            "currency_code": "some_string",
            "access_blocks": "array[orgschema.access_item]",
            "is_default": true,
            "is_archived": true,
            "key": "some_string",
            "name": "some_string",
            "order": 123
        },
        {
            "id": 123,
            "currency_code": "some_string",
            "access_blocks": "array[orgschema.access_item]",
            "is_default": true,
            "is_archived": true,
            "key": "some_string",
            "name": "some_string",
            "order": 123
        }
    ]
}

Без параметров.

Параметр Описание Тип Значения
id int -
currency_code Код валюты string -
access_blocks Должности, имеющие доступ к кассе array[orgschema.access_item] -
is_default Является ли кассой по умолчанию bool -
is_archived Статус архивации bool -
key Ключ string -
name Название string -
order Порядок сортировки int -

Транзакции

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

GET /finance/api/transaction/list

Метод позволяет получить список транзакций нужного типа по заданным фильтрам. Список может быть сгруппирован по дню, месяцу или году создания.

curl 'https://{HOST}.orgstack.ru/finance/api/transaction/list' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"id":[123,123],"type":["some_string","some_string"],"group_by":["some_string","some_string"],"sum":[123,123],"cashbox_id":[123,123],"sum_charge":[123,123],"sum_topup":[123,123],"cashbox_id_charge":[123,123],"cashbox_id_topup":[123,123],"description":["some_string","some_string"],"user_id":["some_string","some_string"],"category_id":[123,123],"project_id":[123,123],"linked_transaction_id":[123,123],"data":"map","creation_date":["2019-01-01 21:00:15","2019-01-01 21:00:15"],"update_date":["2019-01-01 21:00:15","2019-01-01 21:00:15"],"report_date":["2019-01-01 21:00:15","2019-01-01 21:00:15"],"delete_date":["2019-01-01 21:00:15","2019-01-01 21:00:15"]}'
{
    "status": "success",
    "data": [
        {
            "id": 123,
            "sum": 123,
            "cashbox_id": 123,
            "sum_charge": 123,
            "sum_topup": 123,
            "cashbox_id_charge": 123,
            "cashbox_id_topup": 123,
            "description": "some_string",
            "user_id": "some_string",
            "category_id": 123,
            "project_id": 123,
            "linked_transaction_id": 123,
            "data": "map",
            "creation_date": "2019-01-01 21:00:15",
            "update_date": "2019-01-01 21:00:15",
            "report_date": "2019-01-01 21:00:15",
            "delete_date": "2019-01-01 21:00:15"
        },
        {
            "id": 123,
            "sum": 123,
            "cashbox_id": 123,
            "sum_charge": 123,
            "sum_topup": 123,
            "cashbox_id_charge": 123,
            "cashbox_id_topup": 123,
            "description": "some_string",
            "user_id": "some_string",
            "category_id": 123,
            "project_id": 123,
            "linked_transaction_id": 123,
            "data": "map",
            "creation_date": "2019-01-01 21:00:15",
            "update_date": "2019-01-01 21:00:15",
            "report_date": "2019-01-01 21:00:15",
            "delete_date": "2019-01-01 21:00:15"
        }
    ]
}
Параметр Описание Тип Значения
id array[int] -
type* Тип запрашиваемых транзакций array[string] in/out/move
group_by Тип группировки списка транзакций array[string] day/month/year
sum Сумма (только для транзакций дохода и расхода) array[int] -
cashbox_id ID кассы (только для транзакций дохода и расхода) array[int] -
sum_charge Сумма списания (только для транзакций перемещения) array[int] -
sum_topup Сумма пополнения (только для транзакций перемещения) array[int] -
cashbox_id_charge ID кассы списания (только для транзакций перемещения) array[int] -
cashbox_id_topup ID кассы пополнения (только для транзакций перемещения) array[int] -
description Описание array[string] -
user_id ID автора array[string] -
category_id ID категории array[int] -
project_id ID проекта array[int] -
linked_transaction_id ID связанной транзакции (только для удаленной транзакции) array[int] -
data Дополнительные данные map -
creation_date Дата создания array[date] -
update_date Дата обновления array[date] -
report_date Дата отчета array[date] -
delete_date Дата удаления array[date] -
Параметр Описание Тип Значения
id int -
sum Сумма (только для транзакций дохода и расхода) int -
cashbox_id ID кассы (только для транзакций дохода и расхода) int -
sum_charge Сумма списания (только для транзакций перемещения) int -
sum_topup Сумма пополнения (только для транзакций перемещения) int -
cashbox_id_charge ID кассы списания (только для транзакций перемещения) int -
cashbox_id_topup ID кассы пополнения (только для транзакций перемещения) int -
description Описание string -
user_id ID автора string -
category_id ID категории int -
project_id ID проекта int -
linked_transaction_id ID связанной транзакции (только для удаленной транзакции) int -
data Дополнительные данные map -
creation_date Дата создания date -
update_date Дата обновления date -
report_date Дата отчета date -
delete_date Дата удаления date -

Валидация файла импорта

GET /finance/api/transaction/import-validate-data

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

curl 'https://{HOST}.orgstack.ru/finance/api/transaction/import-validate-data' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"content":"some_string","transaction_type":"some_string"}'
{
    "status": "success",
    "data": [
        {
            "id": 123,
            "data": "import_items[]",
            "errors": "error[]"
        },
        {
            "id": 123,
            "data": "import_items[]",
            "errors": "error[]"
        }
    ]
}
Параметр Описание Тип Значения
content* Содержимое файла импорта string -
transaction_type* Тип импортируемых транзакций string in/out/move
Параметр Описание Тип Значения
id ID int -
data Импортируемые данные import_items[] -
errors Ошибки возникшие в результате импорта error[] -

Отчёты

Получение группировки PNL отчёта

GET /finance/api/report/pnl-grouping

Метод позволяет получить группировку PNL отчёта.

curl 'https://{HOST}.orgstack.ru/finance/api/report/pnl-grouping' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": [
        {
            "id": "some_string",
            "name": "sting",
            "node_key": "some_string",
            "type": "some_string",
            "data": "some_string",
            "children": "transaction_category[]"
        },
        {
            "id": "some_string",
            "name": "sting",
            "node_key": "some_string",
            "type": "some_string",
            "data": "some_string",
            "children": "transaction_category[]"
        }
    ]
}

Без параметров.

Параметр Описание Тип Значения
id ID группы string -
name Название группы sting -
node_key Ключ группы string -
type Тип группировки string -
data Формула (для типа группировки "formula") string -
children Дочерние группы (для типа группировки "group") transaction_category[] -

Сохранение группировки PNL отчёта

GET /finance/api/report/pnl-store-grouping

Метод позволяет сохранить группировку PNL отчёта.

curl 'https://{HOST}.orgstack.ru/finance/api/report/pnl-store-grouping' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"groups":"pnl_grouping[]"}'
{
    "status": "success",
    "data": true
}
Параметр Описание Тип Значения
groups* Группы pnl_grouping[] -

bool