获取凭证接口

接口说明

在使用通用接口前,你需要做以下两步工作:

1.拥有一个微信公众账号,并获取到appid和appsecret

2.通过获取凭证接口获取到access_token

access_token是第三方访问api资源的票据。

请求说明

http请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

参数

是否必须

说明

grant_type


获取access_token填写client_credential

appid


第三方用户唯一凭证

secret


第三方用户唯一凭证密钥,既appsecret

返回说明

正确的Json返回结果:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

参数

说明

access_token

获取到的凭证

expires_in

凭证有效时间,单位:秒

错误的Json返回示例:

{"errcode":40013,"errmsg":"invalid appid"}

统一返回码说明

用户信息接口

接口说明

第三方通过openid获取用户信息。

请求说明

http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID

参数说明

参数

是否必须

说明

access_token


调用接口凭证

openid


普通用户的标识,对当前公众号唯一

返回说明

正确的Json返回结果:

{"subscribe":1,"openid":"OPENID","nickname":"NICKNAME","sex":1,"language":"LANGUAGE","city":"CITY"}

参数

说明

subscribe

用户是否订阅该公众号标识,值为0时,拉取不到其余信息

openid

用户的标识,对当前公众号唯一

nickname

用户的昵称

sex

用户的性别,值等于1时为男性,值等于2时为女性

city

用户所在城市

language

用户的语言,简体中文为zh_CN

错误的Json返回结果:

{"errcode":40013,"errmsg":"invalid appid"}

统一返回码说明

媒体文件上传接口

接口说明

上传图片、语音、视频等文件,获取media_id,media_id可复用。

请求说明

http请求方式: POST/FORM http://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

参数说明

参数

是否必须

说明

access_token


调用接口凭证

type


媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)

media


form-data中媒体文件标识,有filename、filelength、content-type等信息

请求示例

curl -F "media=@test.jpg" "http://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

返回说明

正确的Json返回结果:

{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}

参数

说明

type

媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)

media_id

媒体文件上传后获取的唯一标识

created_at

媒体文件上传时间

错误的Json返回示例:

{"errcode":40004,"errmsg":"invalid media type"}

统一返回码说明

注意事项

1.上传的媒体文件限制:

图片(image): 1MB,支持JPG格式 语音(voice):1MB,播放长度不超过60s,支持AMR格式 视频(video):10MB,支持MP4格式 缩略图(thumb):64KB,支持JPG格式

2.媒体文件在后台保存时间为3天,即3天后media_id失效

媒体文件获取接口

接口说明

通过media_id获取图片、语音、视频等文件

请求说明

http请求方式: GET http://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID

参数说明

参数

是否必须

说明

access_token


调用接口凭证

media_id


媒体文件id

请求示例

curl -I -G "http://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
返回头:
HTTP/1.1 200 OK
Connection: close
Content-Type: image/jpeg 
Content-disposition: attachment; filename="MEDIA_ID.jpg"
Date: Sun, 06 Jan 2013 10:20:18 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 339721
curl -G "http://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
错误返回:
{"errcode":40007,"errmsg":"invalid media_id"}

 

发送消息接口

接口说明

发送消息给普通用户

请求说明

http请求方式: POST
https://api.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
发送文本
{
    "touser":"OPENID",
    "msgtype":"text",
    "text":
    {
        "content":"Hello World"
    }
}
发送图片
{
    "touser":"OPENID",
    "msgtype":"image",
    "image":
    {
      "media_id":"MEDIA_ID"
    }
}
发送语音
{
    "touser":"OPENID",
    "msgtype":"voice",
    "voice":
    {
      "media_id":"MEDIA_ID"
    }
}
发送视频
{
    "touser":"OPENID",
    "msgtype":"video",
    "video":
    {
      "media_id":"MEDIA_ID",
      "thumb_media_id":"THUMB_MEDIA_ID"
    }
}
发送音乐消息
{
    "touser":"OPENID",
    "msgtype":"music",
    "music":
    {
      "title":"MUSIC_TITLE",
      "description":"MUSIC_DESCRIPTION",
      "musicurl":"MUSIC_URL",
      "hqmusicurl":"HQ_MUSIC_URL",
      "thumb_media_id":"THUMB_MEDIA_ID" 
    }
}
发送图文消息(支持1-10条图文展示)
{
    "touser":"OPENID",
    "msgtype":"news",
    "news":{
        "articles": [
         {
             "title":"Happy Day",
             "description":"Is Really A Happy Day",
             "url":"URL",
             "picurl":"PIC_URL"
         }
         ]
    }
}

参数说明

参数

是否必须

说明

access_token


调用接口凭证

touser


普通用户openid

msgtype


消息类型,支持文本(text)、图片(image)、语音(voice)、视频(video)

media_id

image必须

voice必须

video必须

媒体文件id

thumb_media_id

video必须

music非必须

媒体文件id

title


消息标题

description


消息描述

url


点击链接跳转地址

picurl


图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80

musicurl


音乐链接

hqmusicurl


高品质音乐链接,wifi环境优先使用该链接播放音乐

请求示例

curl -d "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"Hello World\"}}" "http://api.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN" 返回: {"errcode":0,"errmsg":"ok"}

返回说明

正确的Json返回结果:

{"errcode":0,"errmsg":"ok"}

错误的Json返回示例:

{"errcode":40008,"errmsg":"invalid message type"}

统一返回码说明

媒体文件发送接口

接口说明

使用/media/upload和/message/send的接口,发送媒体文件一步到位

请求说明

http请求方式: POST/FORM
http://api.weixin.qq.com/cgi-bin/media/send?access_token=ACCESS_TOKEN&type=TYPE&touser=OPENID

参数说明

参数

是否必须

说明

access_token


调用接口凭证

type


媒体文件类型

touser


普通用户OPENID

请求示例

curl  -F "media=@test.mp4" "http://api.weixin.qq.com/cgi-bin/media/send?access_token=ACCESS_TOKEN&type=video&touser=OPENID"
返回:
{"errcode":0,"errmsg":"ok"}

返回说明

正确的Json返回结果:

{"errcode":0,"errmsg":"ok"}

错误的Json返回示例:

{"errcode":40004,"errmsg":"invalid media type"}

拉取关注接口

接口说明

拉取公众账户关注用户列表

请求说明

参数说明

参数

是否必须

说明

access_token


调用接口凭证

next_openid


获取关注用户列表偏移量,不填默认从头开始拉取

返回说明

正确的Json返回结果:

{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}

参数

说明

total

关注该公众账号的总用户数

count

拉取的OPENID个数,最大值为10000

data

列表数据,OPENID的列表

next_openid

下一次拉取的关注用户的偏移值

错误的Json返回示例:

{"errcode":40013,"errmsg":"invalid appid"}