پست‌ها

نمایش پست‌ها از 2019

برگزار کننده های رویداد در کانکت

شروع این تسک با هدف افزودن قابلیت دسترسی برگزار کننده گان رویداد به کانکت بود. افزودن برگزار کننده جدید به رویداد (سیستم به سیستم) برای این منظور نیازه که درخواستی به سمت سرویس کانکت ارسال نمایید: POST https://connect.evand.com/api/ gateways/organizers Headers: Content-Type: application/json Authorization: Bearer TOKEN { " mobile ": "+989140000000", " event_id ": 1, "name": "Hamidreza", "surname": "shhadana" } از دیتاهای فوقی که نیازه به ریسورس مربوطه ارسال شوند، مقادیر mobile و event_id اجباری می باشد. در صورتی که مقادیر این دو فیلد ارسال نشه و یا اشتباه باشه، با خطاهای خیلی ۵۰۰ روبرو خواهیم شد.از آنجایی که برای خودمون می نویسیم و سیستم به سیستم قراره استفاده بشه، وقت بیشتری برای ولیدیشن نزاشتم. برای همین خطای ۵۰۰ می گیریم. در صورت نیاز می شه ولیدیشن مناسبی به ریسورس مربوطه افزود. مقدار فیلد mobile نیاز است که string باشه. مقدار فیلد event_id نیاز است که integer باشه.

Event Progress bar

بله، قضیه از این قرار است! قصه ای که امشب قراره براتون تعریف کنم، از نحوه کارکرد progress bar در رویدادهامون هست. هدف از وجود progress bar بر این اساس بود  که کاربر رو تشویق کنیم تا برگزار کننده هامون یه سری از قابلیت هایی که رویدادها دارن رو فعال و ازش استفاده کنن تا به این نحو بتوانیم بر کیفیت رویدادها بیفزاییم. لیست آیتم ها یه سری آیتم که الان داریمشون و قصد تشویق کاربر به استفاده ازشون داریم به این شرح است: توضیح رویداد ایمیل دعوت‌نامه همکاری در فروش تبلیغات (خرید تبلیغات وندو) لوگو و کاور سازمان رویدادها نظرسنجی آیتم هایی که برایتون لیست کردم از جمله آیتم هایی است که الان داریمشون. ممکنه برگزار کننده این آیتم ها رو پر کرده /فعال کرده باشه و یا نکرده باشه. و همچنین ترتیبی خواهند داشت به ترتیب تغریف شده نیاز به نمایششان خواهد بود. هر کدام از این آیتم ها توضیحاتی در برخواهد داشت که اینا از طرف کلاینت (فرانت/ موبایل) هامون هندل می شه. از آنجایی که در کنار توضیحات نیاز به لینک به دیگر بخش ها هست و متاسفانه بک نمی تونست درگیر تولید لینک فرانتی یا

بارگذاری دیتای رویدادهای ویژه کاربران

سلام سرویس اصلی ایوند نیاز به ورودیه ای داره که بتونه رویدادهای ویژه کاربران رو از سرویس مربوطه ای دریافت بکنه. این اطلاعات همانطوری که تحویل گرفته می شه، برای استفاده های بعدی در جدول user_special_event ذخیره می شوند. برای تحویل رویدادها بدین شکل عمل می کنیم: POST http://api.evand.com/ data-providers/user-special-events Headers: Authorization: Bearer TOKEN [ { "user_id": 1, "events": [ [1, 1], [2, 0.9], [100, 0.8] ] }, { "user_id": 2, "events": [ [1, 1], [2, 0.9], [100, 0.8] ] } ] چند نکته، یک اینکه برای اینکه بتونید درخواستی ثبت کنید نیاز به اهراز هویت است و نیاز است توکن jwt تان رو از هدر ارسال نمایید. کاربر تان نیازه که دسترسی ادمین داشته باشه. دیتاهای ارسالی نیاز است بصورت آرایه ارسال شود. می تونید رویدادهایی که مربوط به یه کاربر است رو در یه درخواست جدا ارسال کنید و یا اطلاعات چندین کاربر رو همزمان ارسال کنید. هر کدام که راحت هستید قابل انجام است. اطلاعات رویدادهایی که برای یه کاربر می فرستید، ب

