スタンプ更新API (v1)

スタンプ更新APIは、発行済みスタンプの情報を更新するための機能です。

単なる情報変更に加え、スタンプ数の増減、特典利用の処理、PINのリセットなどが可能で、ユーザーの蓄積状態を直接コントロールできます。

このAPIはパーソナルプラン以上で利用できます。

v1(レガシー)ドキュメントです。

新規連携には、最新バージョンである v2 のご利用を推奨します。
v1 は既存連携を維持するためのバージョンであり、新機能や改善は提供されません。

PUT

/api/stamp/v1/update

{
    "stampIdx": 1457,
    "cardIdx": 172,
    "stamps": 7,
    "useYn": "Y",
    "onsitePwd": "12345",
    "resetPinYn": "Y",
    "userEml": "example@gmail.com"
}

Request Parameters

stampIdx integer required
スタンプIDX。
cardIdx integer
カードIDX。
カードIDXはダッシュボードの「スタンプカード」ページで確認できます。
stamps integer
スタンプに貯められた押印の数を指定します。
現在顧客が集めたスタンプの合計数を示します。値を変更するとスタンプの進捗が更新され、増減の両方が可能です。
すべてのスタンプが埋まった場合(stamps = カードに設定された最大スタンプ数)、useYnをYに変更して特典使用状態として処理する必要があります。
resetPinYn string
Default:N
Enum:
YN
スタンプを利用する顧客のPINコードを初期化するかどうかを指定します。
Y: 顧客が設定したPINコードを初期化します。初期化後、顧客はスタンプページにアクセスした際に新しいPINコードを再設定する必要があります。
N: 既存のPINコードを維持します。
useYn string
Default:N
Enum:
YN
スタンプの特典利用状況を指定します。
Y: 顧客がすべてのスタンプを集め、特典(例:無料ドリンク、割引など)を利用した状態です。
特典利用後、このスタンプは無効化され、新しいスタンプを発行する必要があります。
N: まだ特典を利用していない状態です。
NからYへ変更する場合は、保存されているスタンプ数がカードの最大スタンプ数に達している必要があり、 現場用パスワードが設定されたスタンプではonsitePwdを併せて送信する必要があります。
onsitePwd string
店舗で使用する従業員認証用パスワードです。
useYnをNからYに変更して特典利用として処理する場合、 スタンプがonsiteYn = Yに設定されていれば必須です。特典利用API(Redeem)と同じ検証ルールです。
スタンプ数のみを変更する場合や、パスワードが設定されていないスタンプでは省略できます。
domain string
Default:https://vvd.bz
スタンプドメイン。
値が空の場合、デフォルトドメインが使用されます。
プレミアムプラン以上では、「リンクドメイン管理」で登録されたカスタムドメインを指定できます。
strtYmd date
スタンプの有効開始日。例:2025-01-01
endYmd date
スタンプの有効期限日。例:2025-12-31
有効期限は本日から最長5年まで設定できます。
activeYn string
Default:Y
Enum:
YN
スタンプの有効状態を示します。
無効化されている場合、顧客はスタンプを使用できません。
memo string
内部参照用メモ。
userId string
ユーザーID。
スタンプ発行対象者を管理するために使用されます。
通常はウェブサイト会員のログインIDを入力します。
指定されていない場合、システムによって自動的にユーザーIDが生成されます。
userNm string
ユーザー名。内部管理用。
userPhnno string
ユーザーの連絡先。内部管理用。
userEml string
ユーザーのメールアドレス。内部管理用。
userEtc1 string
追加の内部管理用フィールド。
userEtc2 string
追加の内部管理用フィールド。
{
    "code": 0,
    "message": "",
    "result": null
}

Response Parameters

code integer
応答コード: 0 = 成功、それ以外の値 = エラー
message string
応答メッセージです。応答コードが0でない場合、エラーメッセージが返されます。
result null

数値パラメータの検証

数値で受け取るパラメータに数値以外の値や、サーバーが処理できる範囲を超える数値を送ると、リクエストは400(エラーコード653)で直ちに拒否されます。

この場合、スタンプ情報と付与履歴は一切変更されず、イベント記録やWebhook送信も発生しません。失敗レスポンスを受け取った場合は何も保存されていない状態です。

動作変更のお知らせ。 以前のv1はこの検証に失敗してもリクエストをそのまま次の段階まで進めていました。そのため他のパラメータのエラーメッセージで上書きされたり、レスポンスはエラーなのにスタンプ情報の一部が実際に保存されることがありました。現在は最新バージョンと同じく、処理の前に400で中断します。

スタンプ数を直接制御する理由

スタンプシステムを運用する中で、自動付与だけではなくスタンプ数を直接調整する必要が生じます。

誤付与の修正、キャンペーンボーナスの付与、管理者による手動調整が代表的なケースです。

stamps パラメータを設定することで、既存の値を上書きせずに増減できます。
ただし、最大スタンプ数に到達した場合は、useYn を Y に設定して特典利用として処理する必要があります。

特典利用とスタンプ再発行のフロー

useYn を Y に設定すると、そのスタンプは特典利用済みとして扱われます。

利用後に再度スタンプを開始するには、スタンプ生成APIで新しいスタンプを発行します。
この流れはスタンプ型リワードの基本サイクルです。
特典利用 → 新規発行 → 再付与 を自動化することで、継続的な来店や利用を促進できます。

特典利用時の店舗用パスワード

useYnをNからYに変更して特典を利用済みにする場合、 対象のスタンプに店頭でのスタンプ付与用パスワード(onsiteYn = Y)が設定されているときは、 onsitePwdも送信する必要があります。

この要件は特典利用API(Redeem)にも同様に適用されます。 更新APIを通じて、パスワード確認なしで特典が利用済みとして処理されることを防ぐための仕様です。

送信するパスワードは、検証API(Validate)のレスポンスに含まれる onsitePwdの値を確認してください。 店舗用パスワードが設定されていないスタンプでは、onsitePwdを省略できます。

スタンプ数のみを変更する場合や、すでに特典利用済みのスタンプを更新する場合は、 onsitePwdは必要ありません。

PIN初期化が必要な場面

resetPinYn を Y に設定すると、ユーザーのPINがリセットされます。

PINを忘れた場合、端末変更時、またはセキュリティ上の理由で再設定が必要な場合に使用します。

リセット後、スタンプページにアクセスすると新しいPINの設定が求められます。N または未指定の場合は既存のPINが維持されます。

活用例

  • 付与ミスの修正: 誤って付与されたスタンプ数を手動で修正
  • キャンペーン条件変更対応: 実施中の条件変更をデータに反映
  • ユーザー再認証: PINリセットによるオフライン認証の再設定
  • 無効化処理: キャンペーン終了時にスタンプを無効化

利用時の注意点

  • stamps の変更は既存の付与履歴と整合性を保つように注意してください
  • 利用処理(useYn)後は、元に戻せない前提で設計することを推奨します
  • 運用ログおよび変更履歴を適切に管理することが重要です