The imin Platform
2.0.0
2.0.0
  • Introduction to the imin Platform
  • Using the Platform
    • imin's Platform Products
    • Authentication
    • Our Platform Data
      • Understanding Responses
      • Namespaces and Extensions
      • Defensive Data Consumption
      • Mocking the Interface
  • platform products
    • Search
      • imin Events API
        • Events API Reference
        • Virtual & Physical Sessions
        • Concepts
          • EventSeries
          • ScheduledSessions and eventSchedules
          • Activities and Collections
            • Activities
            • Activity Concept Collections
          • Accessibility Support
          • Prices
        • Filters
          • Modes
          • Age Ranges
          • Dates and Times
          • Activities and Concept Collections
          • High Frequency Sessions
      • imin Facilities API
        • Query Parameter Search
          • Mandatory Query Parameters
            • mode=discovery-geo
            • mode=upcoming-slots
          • Optional Query Parameters
        • ByID Search
          • FacilityUse By-ID
          • Slot By-ID
        • FacilityUses and IndividualFacilityUses
        • Slots
        • Facilities Slot Booking
      • imin Places API [BETA]
        • Example Request & Response
    • Firehose
      • Introduction to the Firehose
      • Accessing the Firehose
      • Firehose Usage Policy & Restrictions
      • Firehose and Search
      • Bookable Firehose Feeds
      • Bookable Sellers Feed
      • Attribution Catalog Endpoint
    • Live Timetables
      • Pre-Requisites: Open Data Feeds
      • The Onboarding Process
        • 1. Ensuring your Data Offers the Best User Experience
        • 2. Setting up and Embedding your First Timetable
        • 3. Setting up the Rest of your Timetables
        • 4. Activating Booking via Guest Checkout
      • Features Available Upon Request
      • Styling the Live Timetables
      • FAQs
    • Data Dashboard
  • incorporating book and pay
    • imin Branded Checkout
      • Introduction
      • Setup
        • Information We Require From You
        • Actions You Need to Complete
      • Authenticated Checkout
        • Testing [BETA]
        • 👪Group Booking [BETA]
      • Standalone Checkout
      • Firehose and Checkout [BETA]
        • Loading the Checkout via Firehose
    • imin Booking Platform
      • Customer Account Management
        • Create Customer Account
        • Update Customer Account
        • Get Customer Account
        • Delete Customer Account
        • Example Scenario
        • Payment Card Management
        • Linked Accounts
        • Entitlement
          • Evidence Requests
          • Entitlement Pricing in Search
          • Entitlement Pricing in Checkout
        • Access Pass
        • Webhooks
      • Orders
        • Order History
        • Order (by ID)
        • Cancellations & Refunds
      • Upcoming OrderItems
      • Receipt (by ID)
  • imin and booking systems
    • Seller Onboarding
      • API
  • HINTS & TIPS
    • Get the Best Out of Search
      • Displaying Schedule Information
      • URLs and Offering a Call to Action
      • Searching by Activity
      • Your Search Results and HighFrequencySessions
      • Customer Specific Images
  • Info for Data Publishers
    • Your RPDE Feed & the imin Platform [BETA]
      • Providing Places Data [BETA]
      • Providing Schedule Information [BETA]
Powered by GitBook
On this page
  • Headers
  • Request
  • Response
  1. incorporating book and pay
  2. imin Booking Platform
  3. Customer Account Management

Update Customer Account

Update Customer in our Booking Platform when any of their details change.

Headers

X-API-KEY must be provided when making the request to update a Customer.

Request

POST https://book.imin.co/api/v2/customer-accounts/:customerIdentifier/actions

This request must be made Server-side. Otherwise, it would be possible to view the secret API key with a browser.

Body (example):

{
  "@context": "https://openactive.io/",
  "@type": "CustomerUpdateAction",
  "object": { // Includes all properties that are attempted to be updated
    "@type": "Person",
    "email": "geoffcapes@example.com",
    "telephone": "020 811 8055",
    "givenName": "Geoff",
    "familyName": "Capes",
    "birthDate": "1970-01-01",
    "gender": "https://schema.org/Female",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Raynes Park High School, 46A West Barnes Lane",
      "addressLocality": "New Malden",
      "addressRegion": "London",
      "postalCode": "NW5 3DU",
      "addressCountry": "GB"
    },
    "emergencyContact": {
      "@type": "Person",
      "name": "Ralph Capes",
      "telephone": "020 811 8055"
    }
  },
  "seller": [
    "https://id.bookingsystem.example.com/organizers/1"
  ]
}

All fields are optional for this request, but at least one is needed.

seller

List of Seller IDs. If this is included, then the updates (e.g. new givenName) won't only update the imin system, but imin will also send the updates to each of the Sellers specified.

Response

A successful HTTP 200 response contains:

  • The Customer (with newly updated values)

{
  "@context": "https://openactive.io/",
  "@type": "CustomerUpdateAction",
  "actionStatus": "https://schema.org/CompletedActionStatus"
  "object": { // Contains only the properties that were successfully updated
    "@type": "Person",
    "email": "geoffcapes@example.com",
    "telephone": "020 811 8055",
    "givenName": "Geoff",
    "familyName": "Capes",
    "birthDate": "1970-01-01",
    "gender": "https://schema.org/Female",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Raynes Park High School, 46A West Barnes Lane",
      "addressLocality": "New Malden",
      "addressRegion": "London",
      "postalCode": "NW5 3DU",
      "addressCountry": "GB"
    },
    "emergencyContact": {
      "@type": "Person",
      "name": "Ralph Capes",
      "telephone": "020 811 8055"
    }
  },
  "seller": [
    "https://id.bookingsystem.example.com/organizers/1"
  ],
  // 👇 This part only included when `seller` was included and
  // there were errors updating Linked Accounts.
  "error": [
    {
      "@type": "NotSupportedError",
      "instance": "https://schema.org/email",
      "description": "Updating email address outside of the booking system is not supported",
      "seller": { ... }
    },
    {
      "@type": "PropertyInvalidError",
      "instance": "https://schema.org/telephone",
      "description": "The phone number supplied was not valid",
      "seller": { ... }
    },
    {
      "@type": "AccessDeniedError",
      "instance": "https://schema.org/birthDate",
      "description": "Permission was not granted to update the date of birth",
      "seller": { ... }
    }
  ]
]
PreviousCreate Customer AccountNextGet Customer Account

Last updated 3 years ago

This list should only include IDs of Sellers that this Customer has a connected with.

Any errors which may occurred in updating details in connected (error).

Linked Account
Linked Accounts