2017-09-07 1 views
0

TwiML Bin에서이 참조는 {{body}}{{from}}으로 발견되었지만 콜백까지는 TwiML에서 작동하지 않습니다. 콜백에서 메시지 세부 정보를 가져 오는 데 문제가 있으며 문서화에 적합한 참조를 찾을 수 없습니다.Twilio 콜백에서 메시지 본문 얻기 및 응답에서 사용하기

이 내가 가진 것입니다 (이 작동 확인) :

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(); 
} 

내가 전달 된 메시지에 몸을 통과 누락. 콜백이 끝날 때 꽤 많은 스 니펫을 시도했지만 실제로 여기에서 추측하고 있습니다.

답변

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']을 사용하여 배열 액세스를 통해 액세스 할 수 있습니다.

function trigger_receive_sms($request) { 
    $body = $request['Body']; 

    // return TwiML 
} 

가 전혀 도움이되는지 알려주세요 :

그래서, 메시지 본문을 얻기 위해이 같은 $request['Body'] 위해 호출 할 필요 보냈다.

+0

저는 제가 시도한 것 중 하나 인 긍정적입니다. 나는 그것을 얻은 예를 찾으려고 노력했지만, 지금은 찾을 수 없습니다. 나는 소문자를 가지고 있을지도 모른다고 생각한다. – Madivad

+0

나는 [마지막 질문] (https://stackoverflow.com/questions/46059351/extending-twilio-plugin-to-work-with)에 남긴 예제에서였다. -wordpress-rest-api/46070176? noredirect = 1 # comment79150424_46070176). 모든 Twilio 매개 변수는 대문자로 전송해야하므로 '본문'은 작동하지만 '본문'은 작동하지 않습니다. – philnash