第三方对接API说明文档

1. 说明(接口调用请加入延时机制,否则系统发现后会封帐号、封IP)

  • 1)地址:http://api.hmyzm.cool:2019/webapi/
  • 2)编码:UTF-8
  • 3)提交方式:POST/GET
  • 4)提交数据:方法名?参数名1=值1....。例如登录的提交数据是:login?uname=用户名&upwd=密码
  • 5)返回数据:所有API成功统一返回1|其它信息,失败统一返回0|失败提示信息。例如登录时提交了正确的用户密码,那么返回为"1|4297F44B13955235245B2497399D7A93"(其中1表示是成功了,后面的4297F44B13955235245B2497399D7A93是API返回的token),如果提交了错误的账号密码,那么返回的结果是0|身份验证失败(0表示失败了)。
  • 6)注意:
    每个获取到的号码都必须正确处理(要么获取到验证码,要么加黑,要么释放)。不能用的号码不加黑下次还会重复获取,如果一直在重复获取重复释放,系统会做封号处理,封号请联系管理解封。
    在发送短信完成后最好等待10秒再开始获取验证码,因为就算是正常手机接短信也是需要大概10秒时间的,如果服务器返回“尚未收到短信验证码”,最好等待3秒后再次请求。当然你可以根据自己的意愿自行设定发完短信等待时间和请求验证码间隔。建议不要太频繁,系统负载过高的情况下会针对高并发用户临时封IP。
    在多线程程序中不要调用CancelAllRecv,否则会影响其他线程的接收.调了cancelAllRecv会释放当前用户下所有已经获取到的号码。

2. 登录方法[Login]

  • 1) 方法名:Login
  • 2)提交参数:uname=用户名&upwd=密码
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/login?uname=yhtest&upwd=123123
  • 4) 返回值:"1|token"(token即身份验证令牌,后面所有的请求都要传这个参数值)
    *注意:令牌有效时间为5分钟,若5分钟内无任何操作则token失效,需要重新登录!

3. 获取手机号[GetPhone]

  • 1) 方法名:GetPhone
  • 2) 提交参数:ukey=登录时返回的令牌&bid=项目id
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/GetPhone?ukey=登录时返回的令牌&bid=项目id
  • 4)指定运营商或区域调用参数:ukey=身份验证令牌&bid=项目id&yys=运营商&gj=国家&sf=省份&cs=城市
  • 5)需要指定取号数量,则在前面参数增加参数:&nm=数量
  • 6)需要指定号码取号,则在前面参数增加参数:&phone=指定号码
  • 7) 返回值:"1|手机号码"

4. 获取验证码[GetMessage]

  • 1) 方法名:GetMessage
  • 2) 提交参数:ukey=身份验证令牌&bid=项目id&phone=号码&kfz=软件作者用户ID(这里是传作者注册时的用户ID,不是用户名)。 不是开发者可以不传开发者ID
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/GetMessage?ukey=身份验证令牌&bid=项目id&phone=号码
  • 4) 返回值:"1|短信内容"
  • 5) 获取验证码后需要调用释放接口主动释放手机号
  • 6) 备注:当返回0|尚未收到短信验证码,请软件主动3秒再重新取短信内容。一般项目的短信在1分钟左右能取到,个别比较慢的也应该在3分钟左右能取到。所以重试间隔3秒的情况下一般循环获取20~60次之间即可。如果一超过60次取不到短信,可以加黑该手机号。返回 0| 请软件主动延时3秒再请求,对于没加任何延时的,平台监控到并发高的会封号处理。

5. 手机号加入黑名单[AddBlacklist]

  • 1) 方法名:AddBlacklist
  • 2) 提交参数:ukey=身份验证令牌&bid=项目id&phone=号码
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/AddBlacklist?&ukey=身份验证令牌&bid=项目id&phone=号码
  • 4) 返回值:"1|操作成功"
  • 5) 备注:如果是正常取到了短信,也需要手动释放手机号

6. 释放指定手机号[CancelRecv]

  • 1) 方法名:CancelRecv
  • 2) 提交参数:ukey=身份验证令牌&bid=项目id&phone=号码
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/CancelRecv?&ukey=身份验证令牌&bid=项目id&phone=号码
  • 4) 返回值:1|操作成功
  • 5) 备注:如果是正常取到了短信,也需要手动释放手机号

7. 释放当前用户下所有手机号[CancelAllRecv]

  • 1) 方法名:CancelAllRecv
  • 2) 提交参数:ukey=身份验证令牌
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/CancelAllRecv?ukey=身份验证令牌
  • 4) 返回值:1|操作成功
  • 5) 备注:如果是正常取到了短信,也需要手动释放手机号,多线程下禁止执行此方法
  • 6) 释放所有会把当前操作中的手机号也释放掉,如果是多个客户端或多线程取号这个方法不要调用,会影响释放掉正在操作中的手机号。

8. 取当前用户信息[GetSummary]

  • 1) 方法名:GetSummary
  • 2) 提交参数:ukey=身份验证令牌
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/GetSummary?ukey=身份验证令牌
  • 4) 返回值:1|余额|等级|批量取号数|用户类型
  • 5) 备注:建议取用户信息的间隔至少在1分钟以上。

9. 提交发送短信内容[PutSentMessage]

  • 1) 方法名:PutSentMessage
  • 2) 提交参数:ukey=身份验证令牌&bid=项目id&phone=号码&message=内容&sphone=接收号码(不填则自动匹配项目接收号码)&kfz=号码软件作者用户ID(这里是传作者注册时的用户ID,不是用户名) ,没有则忽略
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/PutSentMessage?ukey=身份验证令牌&bid=项目id&phone=号码&message=内容&sphone=接收号码
  • 4) 返回值:1|提交成功

10. 获取发送短信状态[getSentMessageStatus]

  • 1) 方法名:getSentMessageStatus
  • 2) 提交参数:ukey=身份验证令牌&bid=项目id&phone=号码
  • 3) 调用实例:http://api.hmyzm.cool:2019/webapi/getSentMessageStatus?ukey=身份验证令牌&bid=项目id&phone=号码
  • 4) 返回值:1|发送成功
  • 其它返回值:0|正在发送 或者 0|发送失败 当提示正在发送,程序等待3秒左右再次尝试。当提示发送失败,表明手机卡不可用,程序重新取手机号步骤。发送成功后需要调用释放接口主动释放手机号