Profil sozlamalarini saqlash
/api/crm/v2/profile.updatev2profile.updateJoriy foydalanuvchi profilini qisman yangilaydi: faqat yuborilgan kalitlar qayta ishlanadi, qolgan maydonlar o‘zgarmaydi. Bu bir maydonni yoki butun formani bitta so‘rovda saqlash uchun mos keladi.
Bo‘sh qiymat maydonni tozalaydi (name, telegram_user_id, telefon, photo). Agar qiymat majburiy bo‘lsa, bo‘sh qiymat 118-xatoni qaytaradi: timezone, language va telefon.
Email bu yerda o‘zgarmaydi: loginni o‘zgartirish tasdiqlashni talab qiladi, buning uchun alohida profile.request_email_change va profile.cancel_email_change mavjud.
Telefon — kalitlar juftligi, ular birga yuboriladi: bittasi ikkinchisiz yuborilsa, 117-xato qaytariladi. Parolni o‘zgartirish uchun old_password talab qilinadi (agar mos kelmasa, 128-xato), emailga xabarnoma yuboriladi va barcha foydalanuvchi sessiyalari, shu jumladan joriy sessiya yakunlanadi: hisob ma’lumotlari o‘zgargani uchun qayta kirish kerak bo‘ladi. 2FA yoqilishi uchun to‘g‘ri otp kodi talab qilinadi, o‘chirish uchun esa talab qilinmaydi; otp_reset yangi secret chiqaradi, 2FA o‘chirilgan holda qoldiradi va yangi bog‘lash uchun secret va qr ni qaytaradi.
Avtorizatsiya
api-token + language + role
So‘rov tanasi multipart/form-data
Bo'sh qiymat maydonni tozalaydi
Misol: John Smith
Mamlakat kodi: 1-🇷🇺(+7|8), 2-🇦🇿(+994|0), 3-🇧🇾(+375|80), 4-🇰🇿(+7|8), 6-🇷🇸(+381|0), 7-🇹🇷(+90|0), 8-🇺🇦(+380|0), 9-🇵🇹(+351|0), 10-🇰🇬(+996|0), 11-🇺🇸(+1), 12-🇫🇷(+33|0), 13-🇲🇩(+373|0), 15-🇪🇪(+372), 18-🇬🇪(+995), 19-🇺🇿(+998), 22-🇵🇱(+48|0), 23-🇹🇯(+992|8), 25-🇷🇴(+40|0), 44-🇨🇭(+41|0)
Misol: 1
Faqat phone_format_id bilan birga; telefon majburiy
Misol: (952) 056-31-65
Faqat raqamlar; bo‘sh qiymat maydonni tozalaydi
Misol: 476962294
Misol: Europe/Kaliningrad
Misol: ru
Fayl avatarni almashtiradi; bo‘sh matnli maydon uni o‘chiradi
Yangi parol; faqat old_password bilan birga
Misol: 987654321
Joriy parol; parolni o‘zgartirishda majburiy
Misol: 123456789
true 2FA ni yoqadi va otp talab qiladi, false uni o'chiradi
Misol: true
Yangi 2FA sirini chiqaradi; 2FA yangi bog‘lanmaguncha o‘chirilgan holda qoladi
Misol: false
Joriy maxfiy kod; 2FA yoqilganda va otp_reset da majburiy
Misol: 192870
Javoblar
OK
Qiymatlar:successerror
Misol: success
Misol: Successfully saved
Mavjud, agar avatar almashtirilgan bo‘lsa
Misol: data:image/jpeg;base64,/9j/4AAQSkZJRg...
otp_reset mavjud
Misol: KA2G2UKBHBBHKOJR
otp_reset bo‘lganda mavjud
Misol: https://api.qrserver.com/v1/create-qr-code/?data=otpauth%3A%2F%2Ftotp%2FFS%2520Admin%3Akalabunga82%40gmail.com%3Fsecret%3DKA2G2UKBHBBHKOJR%26issuer%3DFS%2520Admin&size=520x520&margin=15