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

Финансы

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

Валюты

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

GET /finance/api/currency/list

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

curl 'https://{HOST}.platrum.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}.platrum.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}.platrum.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":"2020-01-01T00:00:00+03:00"}'
{
    "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}.platrum.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": [
                {
                    "id": 123,
                    "type": "some_string",
                    "block_id": 123,
                    "nested": true,
                    "parents": true
                }
            ],
            "is_add_opening_balance": true,
            "opening_balance": 123,
            "opening_balance_date": "2020-01-01T00:00:00+03:00",
            "key": "some_string",
            "name": "some_string",
            "order": 123,
            "is_archived": true,
            "is_system": true,
            "is_default": true,
            "author_id": "some_string",
            "last_editor_id": "some_string",
            "creation_date": "2020-01-01T00:00:00+03:00",
            "update_date": "2020-01-01T00:00:00+03:00"
        },
        {
            "id": 123,
            "currency_code": "some_string",
            "access_blocks": [
                {
                    "id": 123,
                    "type": "some_string",
                    "block_id": 123,
                    "nested": true,
                    "parents": true
                }
            ],
            "is_add_opening_balance": true,
            "opening_balance": 123,
            "opening_balance_date": "2020-01-01T00:00:00+03:00",
            "key": "some_string",
            "name": "some_string",
            "order": 123,
            "is_archived": true,
            "is_system": true,
            "is_default": true,
            "author_id": "some_string",
            "last_editor_id": "some_string",
            "creation_date": "2020-01-01T00:00:00+03:00",
            "update_date": "2020-01-01T00:00:00+03:00"
        }
    ]
}

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

Параметр Описание Тип Значения
id int -
currency_code Код валюты string -
access_blocks Должности, имеющие доступ к кассе array[orgschema.access_item] -
is_add_opening_balance Указывать начальный остаток bool -
opening_balance Начальный остаток int -
opening_balance_date Дата на которую приходится начальный остаток в отчёте "Баланс" date -
key Ключ string -
name Название string -
order Порядок сортировки int -
is_archived Статус архивации bool -
is_system Является ли элемент системным bool -
is_default Является ли элементом по-умолчанию bool -
author_id ID автора string -
last_editor_id ID последнего редактора string -
creation_date Дата создания date -
update_date Дата редактирования date -

Сортировка

GET /finance/api/cashbox/order/store

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

curl 'https://{HOST}.platrum.ru/finance/api/cashbox/order/store' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": true
}

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

bool

Отчёты

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

GET /finance/api/report/pnl-grouping

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

curl 'https://{HOST}.platrum.ru/finance/api/report/pnl-grouping' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": [
        {
            "id": "some_string",
            "name": "some_string",
            "node_key": "some_string",
            "type": "some_string",
            "data": "some_string",
            "children": [
                {
                    "id": 123,
                    "name": "some_string",
                    "transaction_type": "some_string",
                    "block_id": 123,
                    "parent_id": 123,
                    "level": 123,
                    "is_archived": true,
                    "has_children": true
                }
            ]
        },
        {
            "id": "some_string",
            "name": "some_string",
            "node_key": "some_string",
            "type": "some_string",
            "data": "some_string",
            "children": [
                {
                    "id": 123,
                    "name": "some_string",
                    "transaction_type": "some_string",
                    "block_id": 123,
                    "parent_id": 123,
                    "level": 123,
                    "is_archived": true,
                    "has_children": true
                }
            ]
        }
    ]
}

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

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

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

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

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

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

bool

Транзакции

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

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

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

curl 'https://{HOST}.platrum.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": [
                {
                    "id": 123,
                    "row_number": 123,
                    "cashbox_name": "some_string",
                    "sum": 123,
                    "user_name": "some_string",
                    "category_name": "some_string",
                    "creation_date": "2020-01-01T00:00:00+03:00",
                    "report_date": "2020-01-01T00:00:00+03:00",
                    "description": "some_string",
                    "cashbox_charge_name": "some_string",
                    "cashbox_topup_name": "some_string",
                    "sum_charge": 123,
                    "sum_topup": 123,
                    "data": "array",
                    "project_name": "some_string"
                }
            ],
            "errors": [
                {
                    "id": 123,
                    "field": "some_string",
                    "error": "some_string"
                }
            ]
        },
        {
            "id": 123,
            "data": [
                {
                    "id": 123,
                    "row_number": 123,
                    "cashbox_name": "some_string",
                    "sum": 123,
                    "user_name": "some_string",
                    "category_name": "some_string",
                    "creation_date": "2020-01-01T00:00:00+03:00",
                    "report_date": "2020-01-01T00:00:00+03:00",
                    "description": "some_string",
                    "cashbox_charge_name": "some_string",
                    "cashbox_topup_name": "some_string",
                    "sum_charge": 123,
                    "sum_topup": 123,
                    "data": "array",
                    "project_name": "some_string"
                }
            ],
            "errors": [
                {
                    "id": 123,
                    "field": "some_string",
                    "error": "some_string"
                }
            ]
        }
    ]
}
Параметр Описание Тип Значения
content* Содержимое файла импорта string -
transaction_type* Тип импортируемых транзакций string in/out/move
Параметр Описание Тип Значения
id ID int -
data Импортируемые данные array[import_items] -
errors Ошибки возникшие в результате импорта array[error] -

