Business プランに含まれます

QRコードAPI

自社システムから動的QRコードを作成し、リンク先をいつでも変更して、スキャンデータを自社のレポートに取り込めます。

REST · JSON · OpenAPI 3 · Postman コレクション

この API でできること

注文・商品・テーブルごとに 1 つのコード自社のレコードからコードを作成し、それぞれに自社の ID を持たせられます。
一度に数千件1 リクエストで最大 100 件。1 件ずつ個別に安全に再試行できます。
リンク先を後から変更印刷済みのコードを、PATCH 1 回で新しいページに向けられます。画像は変わりません。
そのまま印刷できる SVG必要なサイズと余白で、ロゴや配色を反映した SVG を取得できます。
スキャンデータをレポートへ日別・国別・デバイス別・アプリ別・設置場所別の集計を、指定したタイムゾーンで取得できます。
Webhook なしのリアルタイム取得新しいスキャンイベントを順番に取得し、カーソルを 1 つ保存するだけです。自社側で何かを公開する必要はありません。

1 回のリクエストでコードを作成

リンク先と自社の参照 ID を送信します。レスポンスにはコードに埋め込む短縮リンクが含まれ、include=svg を付けると完成した画像も返ります。

curl -X POST "https://qrmaker.ai/api/v1/qrcodes?include=svg" \
  -H "Authorization: Bearer $QR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://shop.example.com/product/AB12CD",
    "external_id": "AB12CD",
    "name": "Product AB12CD",
    "folder": "spring-campaign",
    "style": { "dot_style": "fluid", "finder_shape": "smooth" }
  }'
{
  "success": true,
  "data": {
    "id": "hzu23X",
    "external_id": "AB12CD",
    "target_url": "https://shop.example.com/product/AB12CD",
    "short_link": "https://qrmk.cc/hzu23X",
    "status": "active",
    "scan_count": 0,
    "image_version": "a1b2c3d4e5f60718",
    "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1000 1000\" …>"
  }
}

コードに埋め込むのは自社の URL ではなく short_link です。これによって、後からの編集と計測が可能になります。同じ external_id をもう一度送ると同じコードが返るため、再試行で重複が生まれることはありません。

エンドポイント

POST /v1/qrcodes
コードを作成(?include=svg で画像も取得)
POST /v1/qrcodes/batch
1 リクエストで最大 100 件のコードを作成
GET /v1/qrcodes
コードの一覧。updated_since で差分同期が可能
PATCH /v1/qrcodes/{id}
リンク先、名前、フォルダー、ステータス、スタイルを変更
GET /v1/qrcodes/{id}/svg
コードを SVG で取得(ETag によるキャッシュ対応)
GET /v1/qrcodes/{id}/analytics
1 つのコードの、期間を指定したスキャン数
GET /v1/analytics/summary
複数のコードを 1 回で集計(コード別・フォルダー別・日別)
GET /v1/scans
前回処理した以降の新しいスキャンイベント
GET /v1/scans/export
スキャンイベントを CSV ファイルで取得
GET /v1/usage
今月の利用状況とクォータ

そのまま実行できるサンプル

どのファイルも完結したプログラムです。トークンを設定して実行してください。

制限と料金

プラン
Business:月額 $29 または年額 $279
無料トライアル
新規のお客様は月額プランを 14 日間試せます。カードの登録が必要です。
月間クォータ
成功したリクエスト 50,000 回。失敗したリクエストはカウントされません。
レート制限
アカウントごとに毎分 120 リクエスト
実行場所
サーバー間通信のみ。ブラウザからの呼び出しは CORS でブロックされます。
画像形式
SVG のみ。PNG が必要な場合は自社システムで変換してください。

Business の料金を見る

後で困らないための仕様

  • 作成は安全に再試行できます。 external_id はアカウント内で一意です。同じ ID と同じリンク先を送ると、既存のコードが 200 で返ります。
  • POST が印刷済みのコードを動かすことはありません。 同じ ID で別のリンク先を送ると 409 が返ります。リンク先の変更は必ず明示的な PATCH で行い、ウェブサイトと同じ安全チェックを通ります。
  • 安定したエラーコード。 すべてのエラーに機械可読な code が付きます。英語のメッセージは人が読むためのもので、変更されることがあります。
  • 画像はバージョンでキャッシュ。 image_version は画像が変わったときだけ変化し、SVG エンドポイントの ETag も兼ねています。リンク先を変更しても変わりません。
  • 読み取り専用トークン。 レポート用のシステムには GET しかできないトークンを渡せます。漏えいしても、作成・変更・削除には使えません。

よくある質問

API に無料枠はありますか?

ありません。API は Business プランに含まれます。新規のお客様は月額プランを 14 日間無料で試せます。カードの登録が必要で、解約しない場合は月額 $29 で更新されます。

PNG 画像は取得できますか?

API が返すのは SVG です。どのサイズで印刷しても鮮明で、img タグでもそのまま使えます。PNG が必要な場合は自社システムで変換してください。連携ガイドに Node、Python、ブラウザでの方法を載せています。

ウェブページから API を呼び出せますか?

できません。クロスオリジンのブラウザリクエストはブロックされるため、トークンはサーバー側にとどまります。バックエンドから API を呼び出し、結果をページに渡してください。

Webhook はありますか?

ありません。代わりに GET /v1/scans が新しいスキャンイベントを順番に返します。30〜60 秒ごとに取得し、返されたカーソルを保存してください。空のレスポンスはクォータに含まれません。

解約するとコードはどうなりますか?

コードは引き続きリダイレクトされます。プラン終了時に、API は他の Business 機能とともに使えなくなります。

まずは無料で 1 つ作成。

REST · JSON · OpenAPI 3 · Postman コレクション

API ドキュメントを読む →