0

我有一个类可以访问销售人员中的站点 url。站点 URL“ https://somesalesforce.com/smsToApex ”与 twilio 帐户短信 URL 相同,但无法调用此类。在此处输入图像描述我已经参考了这个文档。twilio SMS url 正确是不是如何检查?Twilio 帐户 SMS url 和 salesforce 站点 url 与现在相同。每当通过 twilio 发送 SMS 时,就会自动在沙箱中创建案例。但这里没有发生.我做正确的生产者不是?。有人可以帮助我。如何解决这个问题。我已经检查了像这样的 twilio 短信网址“ https://somesalesforce.com/service/apexrest/smsToApex ”。我将使用哪个网址提供 Salesforce 站点 url、Twilio SMS url。

@RestResource(urlMapping='/smsToApex')
global class smsToApex 
{   
    Static TwilioAccount account = TwilioAPI.getDefaultAccount();         
    @HttpPost
    global static void incomingSMS() 
    {        
        // This will error out with System.LimitException if we would exceed
        // our daily email limit
        Messaging.reserveSingleEmailCapacity(1);

        String expectedSignature = RestContext.request.headers.get('X-Twilio-Signature');
        system.debug('ES' + expectedSignature);
        String url = 'https://' + RestContext.request.headers.get('Host') + '/services/apexrest' + RestContext.request.requestURI;
        Map <String, String> params = RestContext.request.params;
       system.debug('smsToApex========>'+params);
        // Validate signature
        if (!TwilioAPI.getDefaultClient().validateRequest(expectedSignature, url, params)) {
            RestContext.response.statusCode = 403;
            RestContext.response.responseBody = Blob.valueOf('Failure! Rcvd '+expectedSignature+'\nURL '+url/*+'\nHeaders'+RestContext.request.headers*/);

            return;
        }       
        RestContext.response.responseBody = Blob.valueOf('ok');        
        String caseFrom = params.get('From');
         String caseTo = params.get('To');
        String   caseBody = params.get('Body');          
          System.debug('Step 4 smsToApex caseFrom==>'+caseFrom);
          System.debug('Step 5 smsToApex caseTo===>'+caseTo);
          System.debug('Step 6 smsToApex caseBody===>'+caseBody);          
           Case ca = new Case();
            ca.Subject = 'Test smsToApex caseFrom'+caseFrom;
            ca.Description = 'Test smsToApex caseBody'+caseBody+','+caseTo;
            ca.Origin = 'Phone';
            INSERT ca;                  
     }                       
}
4

1 回答 1

0

有几件事要检查...

  • 您可以通过Postman 之类的方式发布到该 URL吗?如果你传入一些 JSON,你至少应该得到一个错误......
  • 消息是否发送到 SF 并在那里失败,或者从未发送,这表明 SFDC 中的 URL/REST 类存在问题
  • 检查 Twilio SMS 日志 - 您应该在 SMS 日志中看到成功或失败的结果以及错误代码
  • 您是否在 SF 的 Cusom 设置中设置了 Twilio 信用?它使用它们进行签名检查。
  • SFDC 调试日志向您展示了什么?如果您在监视器 - 调试中设置并搜索站点用户,则可以查看站点用户的调试日志。
于 2014-06-23T17:05:08.447 回答