jpush / jpush-api-php-client

JPush's officially supported PHP client library for accessing JPush APIs. 极光推送官方支持的 PHP 版本服务器端 SDK。
https://docs.jiguang.cn
MIT License
522 stars 174 forks source link

[短信补充] Unknown: temp_para #76

Closed HughesCuit closed 6 years ago

HughesCuit commented 6 years ago

PHP:7.0.22 SDK版本:3.6.1

调用$client->setSms(0,{模板编号},['key1'=>'value1','key2'=>'value2'])->send() 这个API时 catch错误:

 #message: "Unknown: temp_para"
  #code: 1009
  #file: "/var/www/hsxf/vendor/jpush/jpush/src/JPush/Http.php"
  #line: 130
  trace: {
    /var/www/hsxf/vendor/jpush/jpush/src/JPush/Http.php:130 {}
    /var/www/hsxf/vendor/jpush/jpush/src/JPush/Http.php:15 {}
    /var/www/hsxf/vendor/jpush/jpush/src/JPush/PushPayload.php:323 {}
    /var/www/hsxf/app/Http/Controllers/PushController.php:35 {
      ›     ->setSms(0,151517,["title"=>$title,"message"=>$content])
      ›     ->send();
      › break;
    }

server为啥会不认temp_para这个参数?去掉这个参数后,通知可以正常发送,但短信不会发送

ghost commented 6 years ago

https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#sms_message

注: 应运营商规定,短信内容需审核。自2018年3月起,短信补充的用户必须提交短信模板,审核通过后即可使用。因此推送时需要填写 temp_id (模版有设置参数则需要填写 temp_para)

https://github.com/jpush/jpush-api-php-client/blob/master/doc/api.md#sms-message

请查看 相关文档说明, 另外从给出的信息来看,参数传错了,不接受数组

HughesCuit commented 6 years ago

setSms(0,151517,['title'=>$title,'message'=>$content]) 我的调用代码是这样的,temp_para 文档中明确写的是接受array型参数,我的模板也是通过了审核的,但是会报temp_para错误。 下面是我的短信模板

您收到一条{{title}}消息,内容为{{message}} 请注意查收。
ghost commented 6 years ago

是我眼花了 确实有这个问题,正在处理

ghost commented 6 years ago

@HughesCuit 现在已经好了,你可以试一下

HughesCuit commented 6 years ago

ok了