跳转至

服务商 - 微信

版本:v1

认证方式:Bearer Token

目录

接口列表

发送小程序订阅消息

接口说明

发送小程序订阅消息

基本信息

  • 接口名称:发送小程序订阅消息
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/SubscribeSend

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/SubscribeSend"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/SubscribeSend"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/SubscribeSend", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/SubscribeSend',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/SubscribeSend";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/SubscribeSend", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/SubscribeSend")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/SubscribeSend", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/SubscribeSend")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/SubscribeSend")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

校验小程序登录状态

接口说明

校验小程序登录凭证

基本信息

  • 接口名称:校验小程序登录状态
  • 请求方式:GET
  • 请求路径:/Wechat/{appKey}/JSCode2Session

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
js_code string - 登录凭证,开发参考:https://dwz.cn/icNajFh7

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/JSCode2Session"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("get", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/JSCode2Session"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.get(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("get", "{server}/Wechat/{appKey}/JSCode2Session", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/Wechat/{appKey}/JSCode2Session',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/JSCode2Session";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "get");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.getAsync("{server}/Wechat/{appKey}/JSCode2Session");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/JSCode2Session")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/Wechat/{appKey}/JSCode2Session", {
    method: "get",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/JSCode2Session")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("get", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/JSCode2Session")!
var request = URLRequest(url: url)
request.httpMethod = "get"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

解密小程序用户数据

接口说明

解密小程序加密数据

基本信息

  • 接口名称:解密小程序用户数据
  • 请求方式:GET
  • 请求路径:/Wechat/{appKey}/Decrypt

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
encryptedData string - 加密的数据
iv string - 加密算法的初始向量
sessionKey string - 会话密钥

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/Decrypt"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("get", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/Decrypt"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.get(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("get", "{server}/Wechat/{appKey}/Decrypt", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/Wechat/{appKey}/Decrypt',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/Decrypt";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "get");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.getAsync("{server}/Wechat/{appKey}/Decrypt");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/Decrypt")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/Wechat/{appKey}/Decrypt", {
    method: "get",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/Decrypt")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("get", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/Decrypt")!
var request = URLRequest(url: url)
request.httpMethod = "get"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

获取公众号H5 UnionID

接口说明

获取公众号H5用户的UnionID

基本信息

  • 接口名称:获取公众号H5 UnionID
  • 请求方式:GET
  • 请求路径:/Wechat/{appKey}/UserInfo

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
openid string - 用户的OpenID

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/UserInfo"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("get", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/UserInfo"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.get(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("get", "{server}/Wechat/{appKey}/UserInfo", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/Wechat/{appKey}/UserInfo',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/UserInfo";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "get");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.getAsync("{server}/Wechat/{appKey}/UserInfo");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/UserInfo")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/Wechat/{appKey}/UserInfo", {
    method: "get",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/UserInfo")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("get", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/UserInfo")!
var request = URLRequest(url: url)
request.httpMethod = "get"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

发送公众号一次性订阅消息

接口说明

发送公众号H5一次性订阅消息

基本信息

  • 接口名称:发送公众号一次性订阅消息
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/SubscribeMSG

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/SubscribeMSG"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/SubscribeMSG"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/SubscribeMSG", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/SubscribeMSG',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/SubscribeMSG";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/SubscribeMSG", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/SubscribeMSG")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/SubscribeMSG", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/SubscribeMSG")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/SubscribeMSG")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

配置公众号JS SDK

接口说明

获取公众号H5的JS SDK配置

基本信息

  • 接口名称:配置公众号JS SDK
  • 请求方式:GET
  • 请求路径:/Wechat/{appKey}/JSConfig

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
url string - 当前网页的URL

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/JSConfig"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("get", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/JSConfig"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.get(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("get", "{server}/Wechat/{appKey}/JSConfig", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/Wechat/{appKey}/JSConfig',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/JSConfig";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "get");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.getAsync("{server}/Wechat/{appKey}/JSConfig");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/JSConfig")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/Wechat/{appKey}/JSConfig", {
    method: "get",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/JSConfig")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("get", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/JSConfig")!
var request = URLRequest(url: url)
request.httpMethod = "get"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

{
    "code": 200          // 状态码,
    "data": {
    "noncestr": "",
    "timestamp": "",
    "signature": "",
    "appKey": "",
    "jsApiList": []
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data WechatJSConfigResult -
error string 错误信息

生成小程序URL跳转链接

接口说明

生成小程序的网页跳转地址

基本信息

  • 接口名称:生成小程序URL跳转链接
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/UrlLinkGenerate

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/UrlLinkGenerate"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/UrlLinkGenerate"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/UrlLinkGenerate", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/UrlLinkGenerate',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/UrlLinkGenerate";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/UrlLinkGenerate", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/UrlLinkGenerate")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/UrlLinkGenerate", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/UrlLinkGenerate")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/UrlLinkGenerate")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

生成小程序Scheme码

接口说明

生成小程序的scheme码

基本信息

  • 接口名称:生成小程序Scheme码
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/GenerateScheme

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/GenerateScheme"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/GenerateScheme"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/GenerateScheme", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/GenerateScheme',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/GenerateScheme";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/GenerateScheme", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/GenerateScheme")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/GenerateScheme", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/GenerateScheme")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/GenerateScheme")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

