Получите статус отправки SMS через уведомление Twilio

Я отправляю уведомления с помощью Twilio api. Сообщения отправляются правильно.

$notification = $client
    ->notify->services($serviceSid)
    ->notifications->create([
        "toBinding" => [
            '{"binding_type":"sms", "address":"+971444444444"}',
            '{"binding_type":"sms", "address":"+971444444445"}'
        ],
        'body' => 'Test message 8'
    ]);

Ответ на запрос - 201 и возвращает sid, начинающийся с 'NT'. Как отслеживать статус этого сообщения?


person Jithin Jose    schedule 08.02.2018    source источник


Ответы (3)


twilio имеет callback веб-перехватчик статуса, вам нужно настроить его, чтобы отслеживать статус доставки sms-сообщения

$notification = $client
    ->notify->services($serviceSid)
    ->notifications->create([
        "toBinding" => [
            '{"binding_type":"sms", "address":"+971444444444"}',
            '{"binding_type":"sms", "address":"+971444444445"}'
        ],
        'body' => 'Test message 8'
        'statusCallback' => "your public end point to track sms delivery status"
    ]);

см. больше здесь

person Shachaf.Gortler    schedule 08.02.2018
comment
Похоже, у меня не работает. Похоже, это работает только для $twilio->messages->create - person Maxim Pokrovskii; 24.05.2018

Должно быть так:

PHP:

$notification = $client
    ->notify->services($serviceSid)
    ->notifications->create([
        "toBinding" => [
            '{"binding_type":"sms", "address":"+971444444444"}',
            '{"binding_type":"sms", "address":"+971444444445"}'
        ],
        'body' => 'Test message 8'
        'sms' => ['status_callback' => 'https://youcallbackurl.com']
    ]);

Или Javascript

const service = twilio.notify.services(notifyId);
const bindings = numbers.map(number => {
        return JSON.stringify({ 
            binding_type: 'sms', 
            address: number,
        });
    });

service.notifications.create({
        toBinding: bindings,
        body: message,
                sms: {
                    status_callback: 'https://youcallbackurl.com'
                }
  })
person Maxim Pokrovskii    schedule 24.05.2018
comment
Я не знаю, почему этот ответ получил -1 голос, потому что это, кажется, правильный способ настроить URL-адрес обратного вызова с помощью Notify API (в любом случае в PHP), пока выбранный ответ не работает. - person Gazillion; 12.09.2018