chabokpush / chabok-panel

Chabok Web Dashboard
4 stars 0 forks source link

StatusCode: 400 #45

Closed hoseinjamshidi closed 5 years ago

hoseinjamshidi commented 5 years ago

سلام وقت بخیر زمان فراخوانی api با ارور 400 رو به رو شدم راه حل این مشکل چیه؟(در سیستم ما api شما از طریق یک Api فراخوانی میشود) user در api شما هر مقداری میتونه باشه؟؟(مثلا شماره موبایل کاربر)یا باید از طریق سیستم شما شناسه به اون اختصاص داده بشه؟

hoseinjamshidi commented 5 years ago

کد فراخوانی api شما using (var httpClient = new HttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("POST"),"https://sandbox.push.adpdigital.com/api/push/toUsers?access_token=XXXXXX")) { var myObject = new ChabokAllUsers(); . . .
string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(myObject);

                request.Headers.TryAddWithoutValidation("Accept", "application/json");

                request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
                var response = await httpClient.SendAsync(request);
                return response;
            }
        }
amir-yaghoubi commented 5 years ago

سلام

لطفا payload ارسالی رو ضمیمه کنین تا بررسی کنم

user در api شما هر مقداری میتونه باشه؟؟(مثلا شماره موبایل کاربر)یا باید از طریق سیستم شما شناسه به اون اختصاص داده بشه؟

مقدار user همان شناسه کاربر هست که از طریق شما در سیستم چابک ثبت می‌شود

hoseinjamshidi commented 5 years ago
            ChabokNotificationPayload payload = new ChabokNotificationPayload();
            payload.notificationtitle = title;
            payload.body = captions;

            ChabokNotificationActions actions = new ChabokNotificationActions();
            actions.Id = "string";
            actions.Title = title; ;

            ChabokFallback fallback = new ChabokFallback();
            fallback.content = "string";
            fallback.delay = 0;
            fallback.media = "sms";

            ChabokSpecificUsers SpecificUsersFordAdvsr = new ChabokSpecificUsers();
            SpecificUsersFordAdvsr.user = AppId;
            SpecificUsersFordAdvsr.Content = captions;
            SpecificUsersFordAdvsr.channel = "default";
            SpecificUsersFordAdvsr.Myfallback = fallback;
            SpecificUsersFordAdvsr.ChabokNotificationPayload = payload;
            SpecificUsersFordAdvsr.ChabokNotificationPayload.ChabokNotificationActions = actions;
amir-yaghoubi commented 5 years ago

اگه مقدار json شده payload رو قرار میدادین بهتر میشد

ولی به بزرگی و کوچیکی حروف دقت کنین مثلا داخل json مقدار Content نشینه و content قرار بگیره

در صورتی که سرشماره اس‌ام‌اس خریداری و تنظیم نشده براتون از فراهم اوردن fallback خودداری نمایید

hoseinjamshidi commented 5 years ago

fallback حذف میکنم این هم json شده کلاس ها

"{\"user\":\"USER_ID\",\"channel\":\"default\",\"Content\":\"مشاور گرامی،شما از لیست مشاوران پیشنهادی خارج شدید.\",\"data\":{},\"trackId\":null,\"inApp\":false,\"live\":false,\"autoNotify\":false,\"useAsAlert\":false,\"alertText\":null,\"ttl\":0.0,\"Myfallback\":null,\"clientId\":null,\"ChabokNotificationPayload\":{\"notificationtitle\":\"اعلان حالت پیشنهادی\",\"body\":\"مشاور گرامی،شما از لیست مشاوران پیشنهادی خارج شدید.\",\"groupId\":null,\"icon\":null,\"sound\":null,\"clickUrl\":null,\"ledColor\":null,\"smallIcon\":null,\"ChabokNotificationActions\":{\"Id\":\"string\",\"Title\":\"اعلان حالت پیشنهادی\",\"Options\":0.0,\"Icon\":null},\"mediaType\":null,\"mediaUrl\":null,\"contentAvailable\":false,\"mutableContent\":false,\"category\":null},\"silent\":false}"

amir-yaghoubi commented 5 years ago

همان طور که بالاتر اشاره کردم دقت کنین اسم فیلد ها مطابق داکیومنت باشند

به طورمثال فیلد Content باید به content تغییر پیدا کند

ChabokNotificationPayload به notification

ChabokNotificationActions به actions

و ....

hoseinjamshidi commented 5 years ago

ممون