> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Artistic QR Tasks API 的對接和使用

> Art QR Code Generation 集成指南 - XHuoAPI

Artistic QR Tasks API 的主要功能是通過輸入 Artistic QR Generation API 生成的任務ID來查詢該任務的執行情況。

本文檔將詳細介紹 Artistic QR Tasks API 的對接說明，幫助您輕鬆集成並充分利用該 API 的強大功能。通過 Artistic QR Tasks API，您可以輕鬆實現查詢 Artistic QR Generation API 的任務執行情況。

## 申請流程

要使用 Artistic QR Tasks API，需要先到 申請頁面 [Artistic QR Generation API ](https://api.xhuoapi.ai/documents/ee085d2a-a0b9-4f0e-8b4d-8da407345138)申請相應的服務，然後複製 Artistic QR Generation API 的任務ID，如圖所示：

<p>
  <img src="https://cdn.xhuoapi.ai/2wicjy.png" width="500" className="m-auto" />
</p>

最後進入 Artistic QR Tasks API頁面 [Artistic QR Tasks API ](https://api.xhuoapi.ai/documents/21de9d76-6e39-4ac3-b8b9-20e7194c02b4)申請相應的服務，進入頁面之後，點擊「Acquire」按鈕，如圖所示：

![申請頁面](https://cdn.xhuoapi.ai/rci31i.png)

如果您尚未登錄或註冊，會自動跳轉到[登錄頁面](https://api.xhuoapi.ai)邀請您來註冊和登錄，登錄註冊之後會自動返回當前頁面。

首次申請時會有免費額度贈送，可以免費使用該 API。

## 請求示例

Artistic QR Tasks API 可以用於查詢 Artistic QR Generation API 一個 API 的結果。關於怎樣使用 Artistic QR Generation API，請參考文檔 [Artistic QR Generation API ](https://api.xhuoapi.ai/documents/ee085d2a-a0b9-4f0e-8b4d-8da407345138)。

我們以 Artistic QR Generation API 服務返回的任務ID一個為例，演示如何使用該 API。假設我們有一個任務ID：e2c65b20-a970-431e-99c1-76721e799df8，接下來演示如何通過傳入一個任務ID來。

### 任務示例圖

<p>
  <img src="https://cdn.xhuoapi.ai/2wicjy.png" width="500" className="m-auto" />
</p>

### 設置請求頭和請求體

**Request Headers** 包括：

* `accept`：指定接收 JSON 格式的響應結果，這裡填寫為 `application/json`。
* `authorization`：調用 API 的密鑰，申請之後可以直接下拉選擇。

**Request Body** 包括：

* `id`：上傳的任務ID。
* `action`：對任務的操作方式。

設置如下圖所示：

<p>
  <img src="https://cdn.xhuoapi.ai/use825.png" width="500" className="m-auto" />
</p>

### 代碼示例

可以發現，在頁面右側已經自動生成了各種語言的代碼，如圖所示：

<p>
  <img src="https://cdn.xhuoapi.ai/jejwy6.png" width="500" className="m-auto" />
</p>

部分代碼示例如下：

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/qrart/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "e2c65b20-a970-431e-99c1-76721e799df8",
  "action": "retrieve"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/qrart/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "e2c65b20-a970-431e-99c1-76721e799df8",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

### 響應示例

請求成功後，API 將返回此處二維碼任務的詳細信息。例如：

```json theme={null}
{
  "_id": "668cb62c550a4144a582e372",
  "id": "e2c65b20-a970-431e-99c1-76721e799df8",
  "application_id": "3d25be99-4676-44d3-90bb-23086bc25300",
  "created_at": 1720497708.318,
  "credential_id": "6e80fca1-9a49-4507-ae8e-601dbd0ab3ca",
  "request": {
    "aspect_ratio": "1:1",
    "callback_url": null,
    "content": "https://api.xhuoapi.ai",
    "content_image_url": null,
    "ecl": "H",
    "image_origin": null,
    "marker_shape": "square",
    "negative_prompt": null,
    "padding_level": 5,
    "padding_noise": 0,
    "pattern": "custom",
    "pixel_style": "square",
    "position": "center",
    "preset": "",
    "prompt": "mexican tacos",
    "qrw": 2,
    "ratio": null,
    "rotate": 0,
    "seed": null,
    "steps": 20,
    "sub_marker": "square",
    "timeout": null,
    "trace_id": "a99ecc24-eda0-45c6-bb5f-98060c30b490",
    "type": "link"
  },
  "response": {
    "image_url": "https://platform.cdn.xhuoapi.ai/qrart/e2c65b20-a970-431e-99c1-76721e799df8.png",
    "image_width": 768,
    "image_height": 768,
    "seed": 5324369603686616,
    "success": true
  }
}
```

返回結果一共有多個字段，request 字段就是發起任務時的 request body，同時response 字段是任務完成後返回的response body，其結果和 Artistic QR Generation API 的請求和返回一致。字段介紹如下。

* `id`，生成此二維碼任務的 ID，用於唯一標識此次二維碼生成任務。
* `request`，查詢二維碼任務中的請求信息。
* `response`，查詢二維碼任務中的返回信息。

## 批量查詢操作

這是是針對多個二維碼任務ID來進行查詢二維碼任務詳細信息，與上面不同的是需要將action選中為retrieve\_batch。

**Request Body** 包括：

* `ids`：上傳的任務ID數組。
* `action`：對任務的操作方式。

設置如下圖所示：

<p>
  <img src="https://cdn.xhuoapi.ai/mrbxmr.png" width="500" className="m-auto" />
</p>

### 代碼示例

可以發現，在頁面右側已經自動生成了各種語言的代碼，如圖所示：

<p>
  <img src="https://cdn.xhuoapi.ai/u3b61d.png" width="500" className="m-auto" />
</p>

部分代碼示例如下：

### 響應示例

請求成功後，API 將返回此次所有批量二維碼任務的具體詳細信息。例如：

```json theme={null}
{
  "items": [
    {
      "_id": "668cb90e550a4144a5834557",
      "id": "8c89e97b-6a79-4406-b2ce-e00f92540b4e",
      "application_id": "3d25be99-4676-44d3-90bb-23086bc25300",
      "created_at": 1720498446.039,
      "credential_id": "b7f9aaa1-43d8-471f-a826-cd0f4733fec5",
      "request": {
        "aspect_ratio": "1:1",
        "callback_url": null,
        "content": "https://huyinfu.space",
        "content_image_url": null,
        "ecl": "H",
        "image_origin": null,
        "marker_shape": "square",
        "negative_prompt": null,
        "padding_level": 5,
        "padding_noise": 0,
        "pattern": "custom",
        "pixel_style": "square",
        "position": "center",
        "preset": "",
        "prompt": "墨西哥玉米餅",
        "qrw": 2,
        "ratio": null,
        "rotate": 0,
        "seed": null,
        "steps": 20,
        "sub_marker": "square",
        "timeout": null,
        "trace_id": "44d33486-0527-451f-afc2-df11aab7e049",
        "type": "link"
      },
      "response": {
        "image_url": "https://platform.cdn.xhuoapi.ai/qrart/8c89e97b-6a79-4406-b2ce-e00f92540b4e.png",
        "image_width": 768,
        "image_height": 768,
        "seed": 2701847236953402,
        "success": true
      }
    },
    {
      "_id": "668cb62c550a4144a582e372",
      "id": "e2c65b20-a970-431e-99c1-76721e799df8",
      "application_id": "3d25be99-4676-44d3-90bb-23086bc25300",
      "created_at": 1720497708.318,
      "credential_id": "6e80fca1-9a49-4507-ae8e-601dbd0ab3ca",
      "request": {
        "aspect_ratio": "1:1",
        "callback_url": null,
        "content": "https://api.xhuoapi.ai",
        "content_image_url": null,
        "ecl": "H",
        "image_origin": null,
        "marker_shape": "square",
        "negative_prompt": null,
        "padding_level": 5,
        "padding_noise": 0,
        "pattern": "custom",
        "pixel_style": "square",
        "position": "center",
        "preset": "",
        "prompt": "墨西哥玉米餅",
        "qrw": 2,
        "ratio": null,
        "rotate": 0,
        "seed": null,
        "steps": 20,
        "sub_marker": "square",
        "timeout": null,
        "trace_id": "a99ecc24-eda0-45c6-bb5f-98060c30b490",
        "type": "link"
      },
      "response": {
        "image_url": "https://platform.cdn.xhuoapi.ai/qrart/e2c65b20-a970-431e-99c1-76721e799df8.png",
        "image_width": 768,
        "image_height": 768,
        "seed": 5324369603686616,
        "success": true
      }
    }
  ],
  "count": 2
}
```

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/qrart/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["8c89e97b-6a79-4406-b2ce-e00f92540b4e","e2c65b20-a970-431e-99c1-76721e799df8"],
  "action": "retrieve_batch"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/qrart/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["8c89e97b-6a79-4406-b2ce-e00f92540b4e","e2c65b20-a970-431e-99c1-76721e799df8"],
    "action": "retrieve_batch"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## 錯誤處理

在調用 API 時，如果遇到錯誤，API 會返回相應的錯誤代碼和信息。例如：

* `400 token_mismatched`：錯誤請求，可能是由於缺少或無效的參數。
* `400 api_not_implemented`：錯誤請求，可能是由於缺少或無效的參數。
* `401 invalid_token`：未授權，無效或缺少授權令牌。
* `429 too_many_requests`：請求過多，您已超過速率限制。
* `500 api_error`：內部伺服器錯誤，伺服器出現問題。

### 錯誤響應示例

```
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "獲取失敗"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## 結論

通過本文檔，您已經了解了如何使用 Artistic QR Tasks API 進行查詢單個或批量二維碼任務的所有具體詳情信息。希望本文檔能幫助您更好地對接和使用該 API。如有任何問題，請隨時聯繫我們的技術支持團隊。