پاسخ به نظرسنجی رویداد

رویدادهای امکان ارسال نظرسنجی برای شرکت کننده گانشان را دارا می باشند. از طرفی راهی برای پاسخگویی به سوالات نظرسنجی نیاز است. هدف این مطلب توضیح، نحوه پاسخ گویی به سوالات نظرسنجی ارسال شده به شرکت کننده می باشد. برای پاسخ گویی نیاز به کد بلیت، آی دی نظرسنجی و  آی دی سوال (ها) همراه با پاسخ شان وجود دارد که نیاز است بصورت کتبی تحویل ریسورس مورد نظر شود. برای ثبت پاسخ های نظرسنجی به این شیوه عمل می کنیم: POST https://api.evand.com/surveys/ SURVEY_ID /answers { "attendee_id": " TICKET_CODE ", "questions": [ { "id": 1, "answer": ["no", "hello"] }, { "id": 2, "answer": "yes" }, { "id": 3, "answer": ["yes"] } ] } همونطور که ملاحظه می کنید، آی دی نظرسنجی (SURVEY_ID) در URI ریسورس تعیین شده است. یعنی نیازه که قرار بگیره. کد بلیت شرکت کننده (TICKET_CODE) هم در بدنه درخواست

۴ رویداد بازدید شده اخیر طی ۲ هفته گذشته

قرار بر این است که تا ۴ رویدادی که کاربر عضو طی ۲ هفته گذشته بازدید کرده است را بصورت لیست در آورده و تقدیم حضورشان کنیم. این لیست قابلیت خالی بودن را دارا می باشد. حداکثر آیتم های موجود در این لیست ۴ تا خواهد بود ولی کمتر از این هم می تواند باشد. یعنی ۳، ۲، ۱، و هیچی. رویدادهای بازدید شده مربوط به کاربر عضو ایوند می باشد. در نتیجه نیاز است که توکن کاربر رو از طریق هدر برای ریسورس مربوطه ارسال نمایید. دریافت لیست برای دریافت لیست بدین صورت عمل می کنیم: GET https://api.evand.com/ recently-visited-events Headers: Authorization: Bearer TOKEN {     "data": [         {             "name": "event name",             "slug": "event_slug",             "city_name": "تهران",             "online": false,             "organization_name": "org name",             "organization_slug": "org_slug",             "start_date": "

سیب: اجرای کمپین

درود کار این ریسورس بر این اساسه که کمپین ای برای عده مشخصی از افراد اجرا شود. ابتدا کمپین هایی در sendinblue تعریف، سپس برای اجرا شدن شان می توان با استفاده از همین ریسورس تعریف شده، که در زیر به شرحش خواهیم پرداخت استفاده نمود. اجرای کمپین برای اجرای کمپین ای، درخواستی بدین شکل به ریسورس مورد نظر ارسال می کنیم: POST https://api.evand.com/sib/runner/campaigns/ CAMPAIGN_NAME Headers:  Authorization: Bearer ACCESS_TOKEN [ {            "email": "email2@address.com”,             “eventdata” : […],            “properties” : […]         },         {            "email": "email1@address.com”,            “eventdata” : […],            “properties” : […]         },         ... ] نکات مهم زندگی : برای استفاده از این ریسورس نیاز به داشتن دسترسی دارید. در صورتی که دسترسی کافی را دارید، می توانید توکن خود را از طریق هدر Authorization ارسال نمایید. در URI ریسورس فوق، نیاز است اسم کمپین را

آمار بازدید رویداد، کمپین

