Я нашел другой вопрос о обратных вызовах, но эта ситуация отличается, как в том, как он ожидает, что обратный вызов будет работать, так и в том, какие сервисы он использует, отсюда и этот вопрос. (URL обратного вызова Twilio не вызывается — PHP & WordPress)
Панель управления службами Twilio Messaging сообщает:
Исходящие настройки
Сделать запрос на этот URL, когда сообщение в или из этого сообщения
Сервис завершен.
Я могу отправить MMS, используя этот настроенный сервис.
Я также могу получать ответы MMS / SMS, и они генерируют обратный вызов для моего отвечающего веб-сервиса (это простой сервис, который пока только регистрирует данные запроса).
Однако, когда я отправляю MMS с помощью curl, обратный вызов статуса никогда не вызывается. Это тот же URL, что и входящее SMS-уведомление, который работает.
Что мне не хватает? (Примечание. Я настраиваю URL-адрес обратного вызова состояния в консоли, а не в запросе через curl.)
Вот запрос, который я делаю, чтобы отправить сообщение:
#!/bin/bash
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/blahblahblah/Messages.json' \
--data-urlencode 'To=+12345678900' \
--data-urlencode 'From=+9876543210' \
-d 'MessagingServiceCid=blahblahblah' \
--data-urlencode 'Body=Keep on rocking!' \
-d 'MediaUrl=https://webasset-akm.imvu.com/scene/2314.29/hc-2.1/sDr-t4W83vXXRcWetWbXVjWT5S965bhoB8GKHHt316qYA8nVLvcqD-UaPpSBw75_tn5RMCEIjjwSAMwe5J4yMQRTg92GAnwAEcQmzJPaxuHGh7FKNcj2SCDzZuYJusJsJfvgo_1QabUfCXgVPC7wo8J5NBYdpqRoc3_UtLssRphGGlrdUteIGT4vRv-EIvQBXfbAoSGXlpmqoxbRcohXsEgAkY0OBw_KH4qovzIT9P0eVTFErd_aQcAZPpNWBk1c2Rk9LxhOTqCwYesowSr034TfbRppMhTct0WkpU7JxrOjKFCm0tT0WCu7Dye6IryJRj9yet0vmZrrOzu4jvVuUw==.gif' \
-u blahblah:blahblah
(отредактировано, чтобы вывести cid службы сообщений, cid аккаунта и секрет из почты)
Twilio разработчик евангелист здесь.
Кажется, это сочетание нескольких вещей.
Во-первых, вы поставили как From
число и MessagingServiceCid
, Это обычно не сработает, вы должны предоставить один или другой.
Во-вторых, вам действительно нужно предоставить MessagingServiceSid
(это S, а не C).
Так что, похоже, произошло то, что Twilio проигнорировал вашу MessagingServiceCid
параметр и отправил сообщение, используя ваш From
параметр. Так как он не пришел из службы сообщений, обратный вызов, установленный вами для самой службы, не будет запускаться.
Итак, чтобы исправить это, вам нужно удалить From
параметр и исправить MessagingServiceSid
,
#!/bin/bash
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/blahblahblah/Messages.json' \
--data-urlencode 'To=+12345678900' \
-d 'MessagingServiceSid=blahblahblah' \
--data-urlencode 'Body=Keep on rocking!' \
-d 'MediaUrl=https://webasset-akm.imvu.com/scene/2314.29/hc-2.1/sDr-t4W83vXXRcWetWbXVjWT5S965bhoB8GKHHt316qYA8nVLvcqD-UaPpSBw75_tn5RMCEIjjwSAMwe5J4yMQRTg92GAnwAEcQmzJPaxuHGh7FKNcj2SCDzZuYJusJsJfvgo_1QabUfCXgVPC7wo8J5NBYdpqRoc3_UtLssRphGGlrdUteIGT4vRv-EIvQBXfbAoSGXlpmqoxbRcohXsEgAkY0OBw_KH4qovzIT9P0eVTFErd_aQcAZPpNWBk1c2Rk9LxhOTqCwYesowSr034TfbRppMhTct0WkpU7JxrOjKFCm0tT0WCu7Dye6IryJRj9yet0vmZrrOzu4jvVuUw==.gif' \
-u blahblah:blahblah
Кричать, чтобы казарка за помощь в отладке этого.
Других решений пока нет …