从TwiML Bin我发现了对{{body}}
和{{from}}
的引用,但就回调而言,它们在TwiML中不起作用。我在回调中收到消息详细信息时遇到问题,但我无法找到合适的参考文档。
这就是我所拥有的(这已得到确认):
add_action( 'rest_api_init', 'register_receive_message_route');
/**
* Register the receive message route.
*
*/
function register_receive_message_route() {
register_rest_route( 'srsms/v1', '/receive_sms', array(
'methods' => 'POST',
'callback' => 'trigger_receive_sms',
) );
}
/**
* The Callback.
*
*/
function trigger_receive_sms() {
$y = "this works"; //$_POST['Body'], 0, 1592); << this doesn't
echo ('<?xml version="1.0" encoding="UTF-8"?>');
echo ('<Response>');
echo (" <Message to='+NUMBER'>xxx $y xxx</Message>");
echo ('</Response>');
die();
}
我缺少的是将正文传递给转发的邮件。我在回电结束时尝试了很多片段,但我真的只是在这里猜测。
答案 0 :(得分:1)
Twilio开发者传道者在这里。
当Twilio makes a POST request to your URL时,它会将有关SMS的所有数据作为URL编码参数发送到请求正文中。您可以在此处查看文档中发送的所有参数:https://www.twilio.com/docs/api/twiml/sms/twilio_request#request-parameters。
当您收到对WordPress URL的请求时,回调函数会收到WP_REST_Request
个对象作为参数。此请求对象可以访问作为请求的一部分发送的所有参数,您可以使用$request['paramName']
通过阵列访问来访问它们。
因此,要发送邮件的正文,您需要像这样调用$request['Body']
:
function trigger_receive_sms($request) {
$body = $request['Body'];
// return TwiML
}
让我知道这是否有帮助。