Skip to content

Интеграция партнёра ​

Интеграция партнёра: определение партнёра по адресу сайта, зеркалирование его компаний в wasyt и чтение их данных. Авторизация — External-System-Secret-Key и Company-Partner-Uuid или Company-Wasyt-Uuid.

МетодАдресНазначение
POST/external/partner/find-by-urlНайти партнёра по адресу
POST/external/partner/companyСоздать или обновить компанию
GET/external/partner/records/{type}Справочник партнёра по типу

Найти партнёра по адресу ​

POST/external/partner/find-by-url

Возвращает партнёра (и его оформление), обслуживающего сайт url; ключ не нужен. Слеш в конце не учитывается, при нескольких партнёрах с одним адресом побеждает заведённый раньше, kassa.<домен> получает партнёра домена. Незарегистрированный адрес в production — 404, вне production для него создаётся партнёр-заглушка.

Заголовки ​

ЗаголовокЗначениеОписание
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

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

ПолеТипОбязательноОписание
urlstringДаАдрес сайта (http или https). Макс. 255 символов. URL-адрес
json
{
    "url": "https://partner-1.com"
}
bash
curl -X POST "https://api.wasyt.uz/external/partner/find-by-url" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://partner-1.com"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
namestringНазвание
company_namestringКомпания
innstringИНН
mfostringМФО
addressstringАдрес
call_center_phonestringТелефон колл-центра
commentstringКомментарий
director_full_namestringФИО директора
bankstringБанк
payment_accountstringРасчётный счёт
created_atstringСоздано
updated_atstringОбновлено
is_deletedboolean
themeobject
theme.titlestring
theme.logo_lightstring
theme.logo_light_thumbsobject
theme.logo_light_thumbs.widen_100object
theme.logo_light_thumbs.widen_100.rawstring
theme.logo_light_thumbs.widen_100.webpstring
theme.logo_light_thumbs.widen_500object
theme.logo_light_thumbs.widen_500.rawstring
theme.logo_light_thumbs.widen_500.webpstring
theme.logo_light_thumbs.originalobject
theme.logo_light_thumbs.original.rawstring
theme.logo_light_thumbs.original.webpstring
theme.logo_darkstring
theme.logo_dark_thumbsobject
theme.logo_dark_thumbs.widen_100object
theme.logo_dark_thumbs.widen_100.rawstring
theme.logo_dark_thumbs.widen_100.webpstring
theme.logo_dark_thumbs.widen_500object
theme.logo_dark_thumbs.widen_500.rawstring
theme.logo_dark_thumbs.widen_500.webpstring
theme.logo_dark_thumbs.originalobject
theme.logo_dark_thumbs.original.rawstring
theme.logo_dark_thumbs.original.webpstring
theme.faviconstring
theme.favicon_thumbsobject
theme.favicon_thumbs.widen_192object
theme.favicon_thumbs.widen_192.rawstring
theme.favicon_thumbs.widen_192.webpstring
theme.favicon_thumbs.widen_256object
theme.favicon_thumbs.widen_256.rawstring
theme.favicon_thumbs.widen_256.webpstring
theme.favicon_thumbs.widen_300object
theme.favicon_thumbs.widen_300.rawstring
theme.favicon_thumbs.widen_300.webpstring
theme.favicon_thumbs.originalobject
theme.favicon_thumbs.original.rawstring
theme.favicon_thumbs.original.webpstring
theme.color_primary_lightstring
theme.color_primary_darkstring
urlsobject[]
urls[].idintegerID
urls[].urlstringURL
json
{
    "id": 1,
    "name": "Partner 1",
    "company_name": "Company 1",
    "inn": "000000001",
    "mfo": "00001",
    "address": "Address 1",
    "call_center_phone": "998000000001",
    "comment": "Comment 1",
    "director_full_name": "Director 1",
    "bank": "Bank 1",
    "payment_account": "00000000000000000001",
    "created_at": "2026-09-30 12:47:58",
    "updated_at": "2026-09-30 12:47:58",
    "is_deleted": false,
    "theme": {
        "title": "Partner 1",
        "logo_light": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
        "logo_light_thumbs": {
            "widen_100": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
            },
            "widen_500": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
            },
            "original": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
            }
        },
        "logo_dark": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
        "logo_dark_thumbs": {
            "widen_100": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png"
            },
            "widen_500": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png"
            },
            "original": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png"
            }
        },
        "favicon": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
        "favicon_thumbs": {
            "widen_192": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
            },
            "widen_256": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
            },
            "widen_300": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
            },
            "original": {
                "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
                "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
            }
        },
        "color_primary_light": "#ff002b",
        "color_primary_dark": "#00f7ff"
    },
    "urls": [
        {
            "id": 1,
            "url": "https://partner-1.com"
        }
    ]
}