Количество

GET /fintransaction/api/transaction/get/total/count

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

curl 'https://{HOST}.platrum.ru/fintransaction/api/transaction/get/total/count' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": 123
}

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

int

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

POST /finance/api/transaction/list

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

curl 'https://{HOST}.platrum.ru/finance/api/transaction/list' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"type":"some_string","filter":"array","group_by":"some_string"}'
{
    "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": "2020-01-01T00:00:00+03:00",
            "update_date": "2020-01-01T00:00:00+03:00",
            "report_date": "2020-01-01T00:00:00+03:00",
            "delete_date": "2020-01-01T00:00:00+03:00"
        },
        {
            "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": "2020-01-01T00:00:00+03:00",
            "update_date": "2020-01-01T00:00:00+03:00",
            "report_date": "2020-01-01T00:00:00+03:00",
            "delete_date": "2020-01-01T00:00:00+03:00"
        }
    ]
}
Параметр Описание Тип Значения
type* Тип транзакций string in/out/move
filter Фильтр array -
group_by Тип группировки string day/month/year/week
Параметр Описание Тип Значения
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 -

Создание

POST /fintransaction/api/transaction/create

Метод может быть использован для создания новой транзакции.

curl 'https://{HOST}.platrum.ru/fintransaction/api/transaction/create' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"type":"some_string","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"}'
{
    "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": "2020-01-01T00:00:00+03:00",
        "update_date": "2020-01-01T00:00:00+03:00",
        "report_date": "2020-01-01T00:00:00+03:00",
        "delete_date": "2020-01-01T00:00:00+03:00"
    }
}
Параметр Описание Тип Значения
type* Тип транзакций string in/out/move
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 -
Параметр Описание Тип Значения
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 -

Обновление

POST /fintransaction/api/transaction/update

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

curl 'https://{HOST}.platrum.ru/fintransaction/api/transaction/update' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"id": 123,"type":"some_string","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"}'
{
    "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": "2020-01-01T00:00:00+03:00",
        "update_date": "2020-01-01T00:00:00+03:00",
        "report_date": "2020-01-01T00:00:00+03:00",
        "delete_date": "2020-01-01T00:00:00+03:00"
    }
}
Параметр Описание Тип Значения
id* Id обновляемой транзакции int -
type* Тип транзакций string in/out/move
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 -
Параметр Описание Тип Значения
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 -

Удаление

POST /fintransaction/api/transaction/delete

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

curl 'https://{HOST}.platrum.ru/fintransaction/api/transaction/delete' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"ids":[123,123],"type":"some_string"}'
{
    "status": "success",
    "data": true
}
Параметр Описание Тип Значения
ids Id удаляемых транзакций array[int] -
type Тип транзакций string in/out/move

bool

Типы транзакций

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

GET /fintransaction/api/category/list

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

curl 'https://{HOST}.platrum.ru/fintransaction/api/category/list' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": [
        {
            "id": 123,
            "name": "some_string",
            "transaction_type": "some_string",
            "block_id": 123,
            "parent_id": 123,
            "is_archived": true,
            "last_editor_id": "some_string",
            "author_id": "some_string",
            "creation_date": "2020-01-01T00:00:00+03:00"
        },
        {
            "id": 123,
            "name": "some_string",
            "transaction_type": "some_string",
            "block_id": 123,
            "parent_id": 123,
            "is_archived": true,
            "last_editor_id": "some_string",
            "author_id": "some_string",
            "creation_date": "2020-01-01T00:00:00+03:00"
        }
    ]
}

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

Параметр Описание Тип Значения
id ID int -
name Название категории string -
transaction_type Тип транзакций string -
block_id Id блока int -
parent_id Id родительского типа int -
is_archived Является ли архивной bool -
last_editor_id Id последнего редактора string -
author_id Id автора string -
creation_date Дата создания date -

