qrdex

TotalClaw 作者 totalclaw

使用 QRdex.io REST API 创建、管理和跟踪 QR 码。在处理 QR 码生成、使用 QR 码缩短 URL、WiFi QR 码、电子邮件/SMS/WhatsApp QR 码、扫描跟踪或任何 QRdex.io 操作时使用。支持所有 QR 类型(网址、电子邮件、电话、短信、whatsapp、wifi),并具有可定制的颜色和形状。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~sebastienb-qrdex
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~sebastienb-qrdex/file -o sebastienb-qrdex.md
## 概述(中文)

使用 QRdex.io REST API 创建、管理和跟踪 QR 码。在处理 QR 码生成、使用 QR 码缩短 URL、WiFi QR 码、电子邮件/SMS/WhatsApp QR 码、扫描跟踪或任何 QRdex.io 操作时使用。支持所有 QR 类型(网址、电子邮件、电话、短信、whatsapp、wifi),并具有可定制的颜色和形状。

## 原文

# QRdex

Manage QR codes via the QRdex.io REST API.

## Setup

Set the API key as an environment variable:

```bash
export QRDEX_API_KEY="your-api-key"
```

Get a key from: QRdex.io → Team Settings → API section.
API access requires Growth plan or above.

## Quick Reference

Base URL: `https://qrdex.io/api/v1`

All requests require `Authorization: Bearer $QRDEX_API_KEY` and `Content-Type: application/json`.

### Create a QR Code

```bash
curl -X POST https://qrdex.io/api/v1/qr_codes \
  -H "Authorization: Bearer $QRDEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "qr_code": {
      "title": "My Website",
      "qr_type": "url",
      "url": "https://example.com"
    }
  }'
```

### QR Types and Required Fields

| Type | Required Fields |
|------|----------------|
| `url` | `url` |
| `email` | `email_address` (optional: `email_subject`, `message`) |
| `telephone` | `telephone_number` |
| `sms` | `telephone_number` (optional: `message`) |
| `whatsapp` | `telephone_number` (optional: `message`) |
| `wifi` | `wifi_ssid` (optional: `wifi_encryption`, `wifi_password`, `wifi_hidden`) |

### Common Optional Fields

- `foreground_color` — hex color (default: `#000000`)
- `background_color` — hex color (default: `#FFFFFF`)
- `shape` — QR code shape (default: `rounded`)
- `track_scans` — enable scan tracking (default: `true`)

### List QR Codes

```bash
curl https://qrdex.io/api/v1/qr_codes \
  -H "Authorization: Bearer $QRDEX_API_KEY"
```

Query params: `page`, `per_page` (max 100), `qr_type` filter.

### Get / Update / Delete

```bash
# Get
curl https://qrdex.io/api/v1/qr_codes/:id -H "Authorization: Bearer $QRDEX_API_KEY"

# Update (partial — only send changed fields)
curl -X PATCH https://qrdex.io/api/v1/qr_codes/:id \
  -H "Authorization: Bearer $QRDEX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"qr_code": {"title": "New Title"}}'

# Delete (soft-delete)
curl -X DELETE https://qrdex.io/api/v1/qr_codes/:id -H "Authorization: Bearer $QRDEX_API_KEY"
```

### Download QR Image (SVG)

```bash
curl https://qrdex.io/api/v1/qr_codes/:id/image \
  -H "Authorization: Bearer $QRDEX_API_KEY" -o qr.svg
```

Returns `image/svg+xml`. Use the `image_url` field from any QR code response directly in `<img>` tags.

## Using the Python Script

For programmatic use, use `scripts/qrdex_api.py`:

```bash
# Set API key
export QRDEX_API_KEY="your-key"

# List QR codes
python scripts/qrdex_api.py list

# Create QR codes
python scripts/qrdex_api.py create --title "My Site" --type url --url "https://example.com"
python scripts/qrdex_api.py create --title "WiFi" --type wifi --ssid "Guest" --wifi-password "pass123"
python scripts/qrdex_api.py create --title "Email" --type email --email "hi@example.com"
python scripts/qrdex_api.py create --title "Chat" --type whatsapp --phone "+15551234567" --message "Hello!"

# Get details
python scripts/qrdex_api.py get 123

# Update
python scripts/qrdex_api.py update 123 --title "Updated Title" --fg-color "#FF0000"

# Delete
python scripts/qrdex_api.py delete 123

# Download image
python scripts/qrdex_api.py image 123 -o qr.svg
```

## Error Handling

- `401` — Invalid/missing API key
- `403` — No permission
- `404` — QR code not found or belongs to different team
- `422` — Validation error or plan limit reached
- `429` — Rate limited (100 req/min per key). Check `X-RateLimit-Remaining` header.

## API Reference

For full field descriptions and response schemas, see `references/API_REFERENCE.md`.