Skip to content

Синхронизация справочников ​

Приём компаний и адресных справочников (области, районы, махалли) из ICAN или от партнёра. Запись определяется по ican_uuid либо partner_uuid: новая создаётся, существующая обновляется.

МетодАдресНазначение
POST/external/sync/companyСинхронизировать компанию
POST/external/sync/regionСинхронизировать область
POST/external/sync/region-districtСинхронизировать район
POST/external/sync/region-mfyСинхронизировать махаллю

Синхронизировать компанию ​

POST/external/sync/company

Создаёт или обновляет компанию по ican_uuid (ICAN) либо partner_uuid (партнёр); новая получает директора, основной тариф ICAN и лимит баланса, обратно в ICAN не отправляется. Головная компания ищется по parent_ican_uuid или parent_partner_uuid (вложенность не больше 2), район — по любому из district_*_uuid (неизвестный — 400 («Запись не найдена»)). Каждая система меняет только свой флаг: ICAN — is_ican_turned_on, партнёр — is_partner_turned_on (всегда true).

Заголовки ​

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

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

ПолеТипОбязательноОписание
ican_uuidstringЕсли не передано partner_uuidUUID компании в ICAN (или partner_uuid). Макс. 255 символов
partner_uuidstringЕсли не передано ican_uuidUUID компании у партнёра (или ican_uuid). Макс. 255 символов
parent_ican_uuidstringНетГоловная компания (UUID в ICAN). Макс. 255 символов
parent_partner_uuidstringНетГоловная компания (UUID у партнёра). Макс. 255 символов
parent_wasyt_uuidstringНетГоловная компания (UUID в wasyt); для привязки к головной компании не используется. Макс. 255 символов
district_ican_uuidstringЕсли не передано ни одно из district_partner_uuid, district_wasyt_uuidРайон (UUID в ICAN). Макс. 255 символов
district_partner_uuidstringЕсли не передано ни одно из district_ican_uuid, district_wasyt_uuidРайон (UUID у партнёра). Макс. 255 символов
district_wasyt_uuidstringЕсли не передано ни одно из district_ican_uuid, district_partner_uuidРайон (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 символов
field_of_activitystringДаНаправление. Допустимые значения: trading, study, finance, service
is_ican_turned_onbooleanЕсли не передано partner_uuidICAN включён; обязателен без partner_uuid, от партнёра игнорируется
is_partner_turned_onbooleanНетИгнорируется: задаётся системой-отправителем
director.usernamestring (email)ДаЛогин (email) директора; при обновлении не меняется. Макс. 255 символов. Уникальное значение
director.phonestringДаТелефон. Формат 998xxyyyzzzz
director.passwordstringДаПароль. Макс. 255 символов
json
{
    "name": "Company 1-3",
    "company_name": "Company 1-3",
    "inn": "000000005",
    "mfo": "00005",
    "address": "Address 5",
    "comment": "Comment 5",
    "telegram_phone": "998000000025",
    "director_full_name": "Director 5",
    "bank": "Bank 5",
    "payment_account": "00000000000000000005",
    "agreement_number": "005/2026",
    "district_ican_uuid": "ican-district-1",
    "field_of_activity": "finance",
    "is_ican_turned_on": 1,
    "director": {
        "username": "director_5@local.host",
        "phone": "998020000005",
        "password": "***"
    },
    "is_last_step": 1,
    "ican_uuid": "6abcc0c78ab6c-ea83b262-bd73-4cba-b77c-fe7821c8d044",
    "parent_ican_uuid": "ican-company-1"
}
bash
curl -X POST "https://api.wasyt.uz/external/sync/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":"Company 1-3","company_name":"Company 1-3","inn":"000000005","mfo":"00005","address":"Address 5","comment":"Comment 5","telegram_phone":"998000000025","director_full_name":"Director 5","bank":"Bank 5","payment_account":"00000000000000000005","agreement_number":"005/2026","district_ican_uuid":"ican-district-1","field_of_activity":"finance","is_ican_turned_on":1,"director":{"username":"director_5@local.host","phone":"998020000005","password":"***"},"is_last_step":1,"ican_uuid":"6abcc0c78ab6c-ea83b262-bd73-4cba-b77c-fe7821c8d044","parent_ican_uuid":"ican-company-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Район
parent_idintegerРодитель
updated_atstringОбновлено
created_atstringСоздано
has_bank_payment_typeboolean
wasyt_uuidstringUUID в Wasyt
idintegerID
is_deletedboolean
json
{
    "name": "Company 1-3",
    "company_name": "Company 1-3",
    "inn": "000000005",
    "mfo": "00005",
    "address": "Address 5",
    "comment": "Comment 5",
    "telegram_phone": "998000000025",
    "director_full_name": "Director 5",
    "bank": "Bank 5",
    "payment_account": "00000000000000000005",
    "agreement_number": "005/2026",
    "field_of_activity": "finance",
    "is_ican_turned_on": true,
    "is_partner_turned_on": false,
    "district_id": 1,
    "parent_id": 1,
    "updated_at": "2026-09-30 12:56:55",
    "created_at": "2026-09-30 12:56:55",
    "has_bank_payment_type": false,
    "wasyt_uuid": "6abcc0c79587e-0b7d5c6b-42b0-4d16-92b1-2dacf77c44c7",
    "id": 18,
    "is_deleted": false
}

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

POST/external/sync/region

Создаёт или обновляет область по ican_uuid либо partner_uuid; name уникально. В ответе — запись с wasyt_uuid.

Заголовки ​

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

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

ПолеТипОбязательноОписание
ican_uuidstringЕсли не передано partner_uuidUUID в ICAN (или partner_uuid). Макс. 255 символов
partner_uuidstringЕсли не передано ican_uuidUUID у партнёра (или ican_uuid). Макс. 255 символов
namestringДаНазвание. Макс. 255 символов. Уникальное значение в компании
iso_codeintegerДаISO код
json
{
    "name": "Region 3",
    "iso_code": "3",
    "ican_uuid": "6abcc0cb4a170-8de57808-6fdd-40f7-bd32-20784ac363a3"
}
bash
curl -X POST "https://api.wasyt.uz/external/sync/region" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "External-System-Secret-Key: {external_system_secret_key}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Region 3","iso_code":"3","ican_uuid":"6abcc0cb4a170-8de57808-6fdd-40f7-bd32-20784ac363a3"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
namestringНазвание
iso_codeintegerISO код
updated_atstringОбновлено
created_atstringСоздано
wasyt_uuidstringUUID в Wasyt
idintegerID
is_deletedboolean
json
{
    "name": "Region 3",
    "iso_code": 3,
    "updated_at": "2026-09-30 12:56:59",
    "created_at": "2026-09-30 12:56:59",
    "wasyt_uuid": "6abcc0cb69d35-b8973afa-0e98-4e2f-8e29-47910d82b6cd",
    "id": 3,
    "is_deleted": false
}

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

POST/external/sync/region-district

Создаёт или обновляет район по ican_uuid либо partner_uuid; область указывается любым из region_ican_uuid, region_partner_uuid, region_wasyt_uuid (неизвестная — 400 («Запись не найдена»)). name уникально в области.

Заголовки ​

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

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

ПолеТипОбязательноОписание
ican_uuidstringЕсли не передано partner_uuidUUID в ICAN (или partner_uuid). Макс. 255 символов
partner_uuidstringЕсли не передано ican_uuidUUID у партнёра (или ican_uuid). Макс. 255 символов
region_ican_uuidstringЕсли не передано ни одно из region_partner_uuid, region_wasyt_uuidОбласть (UUID в ICAN). Макс. 255 символов
region_partner_uuidstringЕсли не передано ни одно из region_ican_uuid, region_wasyt_uuidОбласть (UUID у партнёра). Макс. 255 символов
region_wasyt_uuidstringЕсли не передано ни одно из region_ican_uuid, region_partner_uuidОбласть (UUID в Wasyt). Макс. 255 символов
namestringДаНазвание. Макс. 255 символов. Уникальное значение в компании
iso_codeintegerДаISO код
json
{
    "region_ican_uuid": "ican-region-1",
    "name": "District 3",
    "iso_code": "3",
    "ican_uuid": "6abcc0cac6669-24f2153b-ea76-4846-843e-9e1a9ecd1c63"
}
bash
curl -X POST "https://api.wasyt.uz/external/sync/region-district" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "External-System-Secret-Key: {external_system_secret_key}" \
  -H "Content-Type: application/json" \
  -d '{"region_ican_uuid":"ican-region-1","name":"District 3","iso_code":"3","ican_uuid":"6abcc0cac6669-24f2153b-ea76-4846-843e-9e1a9ecd1c63"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
namestringНазвание
iso_codeintegerISO код
region_idintegerРегион
updated_atstringОбновлено
created_atstringСоздано
wasyt_uuidstringUUID в Wasyt
idintegerID
is_deletedboolean
json
{
    "name": "District 3",
    "iso_code": 3,
    "region_id": 1,
    "updated_at": "2026-09-30 12:56:58",
    "created_at": "2026-09-30 12:56:58",
    "wasyt_uuid": "6abcc0caca5e4-97d963ce-942d-4a45-8bb5-aa7636f5c0e1",
    "id": 4,
    "is_deleted": false
}

Синхронизировать махаллю ​

POST/external/sync/region-mfy

Создаёт или обновляет махаллю (МФЙ) по ican_uuid либо partner_uuid; район указывается любым из district_ican_uuid, district_partner_uuid, district_wasyt_uuid (неизвестный — 400 («Запись не найдена»)). name уникально в районе.

Заголовки ​

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

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

ПолеТипОбязательноОписание
ican_uuidstringЕсли не передано partner_uuidUUID в ICAN (или partner_uuid). Макс. 255 символов
partner_uuidstringЕсли не передано ican_uuidUUID у партнёра (или ican_uuid). Макс. 255 символов
district_ican_uuidstringЕсли не передано ни одно из district_partner_uuid, district_wasyt_uuidРайон (UUID в ICAN). Макс. 255 символов
district_partner_uuidstringЕсли не передано ни одно из district_ican_uuid, district_wasyt_uuidРайон (UUID у партнёра). Макс. 255 символов
district_wasyt_uuidstringЕсли не передано ни одно из district_ican_uuid, district_partner_uuidРайон (UUID в Wasyt). Макс. 255 символов
namestringДаНазвание. Макс. 255 символов. Уникальное значение в компании

Ответ ​

Пример ответа пока не записан тестами.