Как проанализировать ответ на запрос API уведомлений twilio

#json #twilio #twilio-api #twilio-php

#json #twilio #twilio-api #twilio-php

Вопрос:

Я работаю с последней версией twilio php sdk 6.10 . Здесь я пытаюсь выполнять вызовы API уведомлений для отправки массовых сообщений. Он работает нормально, но ответ на запрос, который он возвращает, имеет неправильный json формат. Вместо этого я получаю что-то вроде пользовательских атрибутов объекта как

 TwilioRestNotifyV1ServiceNotificationInstance Object
(
    [version:protected] => TwilioRestNotifyV1 Object
        (
            [_credentials:protected] => 
            [_services:protected] => TwilioRestNotifyV1ServiceList Object
                (
                    [version:protected] => TwilioRestNotifyV1 Object
 *RECURSION*
                    [solution:protected] => Array
                        (
                        )

                    [uri:protected] => /Services
                )

            [domain:protected] => TwilioRestNotify Object
                (
                    [_v1:protected] => TwilioRestNotifyV1 Object
 *RECURSION*
                    [client:protected] => TwilioRestClient Object
                        (
                            [username:protected] => sidddddddddddddd555555555555555
                            [password:protected] => jk44444444444444555555555555555
                            [accountSid:protected] => sighhhhhhhhhhhhhhhhhh44444444
                            [region:protected] => 
                            [edge:protected] => 
                            [httpClient:protected] => TwilioHttpCurlClient Object
                                (
                                    [curlOptions:protected] => Array
                                        (
                                        )

                                       .
                                       .
                                       .
  

Как я могу заставить его возвращать ответ в правильном json формате?
Вот как я делаю запросы на отправку

  $notification = $client
    ->notify->services($messagingServiceSid)
    ->notifications->create([
    "toBinding" => $binding,
    "body" => $sms_text
 ]);
  

или как я могу извлечь необходимые данные из этого типа ответа?

Ответ №1:

Евангелист-разработчик Twilio здесь.

Библиотека Twilio PHP не возвращает вам необработанный JSON. Вместо этого он анализирует его и превращает в объект PHP, который вы можете вызывать для извлечения данных или выполнения дальнейших вызовов API.

У вас есть объект NotifcationInstance , документы для которого находятся здесь: https://www.twilio.com/docs/libraries/reference/twilio-php/6.10.3/classes/Twilio_Rest_Notify_V1_Service_NotificationInstance.html.

И исходный код, включая все свойства, находится здесь: https://github.com/twilio/twilio-php/blob/main/src/Twilio/Rest/Notify/V1/Service/NotificationInstance.php

Таким образом, вы можете получить данные, вызвав свойства экземпляра:

  $notification = $client
    ->notify->services($messagingServiceSid)
    ->notifications->create([
    "toBinding" => $binding,
    "body" => $sms_text
 ]);

 echo $notification->sid;
 echo $notification->body;