微信公众平台开发与案例分析
作 者: 张思凯 著
出版时间: 2015
内容简介
移动互联网时代,信息瞬息万变,微信公众号异军突起,众开发者也纷纷加入。本书来源于笔者近三年微信公众平台开发经验的总结,以C#为技术基础,详细讲解微信公众平台的所有基础接口和绝大部分高级接口的调用、代码编写以及使用场景。从公众平台的工作原理到基础的开发与调试环境的搭建,再到基础服务接口的使用,*后在讲解各个高级接口调用的同时,结合实战案例,使读者对各个接口的调用以及使用场景有个充分的认识。
目录
第1章 微信公众平台初探 / 1
1.1 微信公众平台分类 / 1
1.1.1 订阅号 / 2
1.1.2 服务号 / 2
1.1.3 企业号 / 3
1.2 公众平台的两种使用模式 / 5
1.2.1 编辑模式 / 5
1.2.2 开发者模式 / 6
第2章 公众号原理与开发环境部署 / 8
2.1 工作原理 / 8
2.1.1 HTTP请求与响应 / 8
2.1.2 XML与JSON的序列化和反序列化 / 18
2.1.3 官方调试工具使用 / 21
2.2 开发环境的部署 / 23
2.2.1 IIS安装与部署 / 23
2.2.2 花生壳域名映射与ngrok / 25
2.2.3 Visual Studio本地调试 / 29
2.2.4 新手接入指南 / 32
第3章 微信对话服务 / 37
3.1 基础支持 / 37
3.1.1 全局返回码与 / 37
3.1.2 获取access_token / 43
3.1.3 获取微信服务器IP地址 / 48
3.2 素材管理接口 / 50
3.2.1 新增素材 / 50
3.2.2 根据media_id获取临时素材 / 57
3.2.3 根据media_id获取永久素材 / 59
3.2.4 删除永久素材 / 62
3.2.5 修改永久图文素材 / 63
3.2.6 获取永久素材总数 / 64
3.2.7 获取永久素材列表 / 66
3.3 接收消息 / 69
3.3.1 普通消息实体映射 / 70
3.3.2 事件消息体实体映射 / 80
3.3.3 消息数据包解析 / 86
3.3.4 消息处理页面示例 / 93
3.4 被动响应消息与客服接口 / 99
3.4.1 被动响应消息 / 99
3.4.2 客服接口 / 108
3.5 高级群发接口 / 117
3.5.1 上传图文消息素材 / 117
3.5.2 根据分组进行群发 / 119
3.5.3 根据openid列表群发和预览消息 / 127
3.5.4 事件推送群发结果 / 130
3.5.5 查询群发消息发送状态 / 134
3.5.6 删除群发 / 135
3.6 业务通知模板消息 / 136
3.6.1 设置公众号所属行业 / 136
3.6.2 获取模板ID / 140
3.6.3 发送模板消息 / 143
3.6.4 模板消息事件推送 / 146
3.7 推广支持 / 147
3.7.1 生成带参数的二维码 / 147
3.7.2 扫描带参数二维码事件处理 / 153
3.7.3 长短链接转换接口 / 154
3.8 自定义菜单 / 155
3.8.1 自定义菜单创建接口 / 156
3.8.2 自定义菜单查询接口 / 162
3.8.3 自定义菜单删除接口 / 163
3.8.4 自定义菜单事件推送 / 163
3.9 消息体签名及加解密 / 172
3.9.1 加解密模式介绍 / 173
3.9.2 接入指南 / 173
第4章 订阅用户管理 / 179
4.1 分组管理接口 / 179
4.1.1 创建分组 / 179
4.1.2 查询所有分组 / 181
4.1.3 查询用户所在的分组 / 183
4.1.4 修改分组名 / 184
4.1.5 移动用户分组 / 184
4.2 用户信息管理 / 186
4.2.1 获取用户基本信息 / 186
4.2.2 设置用户备注名 / 189
4.2.3 获取用户列表 / 189
4.3 OAuth网页授权获取用户基本信息 / 191
4.3.1 网页授权回调域名设置 / 192
4.3.2 同意授权,获取code / 194
4.3.3 通过code换取网页授权access_token / 197
4.3.4 刷新access_token / 199
4.3.5 拉取用户信息 / 200
第5章 多客服接口 / 201
5.1 多客服简介与开通 / 201
5.2 将消息转发到多客服 / 202
5.3 客服管理 / 205
5.3.1 设置客服账号 / 205
5.3.2 上传客服头像 / 207
5.3.3 删除客服账号 / 208
5.3.4 获取在线客服接待信息 / 208
5.3.5 获取客服基本信息 / 210
5.3.6 获取客服聊天记录接口 / 212
5.4 多客服会话控制 / 216
5.4.1 会话状态通知事件 / 216
5.4.2 会话创建与关闭 / 219
5.4.3 获取客户的会话状态 / 221
5.4.4 获取客服的会话列表 / 222
5.4.5 获取未接入会话列表 / 224
5.5 PC客户端自定义插件接口 / 225
5.5.1 接口调试 / 226
5.5.2 向会话窗口输入框中输入一条消息 / 228
5.5.3 高亮自定义插件Tab页 / 232
5.5.4 事件接口 / 232
第6章 微信JS-SDK / 235
6.1 JS-SDK使用步骤 / 235
6.2 分享接口 / 244
6.3 图像接口 / 247
6.4 音频接口 / 248
6.5 地理位置 / 252
6.6 界面操作 / 255
6.7 微信扫一扫接口 / 258
6.8 其他JS接口 / 259
第7章 支付接口开发 / 260
7.1 微信支付简介 / 260
7.2 接口调用规则 / 261
7.2.1 协议规则 / 261
7.2.2 参数规定 / 261
7.2.3 安全规范 / 262
7.3 统一下单接口 / 265
7.4 支付结果通用通知 / 274
7.5 查询订单接口 / 283
7.6 JS API(网页内)支付接口 / 285
7.6.1 场景交互细节 / 285
7.6.2 获取当前微信版本号 / 287
7.6.3 显示微信安全支付标题 / 287
7.6.4 JavaScript调用支付API / 288
7.6.5 网页内支付示例 / 289
7.7 扫码支付 / 297
7.7.1 扫描支付——模式一 / 297
7.7.2 扫描支付——模式二 / 304
7.8 刷卡支付 / 304
7.9 撤销订单 / 308
7.10 关闭订单 / 310
7.11 退款API / 312
7.12 商户营销与支付工具 / 323
7.12.1 代金券或立减优惠 / 323
7.12.2 现金红包 / 327
7.12.3 企业付款 / 332
第8章 微信小店开发 / 337
8.1 微信小店的开通与搭建 / 337
8.2 商品管理 / 339
8.2.1 获取指定分类的所有子分类 / 342
8.2.2 获取指定子分类的所有SKU / 344
8.2.3 获取指定分类的所有属性 / 346
8.2.4 增加商品 / 348
8.2.5 修改商品 / 357
8.2.6 查询商品 / 358
8.2.7 删除商品 / 360
8.2.8 商品上下架 / 361
8.2.9 修改商品库存 / 362
8.3 邮费模板管理接口 / 363
8.3.1 增加邮费模板 / 363
8.3.2 删除邮费模板 / 367
8.3.3 修改邮费模板 / 368
8.3.4 获取邮费模板 / 369
8.4 商品分组管理 / 371
8.4.1 增加分组 / 371
8.4.2 删除分组 / 372
8.4.3 修改分组名 / 373
8.4.4 修改分组商品 / 373
8.4.5 获取分组信息 / 375
8.5 货架管理 / 378
8.5.1 增加货架 / 378
8.5.2 删除货架 / 388
8.5.3 修改货架 / 389
8.5.4 获取货架信息 / 389
8.5.5 自定义货架页面 / 393
8.6 订单管理 / 394
8.6.1 订单付款通知 / 394
8.6.2 根据订单ID获取订单详情 / 395
8.6.3 根据订单状态/创建时间获取订单列表 / 400
8.6.4 设置订单发货信息 / 401
8.6.5 关闭订单 / 404
第9章 卡券功能接口 / 406
9.1 功能简介 / 406
9.2 开发流程 / 406
9.3 创建卡券前的准备 / 407
9.3.1 上传LOGO接口 / 407
9.3.2 门店管理接口 / 408
9.3.3 获取颜色列表接口 / 416
9.4 CreateCard创建卡券接口 / 418
9.5 卡券投放 / 438
9.5.1 创建二维码 / 438
9.5.2 获取api_ticket / 440
9.5.3 批量添加卡券接口 / 442
9.6 卡券核销 / 444
9.6.1 消耗code / 444
9.6.2 调起卡券列表并获取用户选择列表 / 446
9.7 卡券管理 / 448
9.7.1 删除卡券 / 448
9.7.2 查询code / 449
9.7.3 批量查询卡列表 / 451
9.7.4 查询卡券详情 / 452
9.7.5 事件推送 / 456
9.7.6 更改code / 459
9.7.7 设置卡券失效接口 / 460
9.7.8 更改卡券信息接口 / 460
9.7.9 库存修改接口 / 465
9.8 特殊卡票操作 / 466
9.8.1 会员卡 / 466
9.8.2 电影票 / 470
9.8.3 飞机票在线值机 / 471
9.8.4 更新会议门票 / 472
9.9 设置测试白名单 / 474
第10章 应用案例 / 476
10.1 微信扫一扫登录PC网站 / 476
10.2 网页分享——我是人气王 / 481
10.3 共享用户收货地址 / 489
10.4 微信卡券应用——电影票 / 492