阅读(3079) (24)

微信小程序 服务市场·invokeService

2020-07-29 10:03:26 更新

serviceMarket.invokeService

本接口应在服务器端调用,详细说明参见服务端API
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载
wx-server-sdk >= 0.4.0

调用服务平台提供的服务

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/wxa/servicemarket?access_token=ACCESS_TOKEN

请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
service string 服务 ID
api string 接口名
data string 服务提供方接口定义的 JSON 格式的数据
client_msg_id string 随机字符串 ID,调用方请求的唯一标识

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errcode number 错误码
errmsg string 错误信息
template_id string 添加至帐号下的模板id,发送小程序模板消息时所需

请求数据示例

{
  "service" : "wx79ac3de8be320b71",
  "api" : "OcrAllInOne",
  "data" : {
    "img_url": "http://mmbiz.qpic.cn/mmbiz_jpg/7UFjuNbYxibu66xSqsQqKcuoGBZM77HIyibdiczeWibdMeA2XMt5oibWVQMgDibriazJSOibLqZxcO6DVVcZMxDKgeAtbQ/0",
    "data_type": 3,
    "ocr_type": 1
  },
  "client_msg_id" : "id123"
}

返回数据示例

{
 "errcode": 0,
 "errmsg": "ok",
 "data": "{"idcard_res":{"type":0,"name":{"text":"abc","pos"…0312500}}},"image_width":480,"image_height":304}}"
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.serviceMarket.invokeService
需在 config.json 中配置 serviceMarket.invokeService API 的权限,详情

请求参数

属性 类型 默认值 必填 说明
service string 服务 ID
api string 接口名
data string 服务提供方接口定义的 JSON 格式的数据
clientMsgId string 随机字符串 ID,调用方请求的唯一标识

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errCode number 错误码
errMsg string 错误信息
templateId string 添加至帐号下的模板id,发送小程序模板消息时所需

异常

Object

抛出的异常

属性 类型 说明
errCode number 错误码
errMsg string 错误信息

errCode 的合法值

说明 最低版本

请求数据示例

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.serviceMarket.invokeService({
        service: 'wx79ac3de8be320b71',
        api: 'OcrAllInOne',
        data: {
          imgUrl: 'http://mmbiz.qpic.cn/mmbiz_jpg/7UFjuNbYxibu66xSqsQqKcuoGBZM77HIyibdiczeWibdMeA2XMt5oibWVQMgDibriazJSOibLqZxcO6DVVcZMxDKgeAtbQ/0',
          dataType: 3,
          ocrType: 1
        },
        clientMsgId: 'id123'
      })
    return result
  } catch (err) {
    return err
  }
}

返回数据示例

{
  "errCode": 0,
  "errMsg": "openapi.serviceMarket.invokeService:ok",
  "data": "{"idcardRes":{"type":0,"name":{"text":"abc","pos"…0312500}}},"imageWidth":480,"imageHeight":304}}"
}