SQL(QSYS2)在rpgle中的SQL(QSYS2)的http函数,以通过Twilio发送消息

发布于 2025-02-09 13:31:00 字数 1677 浏览 2 评论 0原文

我正在尝试使用rpgle中IBM I上的SQL(QSYS2)的新HTTP函数通过Twilio发送消息。我已经查找了示例,并使用了相同的代码尝试通过我的Twilio帐户发送文本,但是无论我发送什么,我都会回来:

{“代码”:21604,“消息”:需要数字。”,“ More_info”:“ https://www.twilio.com/docs/errors/21604”,“状态”:400}

任何帮助都将不胜感激。

我尝试过的代码示例:

1)

     dcl-s account_Sid varchar(40);
       dcl-s auth_Token varchar(40);
       dcl-s url varchar(2000);
       dcl-s request varchar(2000);
       dcl-s response varchar(5000);
       dcl-s options varchar(1000);
       
 exec sql
         values json_object(
         'body' value 'This is a test text',
           'from' value '+194xxxxxxxx',
           'to' value '+185xxxxxxxx')
         into :request;



       url='https://api.twilio.com/2010-04-01/Accounts/'+account_sid+'/Messages.json';

       options='{"basicAuth":"'+account_sid+','+auth_token+'",'+
               '"header":"content-type,application/x-www-form-urlencode"}';

       exec sql
         values QSYS2.HTTP_POST(:url, :request, :options)
         into :response;        

请求设置为{“ body”:“这是一个test ext”,“来自”:“+194xxxxxxxx”,“ to”:“+18xxxxxxxxx”}

  1. 我什至尝试将所有内容都硬编码
    exec sql
           qsys2.http_post(
            'https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Messages.json', CAST(
                'To=185XXXXXXXX' CONCAT '&From=194XXXXXXXX' CONCAT '&Body=This is a test' AS VARCHAR(855)),
            '{"basicAuth":"ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,f6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
             "header":"content-type,application/x-www-form-urlencode"}');                                 

I am trying to use the new HTTP Functions for SQL (QSYS2) on the IBM i in RPGLE to send a message via Twilio. I have looked up the examples and have used the same code to try to send a text through my Twilio account, but no matter what i send i get back :

{"code": 21604, "message": "A 'To' phone number is required.", "more_info": "https://www.twilio.com/docs/errors/21604", "status": 400}

Any help would be greatly appreciated.

Examples of Code I have tried:

1)

     dcl-s account_Sid varchar(40);
       dcl-s auth_Token varchar(40);
       dcl-s url varchar(2000);
       dcl-s request varchar(2000);
       dcl-s response varchar(5000);
       dcl-s options varchar(1000);
       
 exec sql
         values json_object(
         'body' value 'This is a test text',
           'from' value '+194xxxxxxxx',
           'to' value '+185xxxxxxxx')
         into :request;



       url='https://api.twilio.com/2010-04-01/Accounts/'+account_sid+'/Messages.json';

       options='{"basicAuth":"'+account_sid+','+auth_token+'",'+
               '"header":"content-type,application/x-www-form-urlencode"}';

       exec sql
         values QSYS2.HTTP_POST(:url, :request, :options)
         into :response;        

request set to {"body":"This is a test ext","from":"+194XXXXXXXX","to":"+18XXXXXXXXX"}

  1. I even tried to hard code everything
    exec sql
           qsys2.http_post(
            'https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Messages.json', CAST(
                'To=185XXXXXXXX' CONCAT '&From=194XXXXXXXX' CONCAT '&Body=This is a test' AS VARCHAR(855)),
            '{"basicAuth":"ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,f6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
             "header":"content-type,application/x-www-form-urlencode"}');                                 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三生殊途 2025-02-16 13:31:00

我最近完成了同样的任务,并最终确保我的标题包含...“ ssltolate”:“ true”,从而取得了成功。

I recently took this same task on and finally achieved success by ensuring my header contains... "sslTolerate":"true"

中二柚 2025-02-16 13:31:00

可能是您在“从“到”和“电话号码”面前都需要“+”?我的脚本有它们。即:& from =+1937

Could it be that you need "+" in front of both the "to" and "from" phone numbers? My script has them. ie: &From=+1937

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文