An API (Application Programming Interface) is a part of a program that a software system makes available to other programs so they can connect to it. According to Wikipedia, an API is a standardized way for external software to access the functions and data of a system.
What a REST API can do in an appointment scheduling system
- Query available appointments: External applications read which days and times can be booked.
- Create appointments: Bookings can be triggered programmatically from other applications.
- Create users: Customer accounts are created via the API as part of the booking.
- Query form fields: The interface itself provides the information a booking requires.
- Receive webhooks: Events such as new bookings or cancellations are sent to external systems in real time via webhooks.
- Integration with CRM systems: Customer data from bookings can be transferred automatically to customer management systems.
Typical characteristics
Modern web APIs work with HTTP requests and JSON as the data format. Instead of a password, a token is sent along, which the service provider generates in the admin area and can renew at any time. A limit on requests per minute is also common, as is operation between servers: the token belongs on your own server and not in a website or app.
The Appointmind API
Appointmind provides a REST API that covers the complete booking flow in six calls:
| Call | Purpose |
|---|---|
GET /schedules | List available appointment calendars |
GET /reasons | Appointment reasons of a calendar with description and duration |
GET /days | Days on which an appointment is available |
GET /slots | Available times on a given day |
GET /forms | Form fields required for the booking |
POST /bookings | Book an appointment |
Authentication uses a bearer token, which is generated in the admin area under Configuration → API; by default, 300 requests per minute are allowed. An overview can be found on the API (interface) module page, and a step-by-step guide under Setting up and using the REST API.