Back

SimplyBook.me API Essential Guide

Aug 17, 20246 minute read

What type of API does SimplyBook.me provide?

SimplyBook.me uses a JSON-RPC 2.0 protocol for its API. The key points about the API type are:

API Type

SimplyBook.me uses a JSON-RPC 2.0 protocol for its API. JSON-RPC is a remote procedure call (RPC) protocol that uses JSON for data encoding.

Key Points

  1. Authentication: The API requires authentication using an access token. To get the access token, you need to call the getToken method on the login service URL (https://user-api.simplybook.me/login) with your personal API key.

  2. Headers: API requests should include the following headers: 'X-Company-Login' and 'X-Token'.

  3. Data retrieval: The API provides methods to retrieve various data, such as service lists, employee lists, available time slots, etc.

  4. Booking functionality: The API allows for implementing booking functionality, including selecting services, employees, and time slots.

  5. Custom features: SimplyBook.me offers additional plugins or custom features that can be activated to extend the API functionality.

Code Example

Here's a basic example of retrieving a list of services using the API:

$services = $client->getEventList(); // returns an array of service information

Best Practices

  1. Secure implementation: It's recommended to implement the access token retrieval on the server-side for better security.

  2. Token regeneration: The access token has a one-hour lifetime, so you need to regenerate it at least once per hour.

  3. Use provided libraries: SimplyBook.me offers JavaScript and PHP JSON-RPC client libraries to help with API implementation.

  4. Explore all methods: The API provides a wide range of methods. It's advisable to check the full list of available methods to utilize the API's full potential.

Does the SimplyBook.me API have webhooks?

Webhooks Availability

The official SimplyBook.me API documentation does not explicitly mention webhooks as a feature. The documentation focuses primarily on methods for retrieving data, making bookings, and managing services, but does not discuss webhook functionality.

Alternative Integration Options

While webhooks are not mentioned, SimplyBook.me does offer some integration options:

  1. Zapier Connector: SimplyBook.me provides a Zapier Connector custom feature that allows integration with hundreds of other solutions. This feature includes:

    • A variety of triggers that can send information to other solutions
    • The ability to create new Zaps or use existing ones
    • One-way integration, where information is sent from SimplyBook.me to Zapier and then to other apps
  2. API Integration: SimplyBook.me offers an API that allows developers to create custom booking interfaces and applications. This includes methods for:

    • Retrieving service and employee lists
    • Checking availability
    • Making bookings
    • Managing client data

Key Considerations

  • The API documentation does not mention any event subscription or webhook functionality.
  • The Zapier integration appears to be the closest feature to webhook-like functionality, allowing for automated actions based on SimplyBook.me events.
  • For real-time updates or event-driven integrations, developers would likely need to poll the API at regular intervals or use the Zapier integration.

Summary

Based on the available information, the official SimplyBook.me API does not appear to offer native webhook functionality. The closest alternative is the Zapier Connector, which allows for some event-based integrations. For more direct integrations, developers would need to use the provided API methods to periodically check for updates or changes in the system.

Rate Limits and other limitations

Based on the search results provided, here are the key points regarding API rate limits for the SimplyBook.me API:

API Rate Limits

  1. General limit:

    • Number of API requests is limited to 5,000 per day for common servers.
  2. Request frequency:

    • Maximum of 2 parallel requests at the same time.
    • Should not exceed 5 requests per second on common servers.
  3. Enterprise level limits:

    • Common enterprise server has a 25,000 per day API request limit.
    • Dedicated servers allow unlimited requests, limited only by server specifications.

Key Points to Consider

  • These limits are in place to prevent excessive server load and ensure fair usage for all users.
  • SimplyBook.me reserves the right to suspend the system momentarily in case of high volume bookings to equalize server load.
  • High load can be considered as 50 people trying to process a booking with a user account in less than 30 seconds.

Best Practices

  1. Monitor your API usage to ensure you stay within the limits.
  2. Implement proper error handling to deal with potential rate limit errors.
  3. Consider using caching mechanisms to reduce the number of API calls when possible.
  4. If you require higher limits, consider upgrading to an enterprise-level account or dedicated server.

Additional Information

  • Authorization is required for using SimplyBook.me API methods. You need to obtain an access token, which is valid for one hour.
  • The API uses JSON-RPC 2.0 protocol.
  • SimplyBook.me provides JavaScript and PHP JSON-RPC client libraries to help with API integration.

It's important to note that these rate limits are subject to change, and it's always a good practice to refer to the most up-to-date documentation or contact SimplyBook.me support for the latest information on API rate limits.

Latest API Version

Based on the search results provided, I could not find a specific mention of the most recent version of the SimplyBook.me API. The search results contain general information about the SimplyBook.me API, but do not provide version details.

Here are the key points to consider:

  1. SimplyBook.me offers an API that allows developers to integrate booking functionality into their own applications.

  2. The API uses the JSON-RPC 2.0 protocol.

  3. To use the API, authentication is required. This involves obtaining an access token using your personal API key.

  4. The API provides methods for various booking-related functions, such as getting event lists, performer lists, available time slots, and performing bookings.

  5. SimplyBook.me offers additional plugins (also called Custom Features) that can extend the API functionality when activated.

  6. The API documentation is available, but the search results do not mention a specific version number or recent updates.

While I cannot provide the most recent version number, it's important to note that APIs are often updated without necessarily changing the version number. The best practice would be to:

  1. Check the official SimplyBook.me developer documentation for the most up-to-date information.
  2. Contact SimplyBook.me support directly if you need specific version information.
  3. Always use the latest available documentation when implementing the API.

If you're planning to use the SimplyBook.me API, I recommend reviewing the full API documentation and staying informed about any updates or changes announced by SimplyBook.me.

How to get a SimplyBook.me developer account and API Keys?

  1. Sign up for a SimplyBook.me account if you don't already have one.

  2. Log into your SimplyBook.me admin interface.

  3. Go to the 'Custom Features' section and select the API custom feature.

  4. In the API settings, you will find your personal API key. This is needed to authenticate API requests.

  5. To use the API, you'll need to get an access token by calling the getToken method on the login service, passing your API key. The login service URL is: https://user-api.simplybook.me/login

  6. When making API requests, you'll need to include the following headers:

    • X-Company-Login
    • X-Token (the access token you received)
  7. The access token is valid for one hour, so you'll need to regenerate it periodically.

  8. You can now start making API calls to the SimplyBook.me API endpoints to integrate booking functionality.

What can you do with the SimplyBook.me API?

Based on the search results provided, here is a list of data models you can interact with using the SimplyBook.me API, along with what is possible for each:

Services

  • Get a list of services using the getEventList method [1][2]
  • Retrieve details for each service including:
    • ID, name, description, duration
    • Picture/image information
    • Activation status
    • Public booking availability
    • Position/order

Employees/Performers

  • Get a list of employees/performers using the getUnitList method [1][2]
  • Filter performers by service using the unit_map property of services [2]

Bookings

  • Perform bookings [1]
  • Get a list of bookings [4]
  • Manage real-time scheduling and availability [1]

Availability

  • Get closest day with available time slots [1]
  • Get available time slots [1]
  • Disable non-working times in calendar [1]

Clients

  • Manage client information [4]
  • Sync client lists with other systems (e.g. ActiveCampaign) [3]

Additional Fields

  • Check if additional fields plugin is activated [1]
  • Get additional fields [1]

Custom Features

  • Access custom feature functions when enabled [2]

Payments

  • Accept payments [3]
  • Sync sales and refund data with accounting systems like QuickBooks and FreshBooks [3]

Calendar Sync

  • Sync appointments with Outlook and Google Calendar [3]

While not explicitly stated for each model, the API likely supports standard CRUD (Create, Read, Update, Delete) operations for most of these data types. The API allows for building custom booking interfaces and integrating SimplyBook.me functionality into other systems and workflows.