Files
ircloud-assistant/skills/irun-yidianhuo/common.md

1.8 KiB
Raw Blame History

通用:认证与调用方式

获取 Access Token

重要:路径和参数都经过实际验证,注意不是 POST

GET https://openapi.77ircloud.com/v2/oauth2/token

参数直接在 URL 查询字符串中:

https://openapi.77ircloud.com/v2/oauth2/token?userName=112983083&password=77ircloud&client_id=6767358&client_secret=1gk9ApiWV8IA2QrVDnU6Dx7uUo7CLuN2&grant_type=client_credentials&scope=basic

返回:

{
  "code": 200,
  "data": {
    "access_token": "194557f72e5594557d796f216ae9f9fe3607084",
    "expires_in": 2592000
  }
}

注意

  • 是 GET 请求,不是 POST
  • 有效期 30 天,可复用,不必每次调用都刷新
  • token 过期后会返回非 200重新获取即可

调用示例Python

import requests, json

# 获取 token
def get_token():
    url = "https://openapi.77ircloud.com/v2/oauth2/token"
    params = {
        "userName": "112983083",
        "password": "77ircloud",
        "client_id": "6767358",
        "client_secret": "1gk9ApiWV8IA2QrVDnU6Dx7uUo7CLuN2",
        "grant_type": "client_credentials",
        "scope": "basic"
    }
    resp = requests.get(url, params=params)
    return resp.json()["data"]["access_token"]

# 调用 API
token = get_token()
headers = {"access_token": token}
resp = requests.post(
    "https://openapi.77ircloud.com/order-aggregation/organizations/orders/search",
    headers=headers,
    json={"pageNum": 1, "pageSize": 10, "withDetails": True}
)
print(resp.json())

通用请求 Header

所有 API 调用都必须包含:

  • access_token: {token} — 必须
  • Content-Type: application/json — POST 请求必须

通用返回格式

{
  "code": 200,
  "data": {},
  "message": "操作成功"
}
  • code=200 表示成功
  • code≠200 表示失败,检查 message 字段