SMS 未通过 PLIVO 从解析云代码发送

SMS is not being sent through PLIVO from parse cloud code

我在 parse.com

上开发了一个应用程序

我创建了以下函数来使用 plivo 发送短信。

function sendRSVPSMS(PlivoNumber, GuestNumber, Message) {
    var payLoad = {
        src: PlivoNumber,
        dst: GuestNumber,
        text: Message
    };
    Parse.Cloud.httpRequest({
        url: "<My Plivo URL>",
        method: "POST",
        body: payLoad,
        success: function (httpResponse) {
            console.log('httpRequest success');
            response.success("Sent successfully");
        },
        error: function (httpResponse) {
            console.log('SendSMS: Request failed');
            response.error('Request failed');
        }
    });
}

可能是什么原因?

可能是您忘记为内容类型指定 header。

"Content-Type": "application/json"

所以你的代码如下

function sendRSVPSMS(PlivoNumber, GuestNumber, Message) {
    var payLoad = {
        src: PlivoNumber,
        dst: GuestNumber,
        text: Message
    };
    Parse.Cloud.httpRequest({
        url: "<My Plivo URL>",
        method: "POST",
        body: payLoad,
            headers: {
                "Content-Type": "application/json"
            },
        success: function (httpResponse) {
            console.log('httpRequest success');
            response.success("Sent successfully");
        },
        error: function (httpResponse) {
            console.log('SendSMS: Request failed');
            response.error('Request failed');
        }
    });
} 

这里是 Plivo 销售工程师。

Pavan 是正确的。您需要将 Content-Type header 指定为 application/json 以便 Parse 生成 body 的 JSON 字符串:

        headers: {
            "Content-Type": "application/json"
        },

您还应该 console.log(httpResponse)(又名 Plivo API 响应),它会告诉您是做错了什么(发送了错误的数据,没有正确验证)还是做对了。无论哪种方式,它都会向您显示一个 api_id,您可以使用它来查看 Plivo account dashboard debug logs 并找出需要更改的内容。您还可以直接转到特定 api_id 的调试日志,方法是像这样创建 url:https://manage.plivo.com/logs/debug/api/e58b26e5-3db5-11e6-a069-22000afa135b/ 并将 e58b26e5-3db5-11e6-a069-22000afa135b 替换为您返回的 api_id Parse.Cloud.httpRequest