Создание

POST /fintransaction/api/category/create

Метод позволяет создать новый тип транзакций.

curl 'https://{HOST}.platrum.ru/fintransaction/api/category/create' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"id":123,"transaction_type":"some_string","name":"some_string","block_id":123,"parent_id":123}'
{
    "status": "success",
    "data": {
        "id": 123,
        "name": "some_string",
        "transaction_type": "some_string",
        "block_id": 123,
        "parent_id": 123,
        "is_archived": true,
        "last_editor_id": "some_string",
        "author_id": "some_string",
        "creation_date": "2020-01-01T00:00:00+03:00"
    }
}
Параметр Описание Тип Значения
id ID int -
transaction_type Тип транзакций string -
name Название типа string -
block_id Id блока int -
parent_id Id родительского типа int -
Параметр Описание Тип Значения
id ID int -
name Название категории string -
transaction_type Тип транзакций string -
block_id Id блока int -
parent_id Id родительского типа int -
is_archived Является ли архивной bool -
last_editor_id Id последнего редактора string -
author_id Id автора string -
creation_date Дата создания date -

Обновление

POST /fintransaction/api/category/update

Метод позволяет обновить существующий тип транзакций.

curl 'https://{HOST}.platrum.ru/fintransaction/api/category/update' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"id":123,"name":"some_string","block_id":123,"parent_id":123}'
{
    "status": "success",
    "data": {
        "id": 123,
        "name": "some_string",
        "transaction_type": "some_string",
        "block_id": 123,
        "parent_id": 123,
        "is_archived": true,
        "last_editor_id": "some_string",
        "author_id": "some_string",
        "creation_date": "2020-01-01T00:00:00+03:00"
    }
}
Параметр Описание Тип Значения
id ID int -
name Название типа string -
block_id Id блока int -
parent_id Id родительского типа int -
Параметр Описание Тип Значения
id ID int -
name Название категории string -
transaction_type Тип транзакций string -
block_id Id блока int -
parent_id Id родительского типа int -
is_archived Является ли архивной bool -
last_editor_id Id последнего редактора string -
author_id Id автора string -
creation_date Дата создания date -

Удаление

POST /fintransaction/api/category/archive

Метод позволяет удалить (или заархивировать, при наличии транзакций этого типа) существующий тип транзакций.

curl 'https://{HOST}.platrum.ru/fintransaction/api/category/archive' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}' \ 
    --data '{"id":123,"name":"some_string","block_id":123,"parent_id":123}'
{
    "status": "success",
    "data": true
}
Параметр Описание Тип Значения
id ID int -
name Название типа string -
block_id Id блока int -
parent_id Id родительского типа int -

bool

Контрагенты

Создание

POST /fintransaction/api/counterparty/save

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

curl 'https://{HOST}.platrum.ru/fintransaction/api/counterparty/save' \
    --request POST \
    --header 'Content-type: application/json' \ 
    --header 'Api-key: {KEY}'
{
    "status": "success",
    "data": {
        "id": 123,
        "address": "some_string",
        "contact_person": "some_string",
        "phone": "some_string",
        "email": "some_string",
        "comment": "some_string",
        "company_name": "some_string",
        "bank_tin": "some_string",
        "bank_kpp": "some_string",
        "bank_name": "some_string",
        "bank_bik": "some_string",
        "bank_knum": "some_string",
        "bank_rnum": "some_string",
        "key": "some_string",
        "name": "some_string",
        "order": 123,
        "is_archived": true,
        "is_system": true,
        "is_default": true,
        "author_id": "some_string",
        "last_editor_id": "some_string",
        "creation_date": "2020-01-01T00:00:00+03:00",
        "update_date": "2020-01-01T00:00:00+03:00"
    }
}

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

Параметр Описание Тип Значения
id int -
address Адрес string -
contact_person Контактное лицо string -
phone Номер телефона string -
email Email string -
comment Комментарий string -
company_name Полное наименование string -
bank_tin ИНН string -
bank_kpp КПП string -
bank_name Банк string -
bank_bik БИК string -
bank_knum Корреспондентский счет string -
bank_rnum Расчетный счет string -
key Ключ string -
name Название string -
order Порядок сортировки int -
is_archived Статус архивации bool -
is_system Является ли элемент системным bool -
is_default Является ли элементом по-умолчанию bool -
author_id ID автора string -
last_editor_id ID последнего редактора string -
creation_date Дата создания date -
update_date Дата редактирования date -