会員プランを保存する
会員プランの記録を作成または更新します。API は membership_plan_id に基づいて、作成するか更新するかを判断します。
パラメーター
-
membership_plans
array必須保存する会員プランオブジェクトの配列。最適なパフォーマンスのため、推奨される上限はリクエストあたり 1000 項目です。API は処理のために項目を自動的にバッチ化します。各項目には、
facility_id(linking_identifierを使用しない場合は必須)またはlinking_identifier(facility_idを使用しない場合は必須)のいずれかを含める必要があります。
戻り値
同期操作を確認する簡単なメッセージを返します。
リクエスト
この例では facility_id を使用しています。Linking Identifier の連携の場合は、代わりに "linking_identifier": "branch_downtown" を送信します。
curl -X POST https://partner-api.performancehub.co/partner/v1/membership-plans \
-u sk_live_YOUR_PARTNER_SECRET_KEY: \
-H "Content-Type: application/json" \
-d '{
"membership_plans": [
{
"membership_plan_id": "plan_99999",
"facility_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Student – term access",
"description": "Library and student hub access for one teaching term",
"billing_cycle": "one_time",
"price": 4500,
"currency": "AUD",
"duration_days": 84,
"is_recurring": false,
"is_trial": false,
"visible_to_public": true,
"active_members": 245,
"access_zones": [
{
"name": "Library",
"description": "Reading rooms, study spaces and bookable rooms",
"access_hours": {
"mon": [["08:00", "21:00"]],
"tue": [["08:00", "21:00"]],
"wed": [["08:00", "21:00"]],
"thu": [["08:00", "21:00"]],
"fri": [["08:00", "17:00"]],
"sat": [["09:00", "13:00"]]
}
},
{
"name": "Student Hub",
"description": "Common room, kitchen and lockers",
"access_hours": {
"mon": [["07:00", "22:00"]],
"tue": [["07:00", "22:00"]],
"wed": [["07:00", "22:00"]],
"thu": [["07:00", "22:00"]],
"fri": [["07:00", "22:00"]]
}
}
],
"class_limit": null
}
]
}'
レスポンス
同期操作に関するメタデータを含む成功メッセージを返します。
{
"message": "Membership plan sync successful.",
"metadata": {
"success": 98,
"skipped": 2,
"skipped_items": [
{
"membership_plan_id": "plan_456",
"facility_id": null,
"reason": "Missing facility_id"
}
]
}
}
メタデータフィールド:
- success - 正常に処理された会員プランの数
- skipped - スキップされたプランの数(ある場合)
- skipped_items - スキップされたプランとその理由の配列(ある場合)
- dry-run - dryrun キーの種類を使用している場合のブール値フラグ(該当する場合)