بعد از اجرای کمپین ای، برای دریافت آمار بازدید مربوط به کمپین اجرا شده، می شه به طریق ای که در زیر توضیح داده می شه، بدست آورد: قابلیتی که این ریسورس داره اینه که می شه در لینک مربوط به رویداد جست و جو کرد. در اصل وقتی کمپین ای اجرا می شه، موارد یکتایی در لینک رویداد مثل utm و امثالش اضافه می شه. که با جست و جوی این موارد می شه به تعداد بازدید مربوطه دست پیدا کرد. برای دریافت تعداد بازدید به این شکل عمل می کنیم: GET https://api.evand.com/statistics/total-event-page-visits { "total": 0, "since_last_x_days": 30 } در این مثال هیچ پارامتری به ریسورس مورد نظر داده نشده است و اتفاقی که می افته اینه که بصورت پیش فرض کل فروش ۳۰ روز گذشته رو بر می گردونه. فید total تعداد کل بازدید رو می گه. فید since_last_x_days هم باعث می شه آمار مربوط به تعداد روزهای تعیین شده، لحاظ بشه. پارامتر های ورود که این ریسورس می گیره به این شرح است: پارامتر query که هم می تونه متن باشه و یا آرایه ای از متن ها. مقدار query هم اگه لیستی از متن باشه، چک می شه این

آمار فروش بلیت

هدف در آوردن تعداد فروش بلیت بر اساس یه سری ورودی هست. ممکنه کمپینی اجرا شده باشه، که در نهایت لینک رویدادی که دارای utm و موارد این چنینی در لینک گنجانده شده است به دست کاربر می رسد. از این طریق ممکنه فروشی رخ بده و کاربر مورد نظر اقدام به خرید بلیتی کند. هدف در آوردن تعداد این گروه از شرکت کنندگان است. برای دریافت تعداد فروش به این شکل عمل می کنیم: GET https://api.evand.com/statistics/total-sold-tickets { "total": 0, "since_last_x_days": 30 } در این مثال هیچ پارامتری به ریسور مورد نظر داده نشده است و اتفاقی که می افته اینه که بصورت پیش فرض کل فروش ۳۰ روز گذشته رو بر می گردونه. البته توجه کنید که یه سری فیلتر هایی روی داده های مورد نظر انجام می شه. به عنوان مثال کاربر قبل از خرید حتما باید از صفحه رویداد بازدید کرده باشه. که البته طبیعتا همه بازدید می کنن مگر اینکه دیتاش به هر دلیلی تو سیستم ثبت نشده باشه. فید total تعداد کل فروش بلیت رو می گه. فید since_last_x_days هم تعداد روزهای گذشته که از دیتاهاشون استفاده می شه. روزهای قبلت

فید زنده - کانکت

سلام فید زنده شامل ۲ بخش ثبت پیام و خواندن پیام های ثبت شده می باشد. البته ممکنه حذف پیام رو هم اضافه کنیم. ثبت پیام برای ارسال و ثبت پیام در فید زنده، درخواستی بدین منظور ارسال می نماییم: POST https://connect.evand.com/api/ livefeed/messages Headers: Authorization: Bearer ACCESS_TOKEN Content-Type: application/json { " message ": "your message goes here" } همین. توجه کنید که ارسال فیلد message ضروری است و در صورت ارسال نشدنش خطای ۵۰۰ خواهید گرفت. در صورت موفقیت آمیز بودن قضیه کد ۲۰۴ برگشت داده می شه. در صورت نبود دسترسی کافی کد ۴۰۱ برگشت داده خواهد شد. برای اجتناب از این قضیه نیاز است توکن مربوط به کاربر لاگین شده رو به این ریسورس ارسال نمایید. این ریسورس هیچ اطلاعاتی برگشت نمی ده. مشاهده پیام ها برای مشاهده پیام های ثبت شده در فید زنده، درخواستی بدین صورت ارسال می نماییم: GET https://connect.evand.com/api/ livefeed/messages Headers: Authorization: Bearer ACCESS_TOKEN {   "_total_items": 11

ارسال پیام به شرکت کننده‌گان (کانکت)

