• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    בעיה ב Curl עם הפקודה QueueManagement

    מתוזמן נעוץ נעול הועבר פורום PHP
    4 פוסטים 3 כותבים 185 צפיות 1 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ח מנותק
      חוויה טלפונית
      נערך לאחרונה על ידי שמחה - זו הסיסמא

      אני שולח QueueManagement
      כך

                          $handle = curl_init();
                          $YemotUrl = "https://www.call2all.co.il/ym/api/QueueManagement";
                           
                          $postData = array(
                            'token' => $token,
                            'callIds'  => $CallsInQueue,
                            'action' => 'kick',
                            'moreData' => 'GOTO:/1/1'
                          );
      
                          curl_setopt_array($handle,
                            array(
                              CURLOPT_URL => $YemotUrl,
                              CURLOPT_POST => true,
                              CURLOPT_POSTFIELDS => $JSONpostData,
                              CURLOPT_RETURNTRANSFER => true,
                              CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8"),
                            )
                          );
      //                    curl_setopt($handle,CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8"));
      
                          $data = curl_exec($handle);
                           
                          curl_close($handle);
                           
      

      התשובה שאני מקבל היא

      {"responseStatus":"Exception",
      "message":"callIds is not array",
      "file":"QueueManagement.ym"
      ,"Line":"274:44"
      ,"yAfastVersion":"6.6.30"}
      

      כשאני מדפיס ב var_dump את $postData
      זה נראה ככה

      array(5) { 
      ["token"]=> string(16) "XXXX:YYYY"
       ["callIds"]=> array(2) { 
             [0]=> string(32) "2b3e11699b5606b5ca1cfc0191dc5f7a" 
             [1]=> string(32) "eb73b1f4268ec2fc3f7f91b03ea5fec2"
       } 
      ["action"]=> string(4) "kick"
       ["moreData"]=> string(16) "GOTO:/1/1" 
      ["queuePath"]=> string(4) "AA/8" 
      }
      

      אשמח אם מישהו יוכל לכוון אותי היכן הטעות שלי
      תודה רבה

      A שמואלש 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • A מחובר
        amp Software 0 @חוויה טלפונית
        נערך לאחרונה על ידי amp Software 0

        יש משהו שאני לא מבין, או שלא העתקת נכון את הקוד
        אתה מאכלס את הנתונים במשתנה בשם $postData ובשליחה ל curl אתה שולח משתנה בשם $JSONpostData

        ח תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • ח מנותק
          חוויה טלפונית @amp Software 0
          נערך לאחרונה על ידי

          @amp-Software-0
          אני ניסיתי כמה אפשרויות באחרת מהם יצרתי משתנה שממיר את postData לjson
          תכלס בסוף מה שעשיתי בסוף:
          הגדרתי בקשה באמצעות postmen ושם יש אפשרות של Code snippet
          בחרתי ב php - Curl ומה שיצא לי זה הקוד הבא(כמובן ערכתי אותו טיפה אבל זה העיקרון)

              $postData = array(
                  'token' => $token,
                  'callIds'  => $CallsInQueue,
                  'action' => 'kick',
                  'moreData' => 'GOTO:/1/1',
                  'queuePath' => "$Driver_call_location/2/2",
              );
              
          $postData = json_encode($postData);
          
          $curl = curl_init();
          
          curl_setopt_array($curl, array(
            CURLOPT_URL => 'https://www.call2all.co.il/ym/api/QueueManagement',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_POSTFIELDS =>$postData,
            CURLOPT_HTTPHEADER => array(
              'Content-Type: application/json'
            ),
          ));
          
          $response = curl_exec($curl);
          
          curl_close($curl);
           $response;
          
          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • שמואלש מנותק
            שמואל @חוויה טלפונית
            נערך לאחרונה על ידי

            @חוויה-טלפונית אתה צריך להקפיץ על שתי דברים.

            השירות הזה דורש לקבל json ולא כמו כל שירות.

            לכן,
            אתה צריך להקפיד על: Content-Type: application/json ולשלוח את הbody ב json ולא כפרמטרים.

            לפניות בנוגע לפורום: shmuel@yemot.co.il

            תגובה 1 תגובה אחרונה תגובה ציטוט 2

            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

            נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

            הרשמה התחברות
            • פוסט ראשון
              פוסט אחרון