获取小程序码(普通)

接口说明

获取小程序码

基本信息

  • 接口名称:获取小程序码(普通)
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/WXACodeGet

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/WXACodeGet"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/WXACodeGet"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/WXACodeGet", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/WXACodeGet',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/WXACodeGet";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/WXACodeGet", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/WXACodeGet")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/WXACodeGet", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/WXACodeGet")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/WXACodeGet")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

获取小程序码(无限制)

接口说明

获取无限制的小程序码

基本信息

  • 接口名称:获取小程序码(无限制)
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/WXACodeGetUnlimited

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/WXACodeGetUnlimited"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/WXACodeGetUnlimited"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/WXACodeGetUnlimited", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/WXACodeGetUnlimited',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/WXACodeGetUnlimited";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/WXACodeGetUnlimited", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/WXACodeGetUnlimited")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/WXACodeGetUnlimited", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/WXACodeGetUnlimited")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/WXACodeGetUnlimited")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

小程序内容安全检测

接口说明

检测消息内容是否含有违法违规信息

基本信息

  • 接口名称:小程序内容安全检测
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/MsgSecCheck

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数

请求体引用 JToken 数据结构

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/MsgSecCheck"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/MsgSecCheck"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/MsgSecCheck", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/MsgSecCheck',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/MsgSecCheck";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/MsgSecCheck", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/MsgSecCheck")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
};

fetch("{server}/Wechat/{appKey}/MsgSecCheck", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/MsgSecCheck")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/MsgSecCheck")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

{}

初始化二维码认证会话

接口说明

创建用于微信小程序扫码登录/注册的认证会话

基本信息

  • 接口名称:初始化二维码认证会话
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/QR-Auth/Initiate

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
scopes string - 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号
remark string - 备注,长度不能超过200个字符
scheme string - 方案,长度不能超过50个字符,只能包含字母和数字

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/QR-Auth/Initiate"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/QR-Auth/Initiate"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "scopes": ""          // 授权范围长度不能超过100个字符只能包含字母数字和逗号,
    "remark": ""          // 备注长度不能超过200个字符,
    "scheme": ""          // 方案长度不能超过50个字符只能包含字母和数字
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/QR-Auth/Initiate", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/QR-Auth/Initiate',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/QR-Auth/Initiate";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/QR-Auth/Initiate", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/QR-Auth/Initiate")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
};

fetch("{server}/Wechat/{appKey}/QR-Auth/Initiate", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/QR-Auth/Initiate")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/QR-Auth/Initiate")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": "0"          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data integer 响应数据
error string 错误信息

验证二维码扫描结果

接口说明

微信小程序扫描二维码并获取应用授权信息

