Skip to content

Курсы валют ​

Курсы валют компании и её филиалов, по которым пересчитываются цены, продажи и конвертации, а также валюта продажи компании. Курс UZS всегда равен 1 и не меняется.

МетодАдресНазначение
GET/company/cashbox/currency-rate/show-mainКурсы головной компании
PATCH/company/cashbox/currency-rate/sync-with-mainСинхронизировать с головной
GET/company/cashbox/currency-rate/settingsНастройки валют
PATCH/company/cashbox/currency-rate/settingsИзменить валюту продажи
GET/company/cashbox/currency-rateСписок курсов
GET/company/cashbox/currency-rate/{model}Курс валюты
PUT/company/cashbox/currency-rate/{model}Изменить курс

Курсы головной компании ​

GET/company/cashbox/currency-rate/show-main

Курсы валют головной компании (без parent_id) — образец, с которым филиалы сверяют свои курсы.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].idintegerID
[].company_idintegerКомпания
[].currencystringВалюта
[].rateinteger
[].is_saleboolean
[].created_atstringСоздано
[].updated_atstringОбновлено
json
[
    {
        "id": 1,
        "company_id": 1,
        "currency": "uzs",
        "rate": 1,
        "is_sale": true,
        "created_at": "2026-09-30 12:47:58",
        "updated_at": "2026-09-30 12:47:58"
    },
    {
        "id": 2,
        "company_id": 1,
        "currency": "usd",
        "rate": 1000,
        "is_sale": false,
        "created_at": "2026-09-30 12:47:58",
        "updated_at": "2026-09-30 12:47:58"
    }
]

Синхронизировать с головной ​

PATCH/company/cashbox/currency-rate/sync-with-main

Копирует курсы головной компании на все доступные пользователю компании. Меняется только курс (rate); выбранная филиалом валюта продажи не затрагивается. Каждое изменение курса пишется в историю.

Из формы (multipart/form-data) метод PATCH отправляется как POST с параметром ?_method=PATCH.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}

Настройки валют ​

GET/company/cashbox/currency-rate/settings

Данные страницы «Настройки валют» текущей компании: курсы (rows), валюта продажи (sale_currency) и время последнего изменения курсов (last_updated_at). Доступно и с правом на эту страницу, и с правом создавать продажи (касса применяет валюту продажи); иначе 403.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Ответ · 200 ​

Поля ответа
ПолеТипОписание
rowsobject[]
rows[].idintegerID
rows[].company_idintegerКомпания
rows[].currencystringВалюта
rows[].rateinteger
rows[].is_saleboolean
rows[].created_atstringСоздано
rows[].updated_atstringОбновлено
sale_currencystringВалюта при продаже
last_updated_atnull
json
{
    "rows": [
        {
            "id": 1,
            "company_id": 1,
            "currency": "uzs",
            "rate": 1,
            "is_sale": true,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        },
        {
            "id": 2,
            "company_id": 1,
            "currency": "usd",
            "rate": 1000,
            "is_sale": false,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        }
    ],
    "sale_currency": "uzs",
    "last_updated_at": null
}

Изменить валюту продажи ​

PATCH/company/cashbox/currency-rate/settings

Задаёт валюту продажи компании. Допустима только валюта, для которой у компании есть курс; по ней проверяются все продажи и корзины кассы.

Из формы (multipart/form-data) метод PATCH отправляется как POST с параметром ?_method=PATCH.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Тело запроса ​

ПолеТипОбязательноОписание
sale_currencystringДаВалюта продажи. Допустимые значения: uzs, usd, eur, rub
json
{
    "sale_currency": "usd"
}
bash
curl -X PATCH "https://api.wasyt.uz/company/cashbox/currency-rate/settings" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"sale_currency":"usd"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}

Пример ошибки · 422 ​

json
{
    "message": "Допустимые значения для Валюта при продаже: uzs, usd, eur, rub.",
    "errors": {
        "sale_currency": [
            "Допустимые значения для Валюта при продаже: uzs, usd, eur, rub."
        ]
    }
}

Список курсов ​

GET/company/cashbox/currency-rate

Курсы валют доступных компаний, по умолчанию отсортированные по company_id по убыванию.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

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

ПараметрОписание
filter[company_id]Компания — точное значение
sort[]Сортировка, - — по убыванию: company_id, -company_id
with[]Подгрузить связи: company
pageНомер страницы, с 1
page-sizeЗаписей на странице, не больше 20
http
GET /company/cashbox/currency-rate?filter[company_id]=1

Ответ · 200 ​

Постраничный ответ: записи в data[], пагинация в links и meta.

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].company_idintegerКомпания
data[].currencystringВалюта
data[].rateinteger
data[].is_saleboolean
data[].created_atstringСоздано
data[].updated_atstringОбновлено
json
{
    "data": [
        {
            "id": 1,
            "company_id": 1,
            "currency": "uzs",
            "rate": 1,
            "is_sale": true,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        },
        {
            "id": 2,
            "company_id": 1,
            "currency": "usd",
            "rate": 1000,
            "is_sale": false,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/cashbox/currency-rate?page=1",
        "last": "https://api.wasyt.uz/company/cashbox/currency-rate?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/cashbox/currency-rate",
        "per_page": 20,
        "to": 4,
        "total": 4
    }
}

Курс валюты ​

GET/company/cashbox/currency-rate/{model}

Одна запись курса (валюта компании) по id.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
modelID записи

Ответ · 200 ​

Поля ответа
ПолеТипОписание
rowsobject[]
rows[].idintegerID
rows[].company_idintegerКомпания
rows[].currencystringВалюта
rows[].rateinteger
rows[].is_saleboolean
rows[].created_atstringСоздано
rows[].updated_atstringОбновлено
sale_currencystringВалюта при продаже
last_updated_atnull
json
{
    "rows": [
        {
            "id": 1,
            "company_id": 1,
            "currency": "uzs",
            "rate": 1,
            "is_sale": true,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        },
        {
            "id": 2,
            "company_id": 1,
            "currency": "usd",
            "rate": 1000,
            "is_sale": false,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        }
    ],
    "sale_currency": "uzs",
    "last_updated_at": null
}

Изменить курс ​

PUT/company/cashbox/currency-rate/{model}

Задаёт новый курс валюты; прежнее значение сохраняется в истории курсов. Курс UZS изменить нельзя — ошибка валидации.

Из формы (multipart/form-data) метод PUT отправляется как POST с параметром ?_method=PUT.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
modelID записи

Тело запроса ​

ПолеТипОбязательноОписание
ratenumberДаДо 2 знаков после запятой. Не меньше 0. Не больше 999999999999.99

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}

Пример ошибки · 422 ​

json
{
    "message": "Допустимые значения для Валюта при продаже: uzs, usd, eur, rub.",
    "errors": {
        "sale_currency": [
            "Допустимые значения для Валюта при продаже: uzs, usd, eur, rub."
        ]
    }
}