Создать или обновить компанию ​

POST/external/partner/company

Без wasyt_uuid создаёт компанию партнёра с директором, с известным wasyt_uuid — обновляет её; компанию ICAN или созданную в wasyt обновить нельзя (422). Головная компания получает бессрочную бесплатную подписку, филиал (parent_wasyt_uuid, вложенность не больше 2) — нет; is_partner_turned_on всегда true, is_ican_turned_on партнёр не меняет, в ICAN компания не отправляется. wasyt_uuid из ответа — значение заголовка Company-Wasyt-Uuid.

Заголовки ​

ЗаголовокЗначениеОписание
External-System-Secret-Key{external_system_secret_key}Секретный ключ внешней системы
Company-Partner-Uuid{company_partner_uuid}Компания по UUID партнёра (или Company-Wasyt-Uuid)
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

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

ПолеТипОбязательноОписание
wasyt_uuidstringНетUUID компании в wasyt: пусто — новая компания, известный — обновление. Макс. 255 символов
parent_wasyt_uuidstringНетГоловная компания (UUID в wasyt) — для филиала. Макс. 255 символов
namestringДаНазвание. Макс. 255 символов
company_namestringДаКомпания. Макс. 255 символов
innstringДаИНН. Макс. 255 символов
mfostringДаМФО. Макс. 255 символов
addressstringДаАдрес. Макс. 255 символов
commentstringНетКомментарий. Макс. 1000 символов
telegram_phonestringНетТелефон в Telegram. Макс. 255 символов
director_full_namestringНетФИО директора. Макс. 255 символов
bankstringДаБанк. Макс. 255 символов
payment_accountstringДаРасчётный счёт. Макс. 255 символов
agreement_numberstringДаНомер договора. Макс. 255 символов
district_wasyt_uuidstringДаРайон (UUID в wasyt из records/region_district). Макс. 255 символов
field_of_activitystringДаНаправление. Допустимые значения: trading, study, finance, service
is_ican_turned_onbooleanДаИгнорируется: для новой компании false, у существующей не меняется
is_partner_turned_onbooleanДаИгнорируется: всегда true
director.usernamestring (email)ДаЛогин (email) директора; при обновлении не меняется. Макс. 255 символов. Уникальное значение
director.phonestringДаТелефон. Формат 998xxyyyzzzz
director.passwordstringДаПароль. Макс. 255 символов
json
{
    "name": "Partner company",
    "company_name": "Partner company",
    "inn": "000000009",
    "mfo": "00009",
    "address": "Address 9",
    "comment": "Comment 9",
    "telegram_phone": "998000000029",
    "director_full_name": "Director 9",
    "bank": "Bank 9",
    "payment_account": "00000000000000000009",
    "agreement_number": "009/2026",
    "district_wasyt_uuid": "wasyt-district-1",
    "field_of_activity": "trading",
    "director": {
        "username": "director_9@local.host",
        "phone": "998020000009",
        "password": "***"
    },
    "is_last_step": 1
}
bash
curl -X POST "https://api.wasyt.uz/external/partner/company" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "External-System-Secret-Key: {external_system_secret_key}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Partner company","company_name":"Partner company","inn":"000000009","mfo":"00009","address":"Address 9","comment":"Comment 9","telegram_phone":"998000000029","director_full_name":"Director 9","bank":"Bank 9","payment_account":"00000000000000000009","agreement_number":"009/2026","district_wasyt_uuid":"wasyt-district-1","field_of_activity":"trading","director":{"username":"director_9@local.host","phone":"998020000009","password":"***"},"is_last_step":1}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
namestringНазвание
company_namestringКомпания
innstringИНН
mfostringМФО
addressstringАдрес
commentstringКомментарий
telegram_phonestringТелефон в Telegram
director_full_namestringФИО директора
bankstringБанк
payment_accountstringРасчётный счёт
agreement_numberstringНомер договора
field_of_activitystringНаправление
is_ican_turned_onbooleanICAN включён
is_partner_turned_onbooleanПартнёр включён
district_idintegerРайон
updated_atstringОбновлено
created_atstringСоздано
wasyt_uuidstringUUID в Wasyt
idintegerID
is_deletedboolean
json
{
    "name": "Partner company",
    "company_name": "Partner company",
    "inn": "000000009",
    "mfo": "00009",
    "address": "Address 9",
    "comment": "Comment 9",
    "telegram_phone": "998000000029",
    "director_full_name": "Director 9",
    "bank": "Bank 9",
    "payment_account": "00000000000000000009",
    "agreement_number": "009/2026",
    "field_of_activity": "trading",
    "is_ican_turned_on": false,
    "is_partner_turned_on": true,
    "district_id": 1,
    "updated_at": "2026-09-30 12:56:44",
    "created_at": "2026-09-30 12:56:44",
    "wasyt_uuid": "6abcc0bc0a8b7-a8da8773-e97d-4b7a-aeb3-beb613967791",
    "id": 13,
    "is_deleted": false
}

