सदस्य सहेजें

सदस्य रिकॉर्ड बनाता या अपडेट करता है। API, member_id के आधार पर तय करता है कि रिकॉर्ड बनाना है या अपडेट करना है।

पैरामीटर

  • members array आवश्यक

    सहेजे जाने वाले सदस्य ऑब्जेक्ट का ऐरे। अनुशंसित अधिकतम: बेहतर प्रदर्शन के लिए प्रति अनुरोध 1000 आइटम। API प्रोसेसिंग के लिए आइटम को अपने आप बैच करता है। हर आइटम में या तो facility_id (यदि linking_identifier का उपयोग नहीं कर रहे हैं तो आवश्यक) या linking_identifier (यदि facility_id का उपयोग नहीं कर रहे हैं तो आवश्यक) शामिल होना चाहिए।

    जब किसी सदस्य में access_time_windows शामिल हो, तो उसमें access_time_windows_revision भी शामिल होना चाहिए। ऐरे एक पूर्ण स्रोत स्नैपशॉट है, पैच नहीं। मौजूदा स्नैपशॉट को बनाए रखने के लिए इसे छोड़ दें, या स्रोत के स्वामित्व वाली सभी विंडो को रद्द करने के लिए नए रिविज़न के साथ [] भेजें। इस फ़ील्ड को सक्षम करने से पहले Access Time Windows गाइड पढ़ें।

रिटर्न

सिंक ऑपरेशन की पुष्टि करने वाला एक सरल संदेश लौटाता है।

सदस्य प्रोफ़ाइल फ़ील्ड सामान्य अपसर्ट ही रहते हैं, भले ही किसी विंडो स्नैपशॉट को आइडेम्पोटेंट रीप्ले या stale skip के रूप में रिपोर्ट किया गया हो। समान रिविज़न/अलग पेलोड वाले टकराव वाले स्नैपशॉट को बिना बदले पुनः प्रयास नहीं किया जा सकता; स्रोत स्थिति का मिलान करें और नया रिविज़न भेजें।

अनुरोध

curl -X POST https://partner-api.performancehub.co/partner/v1/members \
  -u sk_live_YOUR_PARTNER_SECRET_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "members": [
      {
        "member_id": "member_11111",
        "facility_id": "550e8400-e29b-41d4-a716-446655440000",
        // "linking_identifier": "branch_downtown",  // If using linking identifier
        "first_name": "John",
        "last_name": "Smith",
        "email": "john.smith@example.com",
        "mobile_phone": "+61 412 345 678",
        "date_of_birth": "1985-06-15",
        "gender": "male",
        "type": "member",
        "tags": ["vip", "personal-training"],
        "profile_picture": "/9j/4AAQSkZJRgABAQAAAQ...",
        "membership_status": "current",
        "created": "2024-01-15T10:30:00Z",
        "updated": "2024-01-20T14:45:00Z",
        "access_time_windows_revision": 1842,
        "access_time_windows": [
          {
            "external_id": "access-4b1782",
            "kind": "absolute",
            "from": 1792053000,
            "to": 1792058400,
            "timezone": "Australia/Perth",
            "scope_key": "after_hours_entry",
            "label": "Temporary site access"
          }
        ],
        "address": {
          "address_line_1": "456 Bourke Street",
          "address_line_2": "Apt 12",
          "city": "Melbourne",
          "state": "VIC",
          "postal_code": "3000",
          "country": "AU",
          "country_name": "Australia"
        },
        "membership_plans": [
          {
            "membership_plan_id": "plan_99999",
            "name": "Unlimited Monthly",
            "start_date": "2024-01-01T00:00:00Z",
            "status": "current",
            "is_current": true,
            "end_date": null
          }
        ]
      }
    ]
  }'

रिस्पॉन्स

सिंक ऑपरेशन के मेटाडेटा के साथ एक सफलता संदेश लौटाता है।

{
  "message": "Member sync successful.",
  "metadata": {
    "success": 245,
    "skipped": 5,
    "skipped_items": [
      {
        "member_id": "member_123",
        "facility_id": null,
        "reason": "Facility integration is disabled in facility-partner-config"
      }
    ]
  }
}

मेटाडेटा फ़ील्ड:

  • success - सफलतापूर्वक प्रोसेस किए गए सदस्यों की संख्या
  • skipped - छोड़े गए सदस्यों की संख्या (यदि कोई हो)
  • skipped_items - कारणों सहित छोड़े गए सदस्यों का ऐरे (यदि कोई हो)
  • dry-run - dryrun कुंजी प्रकार का उपयोग करने पर बूलियन फ़्लैग (यदि लागू हो)