コンテンツにスキップ

API の概要

タスクルは、事業者が自分のシステムから予約を扱うための API を公開しています。

たとえば次のようなことができます。

  • 自社サイトに独自の予約フォームを置き、そこからタスクルに予約を入れる
  • 基幹システムや POS から予約の状況を取り込む
  • 自社サイトの問い合わせフォームを、タスクルの受信箱に集約する

API はあなたの店舗のデータを直接読み書きします。実際の予約が入り、お客様にメールが届きます。まずは次の順で試すことをおすすめします。

  1. API キーを発行する(APIキーの発行と管理)
  2. 疎通を確認する(下記)
  3. 非公開の商品を1つ用意して、それに対して予約の作成を試す

3つ目が大事です。API は非公開の商品も扱えるので、お客様に見えない商品を作ってそこで試せば、実際の枠を埋めたり売上に混ざったりしません。試し終わったら予約を削除してください。

キーを発行したら、まずこれを叩いてください。キーが有効かどうかだけを返します。

Terminal window
curl https://api.tascrew.com/v1/public/ping \
-H "Authorization: Bearer tsk_live_あなたのキー"
{
"ok": true,
"organizationId": "org_xxxxx",
"teamId": null,
"name": "自社サイト連携",
"scopes": [
"products:read",
"reservations:read",
"reservations:write",
"inbox:write"
]
}

teamId が null なら、そのキーは組織配下のすべての店舗を扱えます。特定の店舗に限定したキーでは、その店舗の ID が入ります。

すべてのエンドポイントで共通です。

項目内容
ベースURLhttps://api.tascrew.com
認証Authorization: Bearer <APIキー>
店舗の指定パスに含めます(/v1/public/stores/{storeId}/...)
日時ISO 8601(2026-08-20T01:00:00.000Z)
日付・時刻のみYYYY-MM-DD / HH:mm(店舗のタイムゾーン)
文字コードUTF-8

店舗 ID は GET /v1/public/stores で取得できます(連携の最初に叩いてください)。管理画面の 設定 > 組織・店舗 > 店舗 でも確認できます。

Terminal window
curl https://api.tascrew.com/v1/public/stores \
-H "Authorization: Bearer tsk_live_あなたのキー"
{
"data": [
{
"id": "team_xxxxx",
"name": "渋谷サーフスクール",
"slug": "shibuyasan",
"paymentMethods": ["on_site", "external"],
"customerEmailEnabled": true
}
]
}

店舗を限定したキーでは、その店舗だけが返ります。

予約サイトの URL に使うスラッグは別のものです。スラッグは変更できるため、API では使いません。

エラーは次の形で返ります。

{
"error": "指定された商品が見つかりません",
"code": "PRODUCT_NOT_FOUND"
}

分岐には code を使ってください。 error は人が読むための文面で、予告なく変わることがあります。

主なステータスコードは次のとおりです。

コード意味
400リクエストの内容が不正(必須項目の欠落、形式の誤りなど)
401APIキーが無い・無効・失効済み・期限切れ
403キーの権限が足りない、契約が切れている、プランが対応していない
404対象が見つからない(他店舗のデータを指定した場合もこれになります)
409冪等性キーの重複
429リクエストが多すぎる
503書き込みが一時的に混み合っている(再試行してください)

リクエストの形式が正しくないとき

Section titled “リクエストの形式が正しくないとき”

必須項目の欠落や形式の誤りは VALIDATION_ERROR で返り、どの項目が問題かが details に入ります。

{
"error": "リクエストの内容が正しくありません",
"code": "VALIDATION_ERROR",
"details": [
{
"field": "customerEmail",
"code": "invalid_type",
"reason": "必須項目です"
}
]
}

field はネストを . でつないだ表記です(例: items.0.startTime)。参加者情報の検証に失敗した場合も同じ形で返りますが、そちらは field の代わりに participantNumber と label が入ります。

支払い方法が受け付けられないとき

Section titled “支払い方法が受け付けられないとき”

PAYMENT_METHOD_NOT_AVAILABLE が返ります。現地払いを無効にしている店舗(カード決済のみで運用している店舗)では on_site を使えません。 外部で決済を済ませた予約は external を指定してください。

{
"error": "この店舗では指定された支払い方法を受け付けていません。外部で決済を済ませた予約は paymentMethod に external を指定してください",
"code": "PAYMENT_METHOD_NOT_AVAILABLE"
}
プラン上限
スタンダード60 リクエスト/分
施設300 リクエスト/分

上限はキーごとに数えます。超えると 429 が返るので、しばらく待ってから再試行してください。

月間の上限は設けていません。極端に多い場合はご相談ください。

現在のバージョンでできることは次のとおりです。

  • 商品と空き状況の取得
  • 料金の計算
  • 予約の作成・取得・キャンセル
  • 顧客の検索
  • 受信箱への問い合わせ作成

次のことはできません。

できないこと理由
タスクル上でのカード決済カード決済はタスクルの予約サイトで行っていただきます(決済の扱い)
予約の変更(日時・人数)現在はキャンセルして作り直してください
受信箱での返信返信はタスクルの受信箱から行ってください
予約が入ったときの通知(Webhook)現在は定期的に取得してください(予約の取得)

すべてのエンドポイントの詳細は、リファレンスで確認できます。ブラウザ上でそのまま試すこともできます。

API リファレンスを開く