Справочник партнёра по типу ​

GET/external/partner/records/{type}

Постраничный справочник (id, value и поля типа). Адресные region, region_district, region_mfy доступны по одному ключу, отдают wasyt_uuid и до 1000 записей на странице. Данные компании из заголовка — filial, cashbox, cashbox_balance, stock, stock_product, product, product_category, product_brand (до 20 записей); без распознанной компании — 404, неизвестный тип — 400.

Заголовки ​

ЗаголовокЗначениеОписание
External-System-Secret-Key{external_system_secret_key}Секретный ключ внешней системы
Company-Partner-Uuid{company_partner_uuid}Компания по UUID партнёра (или Company-Wasyt-Uuid)
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

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

ПараметрОписание
typeТип (см. описание метода)

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

ПолеТипОбязательноОписание
filter[id]integer|arrayНетТолько записи с этими ID (любой тип)
filter[value]stringНетПоиск по части value (любой тип)
filter[region_id]integer|arrayНетregion_district: районы этих областей
filter[district_id]integer|arrayНетregion_mfy: махалли этих районов
filter[level]integerНетfilial: 1 — только головная компания, другое значение — только филиалы
filter[company_id]integer|arrayНетcashbox, stock: только этих компаний
filter[type]string|arrayНетcashbox: тип кассы
filter[cashbox_id]integer|arrayНетcashbox_balance: остатки этих касс
filter[currency]string|arrayНетcashbox_balance: валюта остатка
filter[payment_type]string|arrayНетcashbox_balance: тип оплаты остатка
filter[is_available]booleanНетstock: доступность склада
filter[stock_id]integer|arrayНетstock_product: остатки этих складов; product: товары, которые есть на этих складах
filter[product_id]integer|arrayНетstock_product: остатки этих товаров
filter[quantity_from]numberНетstock_product: остаток не меньше этого значения
filter[name_or_barcode]stringНетproduct: поиск по части названия или штрихкода
filter[category_id]integer|arrayНетproduct: товары этих категорий
filter[brand_id]integer|arrayНетproduct: товары этих брендов
filter[parent_id]integer|arrayНетproduct_category: дочерние категории этих категорий
show[]stringНетwith-deleted — вместе с удалёнными, only-deleted — только удалённые (для моделей с мягким удалением)
pageintegerНетНомер страницы, с 1
page-sizeintegerНетЗаписей на странице: по умолчанию 20; для region, region_district, region_mfy — до 1000, для остальных — не больше 20

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].valuestringЗначение
data[].parent_idintegerРодитель
data[].company_namestringКомпания
data[].innstringИНН
data[].addressstringАдрес
data[].latitudenullШирота
data[].longitudenullДолгота
data[].is_deletedboolean
json
{
    "data": [
        {
            "id": 2,
            "value": "Company 1-1",
            "parent_id": 1,
            "company_name": "Company 1-1",
            "inn": "000000002",
            "address": "Address 2",
            "latitude": null,
            "longitude": null,
            "is_deleted": false
        },
        {
            "id": 1,
            "value": "Company 1",
            "parent_id": null,
            "company_name": "Company 1",
            "inn": "000000001",
            "address": "Address 1",
            "latitude": null,
            "longitude": null,
            "is_deleted": false
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/external/partner/records/filial?page=1",
        "last": "https://api.wasyt.uz/external/partner/records/filial?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/external/partner/records/filial",
        "per_page": 20,
        "to": 2,
        "total": 2
    }
}