基本信息

  • 接口名称:验证二维码扫描结果
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/QR-Auth/Scan

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
signInKey integer - 登录密钥

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/QR-Auth/Scan"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "signInKey": "0"          // 登录密钥
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/QR-Auth/Scan"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "signInKey": "0"          // 登录密钥
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "signInKey": "0"          // 登录密钥
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/QR-Auth/Scan", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "signInKey": "0"          // 登录密钥
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/QR-Auth/Scan',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/QR-Auth/Scan";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "signInKey": "0"          // 登录密钥
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "signInKey": "0"          // 登录密钥
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/QR-Auth/Scan", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/QR-Auth/Scan")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "signInKey": "0"          // 登录密钥
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "signInKey": "0"          // 登录密钥
};

fetch("{server}/Wechat/{appKey}/QR-Auth/Scan", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/QR-Auth/Scan")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "signInKey": "0"          // 登录密钥
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/QR-Auth/Scan")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "signInKey": "0"          // 登录密钥
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

{
    "code": 200          // 状态码,
    "data": {
    "appID": "0",
    "name": "",
    "logo": "",
    "website": "",
    "description": "",
    "tags": "",
    "scopes": "",
    "remark": "",
    "scheme": ""
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data UserQRCodeScanResult -
error string 错误信息

确认二维码登录请求

接口说明

微信小程序用户确认二维码登录并获取访问令牌

基本信息

  • 接口名称:确认二维码登录请求
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/QR-Auth/Confirm-Login

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
signInKey integer - 登录密钥

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/QR-Auth/Confirm-Login"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "signInKey": "0"          // 登录密钥
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/QR-Auth/Confirm-Login"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "signInKey": "0"          // 登录密钥
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "signInKey": "0"          // 登录密钥
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/QR-Auth/Confirm-Login", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "signInKey": "0"          // 登录密钥
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/QR-Auth/Confirm-Login',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/QR-Auth/Confirm-Login";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "signInKey": "0"          // 登录密钥
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "signInKey": "0"          // 登录密钥
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/QR-Auth/Confirm-Login", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/QR-Auth/Confirm-Login")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "signInKey": "0"          // 登录密钥
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "signInKey": "0"          // 登录密钥
};

fetch("{server}/Wechat/{appKey}/QR-Auth/Confirm-Login", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/QR-Auth/Confirm-Login")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "signInKey": "0"          // 登录密钥
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/QR-Auth/Confirm-Login")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "signInKey": "0"          // 登录密钥
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
6
7
8
9
{
    "code": 200          // 状态码,
    "data": {
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data TokenModel -
error string 错误信息

确认二维码注册请求

接口说明

微信小程序用户通过二维码完成注册并获取访问令牌

基本信息

  • 接口名称:确认二维码注册请求
  • 请求方式:POST
  • 请求路径:/Wechat/{appKey}/QR-Auth/Confirm-Register

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
signInKey integer - 登录密钥
unionID string - UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符
nickName string - 用户昵称
avatar string - 用户头像URL
data string - 自定义数据
email string - 用户邮箱
emailCode string - 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字
phone string - 用户手机号,必须为11位数字
phoneCode string - 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Wechat/{appKey}/QR-Auth/Confirm-Register"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Wechat/{appKey}/QR-Auth/Confirm-Register"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID长度必须在1到50个字符之间只能包含字母数字下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码只有启用的邮箱验证码功能时才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号必须为11位数字,
    "phoneCode": ""          // 手机验证码只有启用的手机验证码功能时才需要传入),长度为4到8位的数字
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Wechat/{appKey}/QR-Auth/Confirm-Register", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
};

const config = {
    method: 'post',
    url: '{server}/Wechat/{appKey}/QR-Auth/Confirm-Register',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Wechat/{appKey}/QR-Auth/Confirm-Register";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Wechat/{appKey}/QR-Auth/Confirm-Register", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Wechat/{appKey}/QR-Auth/Confirm-Register")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在150个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为48位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为48位的数字
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
};

fetch("{server}/Wechat/{appKey}/QR-Auth/Confirm-Register", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Wechat/{appKey}/QR-Auth/Confirm-Register")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Wechat/{appKey}/QR-Auth/Confirm-Register")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
6
7
8
9
{
    "code": 200          // 状态码,
    "data": {
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data TokenModel -
error string 错误信息

数据结构

Int64ApiResponse

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": "0"          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data integer 响应数据
error string 错误信息

JToken

通用 JSON 数据结构,支持任意格式的 JSON 对象或数组。

描述:JSON 对象或数组,支持任意结构的数据

示例 - 对象格式

1
2
3
4
5
6
7
8
9
{
  "name": "张三",
  "age": 25,
  "email": "zhangsan@example.com",
  "tags": [
    "tag1",
    "tag2"
  ]
}

示例 - 数组格式

[
    {
        "name": "张三",
        "age": 25
    },
    {
        "name": "李四",
        "age": 30
    }
]

特性 说明
数据类型 JSON 对象或数组
结构限制 无限制,支持嵌套结构
字段类型 支持所有 JSON 数据类型(string, number, boolean, object, array, null)

QRCodePreSignInRequest

1
2
3
4
5
{
    "scopes": ""          // 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号,
    "remark": ""          // 备注,长度不能超过200个字符,
    "scheme": ""          // 方案,长度不能超过50个字符,只能包含字母和数字
}
字段名 类型 描述 是否必填
scopes string 授权范围,长度不能超过100个字符,只能包含字母、数字和逗号
remark string 备注,长度不能超过200个字符
scheme string 方案,长度不能超过50个字符,只能包含字母和数字

QRCodeScanRequest

1
2
3
{
    "signInKey": "0"          // 登录密钥
}
字段名 类型 描述 是否必填
signInKey integer 登录密钥

QRCodeSignInRequest

1
2
3
{
    "signInKey": "0"          // 登录密钥
}
字段名 类型 描述 是否必填
signInKey integer 登录密钥

QRCodeSignUpRequest

{
    "signInKey": "0"          // 登录密钥,
    "unionID": ""          // UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符,
    "nickName": ""          // 用户昵称,
    "avatar": ""          // 用户头像URL,
    "data": ""          // 自定义数据,
    "email": ""          // 用户邮箱,
    "emailCode": ""          // 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字,
    "phone": ""          // 用户手机号,必须为11位数字,
    "phoneCode": ""          // 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字
}
字段名 类型 描述 是否必填
signInKey integer 登录密钥
unionID string UnionID,长度必须在1到50个字符之间,只能包含字母、数字、下划线和连字符
nickName string 用户昵称
avatar string 用户头像URL
data string 自定义数据
email string 用户邮箱
emailCode string 邮箱验证码(只有启用的邮箱验证码功能时,才需要传入),长度为4到8位的数字
phone string 用户手机号,必须为11位数字
phoneCode string 手机验证码(只有启用的手机验证码功能时,才需要传入),长度为4到8位的数字

StringApiResponse

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

TokenModel

1
2
3
4
5
{
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
}
字段名 类型 描述 是否必填
access_token string -
token_type string -
expires_in integer -

TokenModelApiResponse

1
2
3
4
5
6
7
8
9
{
    "code": 200          // 状态码,
    "data": {
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

UserQRCodeScanResult

{
    "appID": "0",
    "name": "",
    "logo": "",
    "website": "",
    "description": "",
    "tags": "",
    "scopes": "",
    "remark": "",
    "scheme": ""
}
字段名 类型 描述 是否必填
appID integer -
name string -
logo string -
website string -
description string -
tags string -
scopes string -
remark string -
scheme string -

UserQRCodeScanResultApiResponse

{
    "code": 200          // 状态码,
    "data": {
    "appID": "0",
    "name": "",
    "logo": "",
    "website": "",
    "description": "",
    "tags": "",
    "scopes": "",
    "remark": "",
    "scheme": ""
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

WechatJSConfigResult

1
2
3
4
5
6
7
{
    "noncestr": "",
    "timestamp": "",
    "signature": "",
    "appKey": "",
    "jsApiList": []
}
字段名 类型 描述 是否必填
noncestr string -
timestamp string -
signature string -
appKey string -
jsApiList array -

WechatJSConfigResultApiResponse

{
    "code": 200          // 状态码,
    "data": {
    "noncestr": "",
    "timestamp": "",
    "signature": "",
    "appKey": "",
    "jsApiList": []
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

通用错误码

错误码 说明
200 成功