پروفایل کاربر کانکت
سلام و خسته نباشید
کاربر وارد شده در اپ کانکت، یا کاربر کانکت از طریق اپ دیسکاوری، پروفایلی در اختیار داره که مجزار از سیستم اصلی ایوند می باشد.
یعنی در سیستم کانکت هم کاربر داریم که هیچ ارتباطی با کاربر تو خود سیستم اصلی ایوند نداره.
این کاربر ایوند، صفحه پروفایل مربوط به خود رو می تونه داشته باشه. می تونه اطلاعات مرتبط به خودش رو ببینه. آپدیت کنه. خودشو بکشه و دنیاشو نابود کنه.
در صورتی که کاربر لاگین کرده باشه و توکن مربوط به کاربر خاصی باشه، و نه کلایت (مثل خود اپ کانکت) می شه از ریسورس مربوطه برای موارد مطرح شده استفاده کرد و لذتش را تا جان در بدن هست، برد.
دریافت اطلاعات پروفایل کاربر
برای دریافت اطلاعات پروفایل کاربر فعالی به این شکل عمل می کنیم:
GET https://connect.evand.com/api/users/me
Header:
Authorization: Bearer xxx
{
"email": "hossein.bala-shahdana@gmail.com",
"mobile": "+989100000000",
"name": "hosse",
"surname": "baghayi",
"biography": "web developer",
“avatar”: null | “https://static.evand.com/....sss.png”
"jobTitle": null,
"organization": "unfortunately evand :(",
"website": null,
"telegram": null,
"linkedin": null,
"twitter": "@baghayi",
"instagram": null,
"facebook": "baghayi",
"profileCompleteness": {
"status": "50%"
},
"totalLogins": 72,
"profileCompleteness": {
"status": "50%"
},
"totalLogins": 72,
"createdAt": "2019-03-05T13:35:56+0330",
"_links": {
"self": {
"href": "http://connect.evand.abc/api/users/me"
}
}
}
تاریخ به فرمت ISO8601 تبدیل گردیده است.
توجه کنین که ایمیل اختیاری هست و ممکنه نباشه. البته به احتمالا زیاد خالی نباشه و مقداری داشته باشه ولی خود در سیستم کانکت وجودش ضروری نیست.
با این وجود شماره موبایل حتما باید باشه و همیشه در دسترس خواهد بود.
یه سری از فیلد ها که از سوالات سفارشی هنگام خرید بلیت از شرکت کننده گرفته می شه، ممکنه توسط شرکت کننده اطلاعات پر شده باشه و یا نباشه. و اختیاری هست و ممکنه مقداری در بر نداشته باشه.
ویرایش پروفایل کاربری
جهت ویرایش پروفایل کاربری، درخواست PATCH به ریسورس پروفایل کاربر ارسال می شه:
PATCH https://connect.evand.com/api/users/me
Header:
Authorization: Bearer xxx
Response:
{
"id": "me",
"email": "baghayi@gmail.org",
"mobile": "+989000000000",
"name": "Hüsen",
"surname": "",
"avatar": "https://static.evand.net/images/events/covers/original/....jpg",
"biography": "web developer",
"jobTitle": null,
"organization": "evand",
"website": null,
"telegram": null,
"linkedin": null,
"twitter": "@baghayi",
"instagram": null,
"facebook": "baghayi",
"profileCompleteness": {
"status": "57%"
},
"totalLogins": 720000000000000,
"createdAt": "2219-03-06T11:43:10+0330",
"_links": {
"self": {
"href": "https://connect.evand.com/api/users/me"
}
}
}
Response:
{
"id": "me",
"email": "baghayi@gmail.org",
"mobile": "+989000000000",
"name": "Hüsen",
"surname": "",
"avatar": "https://static.evand.net/images/events/covers/original/....jpg",
"biography": "web developer",
"jobTitle": null,
"organization": "evand",
"website": null,
"telegram": null,
"linkedin": null,
"twitter": "@baghayi",
"instagram": null,
"facebook": "baghayi",
"profileCompleteness": {
"status": "57%"
},
"totalLogins": 720000000000000,
"createdAt": "2219-03-06T11:43:10+0330",
"_links": {
"self": {
"href": "https://connect.evand.com/api/users/me"
}
}
}
اطلاعات ارسال می تونه هر چی باشه. فقط توجه کنین که در صورت ارسال null برای هر فیلدی دیتای فیلد مربوطه هم می تونه پاک شه.
نکات در مورد دیتای ارسالی:
- ایمیل (email): ایمیل تو سیستم نمی تونه تکراری باشه. و اگر ایمیلی که از قبل تو سیستم وجود داشته باشه، ثبت همان ایمیل باعث بروز خطا خواهد شد:
{
"errors": {
"email": {
"duplicate": "email is used by someone else!"
}
},
"title": "validation_error",
"type": "validation_error",
"status": 422,
"detail": "hello"
}
در صورت ارسال null برای ایمیل، باعث پاک شدن ایمیل برای کاربر مربوطه خواهد شد.
در صورت صحیح نبودن ساختار ایمیل باعث بروز خطا خواهد شد:
{
"errors": {
"email": {
"emailAddressInvalidFormat": "The input is not a valid email address. Use the basic format local-part@hostname"
}
},
"title": "validation_error",
"type": "validation_error",
"status": 422,
"detail": "hello"
}
- موبایل (mobile): قبل از همه، برای تغییر موبایل نیاز به تایید شماره موبایل خواهد بود. یعنی در صورتی که شماره موبایل جدیدی می خواهید ارسال کنید، نیاز خواهد بود قبلش شماره موبایل رو به ریسورس دریافت کد تایید پیامک ارسال کنید که به صاحب شماره موبایل کد تاییدیه ای ارسال شه که اون رو هم همراه شماره موبایل جدید به سرور ارسال کنید:
{
"mobile" : "+989100000000",
"mobile_verification_code": 36108,
}
در صورتی که کد تاییدیه را نفرستید، یا کد اشتباهی ارسال نمایید، با خطای زیر روبرو خواهید شد:
{
"errors": {
"mobile": {
"mobileOwnershipFailed": "mobile and it's verification code (mobile_verification_code) does not match up or is expired!"
}
},
"title": "validation_error",
"type": "validation_error",
"status": 422,
"detail": "hello"
}
در صورتی که شماره موبایل نادرستی وارد کرده باشید و ساختارش درست نباشه با خطای زیر روبرو خواهید شد:
{
"errors": {
"mobile": {
"invalid": "invalid mobile phone number"
}
},
"title": "validation_error",
"type": "validation_error",
"status": 422,
"detail": "hello"
}
در صورتی که شماره موبایل، برای خود کاربر باشه و قبلا به پروفایلش ثبت کرده باشه و دوباره همان رو ثبت کنید، نیاز به هیچ تاییدیه ای نخواهد بود و در عمل آبی از آب تکان نمی خوره و برای همین نیازی نیست کد تاییدیه ای ارسال بشه.
برای دریافت کد تاییدیه به این شکل عمل می کنیم:
POST https://connect.evand.com/api/mobile/verification-codes
Headers:
Authorization: Bearer xxx
Content-Type: application/json
Body:
{
"mobile": "+989100000000"
}
و سپس کد تاییدیه ۵ رقمی به شماره موبایل مربوطه ارسال خواهد شد که سپس کد رو در ریسورس قبلی برای تغییر شماره موبایل ارسال کنید.
- آواتار (avatar): آواتار می تونه null باشه و یا لینکی به عکسی که در سرور ایوند آپلود شده باشه و از دامنه https://static.evand.com باشه.
در صورتی که لینک آواتار معتبر نباشه یا لینکی خارج از سرور ایوند برای آواتار تعیین کرده باشید، با خطای زیر روبرو خواهید شد:
{
"errors": {
"avatar": {
"invalidAvatar": "avatar url is not valid or not supported. Please upload your images to evand storage service then retry again"
}
},
"title": "validation_error",
"type": "validation_error",
"status": 422,
"detail": "hello"
}
باقی فیلد ها ولیدیت ای روشون نمی شه و می تونه هر مقداری داشته باشه.
لیست فیلد ها بدین شرح می باشد:
- mobile
- name
- surname
- avatar
- biography
- jobTitle
- organization
- website
- telegram
آپلود آواتار
در مورد نحوه آپلود فایل (عکس به عنوان آواتار کاربر) به لینک زیر مراجعه نمایید:
درصد تکمیلی پروفایل
فیلدی جدید به کاربر اضافه شده که می شه فهمید کاربر چند درصد از پروفایلش رو تکمیل کرده:
...
"profileCompleteness": {
"status": "50%"
},
...
تعداد دفعات ورود کاربر
پارامتر دیگری مبنی بر تعداد دفعات ورود کاربر در نظر گرفته شده:
...
"totalLogins": 72,
...
نظرات