co-wechat-api
Version:
微信公共平台Node库API,ES6版本
216 lines (205 loc) • 6.12 kB
JavaScript
'use strict';
// 微信门店接口, 当前版本基于《POI 门店管理接口文档 V2.2.3》
// 文档请参考(内置于微信卡券接口文档):http://mp.weixin.qq.com/wiki/9/d8a5f3b102915f30516d79b44fe665ed.html
const { postJSON } = require('./util');
/**
* 创建门店 * Tips:
* - 创建门店接口调用成功后不会实时返回poi_id。
* - 成功创建后,门店信息会经过审核,审核通过后方可使用并获取poi_id。
* - 图片photo_url必须为上传图片接口(api.uploadLogo,参见卡券接口)生成的url。
* - 门店类目categories请参考微信公众号后台的门店管理部分。 * Poi:
* ```
* {
* "sid": "5794560",
* "business_name": "肯打鸡",
* "branch_name": "东方路店",
* "province": "上海市",
* "city": "上海市",
* "district": "浦东新区",
* "address": "东方路88号",
* "telephone": "021-5794560",
* "categories": ["美食,快餐小吃"],
* "offset_type": 1,
* "longitude": 125.5794560,
* "latitude": 45.5794560,
* "photo_list": [{
* "photo_url": "https://5794560.qq.com/1"
* }, {
* "photo_url": "https://5794560.qq.com/2"
* }],
* "recommend": "脉娜鸡腿堡套餐,脉乐鸡,全家捅",
* "special": "免费WIFE,外卖服务",
* "introduction": "肯打鸡是全球大型跨国连锁餐厅,2015年创立于米国,在世界上大约拥有3 亿间分店,主要售卖肯打鸡等垃圾食品",
* "open_time": "10:00-18:00",
* "avg_price": 88
* }
* ```
* Examples:
* ```
* api.addPoi(poi);
* ```
* Result:
* ```
* {"errcode":0,"errmsg":"ok"}
* ```
* @name addPoi
* @param {Object} poi 门店对象
*/
exports.addPoi = async function (poi) {
const { accessToken } = await this.ensureAccessToken();
var data = {
business: {
base_info: poi
}
};
var url = this.prefix + 'poi/addpoi?access_token=' + accessToken;
return this.request(url, postJSON(data));
};
/**
* 获取门店信息 * Examples:
* ```
* api.getPoi(POI_ID);
* ```
* Result:
* ```
* {
* "sid": "5794560",
* "business_name": "肯打鸡",
* "branch_name": "东方路店",
* "province": "上海市",
* "city": "上海市",
* "district": "浦东新区",
* "address": "东方路88号",
* "telephone": "021-5794560",
* "categories": ["美食,快餐小吃"],
* "offset_type": 1,
* "longitude": 125.5794560,
* "latitude": 45.5794560,
* "photo_list": [{
* "photo_url": "https://5794560.qq.com/1"
* }, {
* "photo_url": "https://5794560.qq.com/2"
* }],
* "recommend": "脉娜鸡腿堡套餐,脉乐鸡,全家捅",
* "special": "免费WIFE,外卖服务",
* "introduction": "肯打鸡是全球大型跨国连锁餐厅,2015年创立于米国,在世界上大约拥有3 亿间分店,主要售卖肯打鸡等垃圾食品",
* "open_time": "10:00-18:00",
* "avg_price": 88,
* "available_state": 3,
* "update_status": 0
* }
* ```
* @name getPoi
* @param {Number} poiId 门店ID
*/
exports.getPoi = async function (poiId) {
const { accessToken } = await this.ensureAccessToken();
var url = this.prefix + 'poi/getpoi?access_token=' + accessToken;
var data = {
poi_id: poiId
};
return this.request(url, postJSON(data));
};
/**
* 获取门店列表
* Examples:
* ```
* api.getPois(0, 20);
* ```
* Result:
* ```
* {
* "errcode": 0,
* "errmsg": "ok"
* "business_list": [{
* "base_info": {
* "sid": "100",
* "poi_id": "5794560",
* "business_name": "肯打鸡",
* "branch_name": "东方路店",
* "address": "东方路88号",
* "available_state": 3
* }
* }, {
* "base_info": {
* "sid": "101",
* "business_name": "肯打鸡",
* "branch_name": "西方路店",
* "address": "西方路88号",
* "available_state": 4
* }
* }],
* "total_count": "2",
* }
* ```
* @name getPois
* @param {Number} begin 开始位置,0即为从第一条开始查询
* @param {Number} limit 返回数据条数,最大允许50,默认为20
*/
exports.getPois = async function (begin, limit) {
const { accessToken } = await this.ensureAccessToken();
var url = this.prefix + 'poi/getpoilist?access_token=' + accessToken;
var data = {
begin: begin,
limit: limit
};
return this.request(url, postJSON(data));
};
/**
* 删除门店
* Tips:
* - 待审核门店不允许删除 * Examples:
* ```
* api.delPoi(POI_ID);
* ```
* @name delPoi
* @param {Number} poiId 门店ID
*/
exports.delPoi = async function (poiId) {
const { accessToken } = await this.ensureAccessToken();
var url = this.prefix + 'poi/delpoi?access_token=' + accessToken;
var data = {
poi_id: poiId
};
return this.request(url, postJSON(data));
};
/**
* 修改门店服务信息 * Tips: * - 待审核门店不允许修改 * Poi:
* ```
* {
* "poi_id": "5794560",
* "telephone": "021-5794560",
* "photo_list": [{
* "photo_url": "https://5794560.qq.com/1"
* }, {
* "photo_url": "https://5794560.qq.com/2"
* }],
* "recommend": "脉娜鸡腿堡套餐,脉乐鸡,全家捅",
* "special": "免费WIFE,外卖服务",
* "introduction": "肯打鸡是全球大型跨国连锁餐厅,2015年创立于米国,在世界上大约拥有3 亿间分店,主要售卖肯打鸡等垃圾食品",
* "open_time": "10:00-18:00",
* "avg_price": 88
* }
* ```
* 特别注意,以上7个字段,若有填写内容则为覆盖更新,若无内容则视为不修改,维持原有内容。
* photo_list字段为全列表覆盖,若需要增加图片,需将之前图片同样放入list中,在其后增加新增图片。 * Examples:
* ```
* api.updatePoi(poi);
* ```
* Result:
* ```
* {"errcode":0,"errmsg":"ok"}
* ```
* @name updatePoi
* @param {Object} poi 门店对象
*/
exports.updatePoi = async function (poi) {
const { accessToken } = await this.ensureAccessToken();
var data = {
business: {
base_info: poi
}
};
var url = this.prefix + 'poi/updatepoi?access_token=' + accessToken;
return this.request(url, postJSON(data));
};