通过Textlocal API发送模板消息

时间:2017-02-04 04:55:15

标签: python

我收到了回复:

  

{"错误":[{"代码":204,"消息":"消息内容无效"}],&# 34;状态":"失效"}

当我尝试使用此模板提交邮件时,我已使用Textlocal注册:

  

感谢您注册***。请输入验证码%% | OTP ^ {" inputtype" :" text"," maxlength" :" 6"} %%完成注册。

我应该如何使用此模板发送消息?我目前的代码是:

// buildObj("house.wall.paint.color", "blue");  
// returns {house: {wall: {paint: {color: "blue"}}}}

2 个答案:

答案 0 :(得分:0)

您要将模板作为邮件发送。您需要发送填写的模板(即替换实际的OTP代码,而不是%%|OTP...

来自文档:

  

如何通过API发送模板?

     

Textlocal会根据您批准的所有模板检查您的邮件,然后通过   仅当邮件与您帐户中的任何已批准模板完全匹配时才会显示该邮件。

     
      
  1. 从数据库/应用程序中获取动态参数并传递最终结果   API中的消息内容      
        
    • 例如:如果您的已批准模板是:

      Thank you for registering with Textlocal. Your verification code is XXXX

      ,则需要传递的邮件内容为:   

      Thank you for registering with Textlocal. Your verification code is 1123

      (代码由您的应用程序生成)

    •   
  2.   
  3. 在您的代码中,必须为动态参数分配一个变量(理想情况下为长字符串或数组),该变量根据移动电话号码从数据库/应用程序中分配一个特定值。      
        
    • 例如:在PHP中,

      $message = rawurlencode('Thank you for registering with Textlocal. Your verification code is $otp')

      其中$otp是动态参数代码中的标识符。

    •   
  4.         

    注意事项:

         
        
    1. 模板名称,占位符文本全部供您参考。不应在API中添加它们。
    2.   
    3. Textlocal API中的“Message”参数应该只包含完整的消息内容   动态参数被替换。 (参见:http://api.textlocal.in/docs/了解参数详情)
    4.   
    5. 所有特殊字符都需要进行URL编码(参见:   编码值http://meyerweb.com/eric/tools/dencoder/
    6.   
    7. 如果您的模板有换行符 - 请在API中使用%n替换换行符。
    8.   

答案 1 :(得分:0)

按照@Grisha Levit的回答是。您只需要在消息变量本身中发送OTP,而不是发送%% | OTP ^ {“ inputtype”:“ text”,“ maxlength”:“ 6”} %%。

解决问题。

更改此

msg = 'Thank you for registering with RTM. Please enter the verification code %%|OTP^{"inputtype" : "text", "maxlength" : "6"}%% to complete the registration.'

为此

otp = 123456
msg = f"Thank you for registering with RTM. Please enter the verification code {otp} to complete the registration."