هدف از تسک اصلی این بود که برگزار کننده گان بتونن به شرکت کنندگان رویدادشون پیام بفرستن. در حال حاضر پیام به صورت پوش نوتیفکیشن نیاز است تا ارسال شود. برای این منظور برای ارتباط بین سرویس اصلی ایوند که ارتباط برگزار کننده باهاش هست، با سرویس کانکت، نیاز به آماده سازی ریسورس دیگری در سرویس کانکت بود که در صورت نیاز پیام مربوطه از طرف سرویس اصلی ایوند به سرویس کانکت تحویل داد شود تا پیام نسبت به شرایط تعیین شده، ارسال گردد و تحویل شرکت کنندگان داده شود. ارسال پیام برای ارسال پیام به شرکت کنندگان رویدادی به این نحو عمل می کنیم: POST https://connect.evand.com/api /announcements/messages Headers: Content-Type: application/json Authorization: Bearer A_CLIENT_SPECIFIC_TOKEN { "eventId": 305457, "subject": "Hello", "description": "Bye", "sendDate" : "2010-10-10 12:00:00" } چند نقطه اینجا وجود داره که نیاز به توضیح هست. نکاتی در رابطه با دیتای ارسالی آی دی رویداد اجباری هست و

ریکاوری بلیت های فعال و یا آخرین بلیت های فعال کاربر

سلام هدف از این تسک، بازیابی بلیت بوده. یعنی در صورتی که بلیت خود را گم گرده باشیم و یا حتی گم نکرده باشیم و بلیت رو داریم و دنبال دانلود PDF اش هستیم می شد از این ریسورس برای دریافت به بلیت مورد نظرمان اقدام کنیم. این ریسورس بلیت هایی که در حال حاضر رویداد فعالی داشته باشن رو لیست می کنه و برای رویدادهای گذشته کاربری نخواهد داشت. از آنجایی که چیزهایی رفته رفته شکل های گوناگون به خود می گیرند و معنی شان عوض می شود، اتفاقی بوده که برای این ریسورس هم افتاده. البته کاربرد اصلی خودش رو حفظ کرده و تنها مسئله ای که بهش اضافه شده اینه که در صورتی که به ایوند لاگین کرده باشیم (توکن اهراز هویت مان در دست راستمان باشد) می شود بدون نیاز به تعیین کد تائیدیه ای به اطلاعات مربوطه دسترسی داشت. کاربرد اول: بازیابی بلیت برای مهمانان گرامی برای این منظور نیاز است ابتدا یکی از ایمیل، شماره موبایل، و یا کد بلیت را از کاربر دریافت کنید تا به شخص مورد نظر کد تائیدیه ای ارسال شود. در صورتی که ایمیل گرفته شود به کاربر کد تائیدیه ای ایمیل خواهد شد. برای شماره موبایل هم پیامک خواهد شد. د

ورود به ایوند از طریق تایید شماره موبایل

سلام هدف از این تسک این بود که بشه فرایند ها رو ساده تر کرد و بجای اینکه ایتدا به کاربر بگیم ثبت نام کنه و سپس ورود کنه (که البته اینجا ثبت نام می کرد خودمون می تونستیم مستقیم به سیستم وارد کنیم) و سپس نیاز به تایید شماره موبایلش باشه. در اصل این تسک الان همه‌ی این ۳ کارو باهم انجام می ده. ثبت نام + ورود + تایید شماره موبایل. درصورتی که از قبل اکانت داشته باشید، ثبت نام ای صورت نمی گیره و عمل ورود صورت خواهد گرفت. مسئله دیگه که شاید نیاز به توضیح باشه اینه که هدف از داشتن موبایل های تایید شده برای اینه که بدونیم واقعا صاحب شماره موبایل هستید یا خیر. سیستم هایی تو ایوند طراحی می شه که نیاز داره بدونه شماره موبایل مخصوص فردی هست که می گه تا تقلبی صورت نگیره و از اکانت فرد دیگری نشه استفاده کرد. مثل پروژه کانکت که روی موبایل داره مانور می ده. ۱) درخواست کد تائیدیه برای شماره موبایل در اول مرحله، نیاز است که کد تائیدیه ۵ رقمی ای به شماره موبایل کاربر ارسال بشه. از این کد برای ورود و در مرحله بعدی استفاده خواهیم کرد. برای ارسال درخواست کد تائیدیه موبایل، لطفا این مطل

