Синхронизация справочников
Приём компаний и адресных справочников (области, районы, махалли) из ICAN или от партнёра. Запись определяется по ican_uuid либо partner_uuid: новая создаётся, существующая обновляется.
| Метод | Адрес | Назначение |
|---|---|---|
| POST | /external/sync/company | Синхронизировать компанию |
| POST | /external/sync/region | Синхронизировать область |
| POST | /external/sync/region-district | Синхронизировать район |
| POST | /external/sync/region-mfy | Синхронизировать махаллю |
Синхронизировать компанию
/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) |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
ican_uuid | string | Если не передано partner_uuid | UUID компании в ICAN (или partner_uuid). Макс. 255 символов |
partner_uuid | string | Если не передано ican_uuid | UUID компании у партнёра (или ican_uuid). Макс. 255 символов |
parent_ican_uuid | string | Нет | Головная компания (UUID в ICAN). Макс. 255 символов |
parent_partner_uuid | string | Нет | Головная компания (UUID у партнёра). Макс. 255 символов |
parent_wasyt_uuid | string | Нет | Головная компания (UUID в wasyt); для привязки к головной компании не используется. Макс. 255 символов |
district_ican_uuid | string | Если не передано ни одно из district_partner_uuid, district_wasyt_uuid | Район (UUID в ICAN). Макс. 255 символов |
district_partner_uuid | string | Если не передано ни одно из district_ican_uuid, district_wasyt_uuid | Район (UUID у партнёра). Макс. 255 символов |
district_wasyt_uuid | string | Если не передано ни одно из district_ican_uuid, district_partner_uuid | Район (UUID в Wasyt). Макс. 255 символов |
name | string | Да | Название. Макс. 255 символов |
company_name | string | Да | Компания. Макс. 255 символов |
inn | string | Да | ИНН. Макс. 255 символов |
mfo | string | Да | МФО. Макс. 255 символов |
address | string | Да | Адрес. Макс. 255 символов |
comment | string | Нет | Комментарий. Макс. 1000 символов |
telegram_phone | string | Нет | Телефон в Telegram. Макс. 255 символов |
director_full_name | string | Нет | ФИО директора. Макс. 255 символов |
bank | string | Да | Банк. Макс. 255 символов |
payment_account | string | Да | Расчётный счёт. Макс. 255 символов |
agreement_number | string | Да | Номер договора. Макс. 255 символов |
field_of_activity | string | Да | Направление. Допустимые значения: trading, study, finance, service |
is_ican_turned_on | boolean | Если не передано partner_uuid | ICAN включён; обязателен без partner_uuid, от партнёра игнорируется |
is_partner_turned_on | boolean | Нет | Игнорируется: задаётся системой-отправителем |
director.username | string (email) | Да | Логин (email) директора; при обновлении не меняется. Макс. 255 символов. Уникальное значение |
director.phone | string | Да | Телефон. Формат 998xxyyyzzzz |
director.password | string | Да | Пароль. Макс. 255 символов |
{
"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"
}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
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
name | string | Название |
company_name | string | Компания |
inn | string | ИНН |
mfo | string | МФО |
address | string | Адрес |
comment | string | Комментарий |
telegram_phone | string | Телефон в Telegram |
director_full_name | string | ФИО директора |
bank | string | Банк |
payment_account | string | Расчётный счёт |
agreement_number | string | Номер договора |
field_of_activity | string | Направление |
is_ican_turned_on | boolean | ICAN включён |
is_partner_turned_on | boolean | Партнёр включён |
district_id | integer | Район |
parent_id | integer | Родитель |
updated_at | string | Обновлено |
created_at | string | Создано |
has_bank_payment_type | boolean | |
wasyt_uuid | string | UUID в Wasyt |
id | integer | ID |
is_deleted | boolean |
{
"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
}Синхронизировать область
/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) |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
ican_uuid | string | Если не передано partner_uuid | UUID в ICAN (или partner_uuid). Макс. 255 символов |
partner_uuid | string | Если не передано ican_uuid | UUID у партнёра (или ican_uuid). Макс. 255 символов |
name | string | Да | Название. Макс. 255 символов. Уникальное значение в компании |
iso_code | integer | Да | ISO код |
{
"name": "Region 3",
"iso_code": "3",
"ican_uuid": "6abcc0cb4a170-8de57808-6fdd-40f7-bd32-20784ac363a3"
}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
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
name | string | Название |
iso_code | integer | ISO код |
updated_at | string | Обновлено |
created_at | string | Создано |
wasyt_uuid | string | UUID в Wasyt |
id | integer | ID |
is_deleted | boolean |
{
"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
}Синхронизировать район
/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) |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
ican_uuid | string | Если не передано partner_uuid | UUID в ICAN (или partner_uuid). Макс. 255 символов |
partner_uuid | string | Если не передано ican_uuid | UUID у партнёра (или ican_uuid). Макс. 255 символов |
region_ican_uuid | string | Если не передано ни одно из region_partner_uuid, region_wasyt_uuid | Область (UUID в ICAN). Макс. 255 символов |
region_partner_uuid | string | Если не передано ни одно из region_ican_uuid, region_wasyt_uuid | Область (UUID у партнёра). Макс. 255 символов |
region_wasyt_uuid | string | Если не передано ни одно из region_ican_uuid, region_partner_uuid | Область (UUID в Wasyt). Макс. 255 символов |
name | string | Да | Название. Макс. 255 символов. Уникальное значение в компании |
iso_code | integer | Да | ISO код |
{
"region_ican_uuid": "ican-region-1",
"name": "District 3",
"iso_code": "3",
"ican_uuid": "6abcc0cac6669-24f2153b-ea76-4846-843e-9e1a9ecd1c63"
}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
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
name | string | Название |
iso_code | integer | ISO код |
region_id | integer | Регион |
updated_at | string | Обновлено |
created_at | string | Создано |
wasyt_uuid | string | UUID в Wasyt |
id | integer | ID |
is_deleted | boolean |
{
"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
}Синхронизировать махаллю
/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) |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
ican_uuid | string | Если не передано partner_uuid | UUID в ICAN (или partner_uuid). Макс. 255 символов |
partner_uuid | string | Если не передано ican_uuid | UUID у партнёра (или ican_uuid). Макс. 255 символов |
district_ican_uuid | string | Если не передано ни одно из district_partner_uuid, district_wasyt_uuid | Район (UUID в ICAN). Макс. 255 символов |
district_partner_uuid | string | Если не передано ни одно из district_ican_uuid, district_wasyt_uuid | Район (UUID у партнёра). Макс. 255 символов |
district_wasyt_uuid | string | Если не передано ни одно из district_ican_uuid, district_partner_uuid | Район (UUID в Wasyt). Макс. 255 символов |
name | string | Да | Название. Макс. 255 символов. Уникальное значение в компании |
Ответ
Пример ответа пока не записан тестами.

