Skip to content

CatchChat API Reference

Kevin edited this page Aug 22, 2014 · 4 revisions

App 检查自己的版本是否被 API 支持:

GET /app/versions/{version}/verify
Name Description
version 包含名称,平台,版本号,全部小写,"-"分割。比如:"catchchat-ios-1.2.0", "catchchat-android-1.0.0"

Response attributes

Attribute Type Description
supported boolean 表示该版本使用的 API 是否被支持。
message string 支持时,内容为空,不支持时,返回一个提示消息给客户端,用户显示给用户。

Example request

curl api.catchchat.me/app/versions/catchchat-ios-1.2.0/verify

Example response

{
  "supported": true,
  "message": ""
}
{
  "supported": false,
  "message": "亲爱的秒粉,你的 App 版本太低啦,赶快升级到最新版本吧。"
}

使用七牛的 Callback 进行发送消息

使用七牛callback的方式是,先请求一个上传token,整个token里包含了上传结束后七牛要callback的信息

创建消息数据

{
"to_users":users_id,
"from_id":user_id,
"from_token":token,
"type":message.type,
"message":message.message,
"longitude":message.longitude,
"latitude":message.latitude,
"filename": filename,
"battery_level":message.battery_level
}

进行 base64 处理

iOS 代码

NSData* jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSString *base64Encoded = [jsonData base64EncodedStringWithOptions:0];

创建 token 请求参数

parameters = {
"callbackBody":[NSString stringWithFormat:@"data=%@",base64Encoded],
"type":message.type,
"filename":filename
}

请求 token

将 创建 token 请求参数 得到的 parameters POST 到 /v2/attachments/token_callback

返回的数据中取 token 的 field

上传

使用上一步获得的token,向服务器上传,国内使用 "http://upload.qiniu.com" 国外使用 "http://up.qiniug.com"

方法为 POST

上传类型是 multipart/form-data