دریافت کد تائیدیه برای شماره موبایل

هدف از این ریسورس جهت دریافت شماره کد ۵ رقمی برای تایید شماره موبایل ای می باشد. در اصل این ریسورس در کنار ریسورس های دیگری کاربرد خواهد داشت. مثلا برای ورود با موبایل به ایوند نیاز به تایید شماره موبایل کاربر هست. در این صورت ابتدا درخواستی به این ریسورس برای ارسال کد ۵ رقمی به شماره موبایل مذکور باید بزنید. سپس از کاربر انتظار خواهد رفت که کد ۵ رقمی رو جایی از اپ مون وارد کنن که کلاینت (وب و یا فرانت) همراه با شماره موبایل و در صورت نیاز به دیگر اطلاعات برای ریسورس مربوطه ارسال کنن. این ریسورس برای دیگر مواردی مثل تایید شماره موبایل در پروفایل کاربر هم می تونه مفید باشه. ولی خوب فعلا برای آنجا قابل استفاده نیست و بعد ها می شه تغییرش داد که از همین ریسورس بشه برای تایید شماره موبایل پروفایل و یا دیگر بخش ها هم بهره برد. عمر کد تاییدیه ارسالی ۲ دقیقه خواهد بود. جهت ارسال کد تاییدیه ۵ رقمی به شماره موبایل کاربر نیاز است درخواستی به شرح زیر رو ارسال نمایید: POST https://api.evand.com/mobile/verification-codes Headers:   - Content-Type: application/json {

کد تائیدیه موبایل

کدی است ۵ رقمی، مختص شماره موبایل تعیین شده، به عمر ۲ دقیقه موارد استفاده - به این کد در تغییر شماره موبایل پروفایل کاربری نیاز هست. - همچنین برای ورود به سیستم که نیاز به تایید شماره موبایل کاربر داره هم استفاده می شود. برای دریافت کد ۵ رقمی، نیازه شماره موبایل تان را به ریسورس مربوطه ارسال نمایید تا کد ۵ رقمی به شماره موبایل مذکور پیامک شود. البته برای ارتباط به ریسورس مربوطه نیازه توکن اهراز هویت داشته باشیم. یا توکن ای که مربوط به کاربر هست می شه ارسال کرد، ولی خوب اگه کاربر هنوز لاگین نکرده طبیعتا توکن ای هم نداره که نیازه برای کلاینت توکن ای گرفته بشه. و ریسورس کلاینت رو خواهد شناخت. در نتیجه در ابتدا نیاز است که توکن برای کلاینت داشته باشیم. نحوه دریافت توکن برای کلاینت POST https://connect.evand.com /api/oauth2/token Headers:   - Content-Type: application/json { "grant_type": " client_credentials ", "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", } خروجی:

ورود به کانکت از طریق رویداد و تائیدیه موبایل

یه روش دیگر برای ورود به اپ کانکت مواردی پیش می یاد که رویداد مورد نظر رو می دونیم چی هست، و موبایل شرکت کننده هم در دست هست و فقط نیازه که موبایل توسط شرکت کننده به تایید برسه تا بشه به سیستم کانکت ورود کرد. در اصل می خواهیم بدونیم شرکت کننده صاحب شماره موبایل مورد نظر هست یا نه. جهت دریافت توکن نیازه آی دی رویداد، شماره موبایل مورد نظر، و کد تاییدیه مربوط به شماره موبایل رو برای ما ارسال کنید. درخواست مورد نظر رو به این شکل برای ما ارسال می کنید: POST https://connect.evand.com/api/oauth2/token { "grant_type": " event_mobile_verification ", "client_id": "CLIENT_NAME/ID", "client_secret": "CLIENT_PASSWORD", "mobile": "9140000000", "mobile_verification_code": MOBILE_VERIFICATION_CODE, "event_id": EVENT_ID } نوع grant ای که برای این نوع ورود استفاده می شه event_mobile_verification هست و تعیین اش ضروری هست. فیلدهای client_id و client_secret