Izstrādātāji,izstrādātāji,izstrādātāji!
Viss, kas ir Makeplans, ir pieejams API: REST un JSON, webhooks katrai izmaiņai un MCP serveris MI asistentiem.
- REST + JSON
- Webhooks
- MCP
- iCal
- CSV
$ curl https://youraccount.makeplans.com/api/v1/services/42/slots?from=2026-11-19 \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json' [ { "slot": { "timestamp": "2026-11-19T10:30:00+01:00", "timestamp_end": "2026-11-19T11:30:00+01:00", "free": 1, "available_resources": [1, 2], "maximum_capacity": 2 } }, { "slot": { "timestamp": "2026-11-19T13:00:00+01:00", "timestamp_end": "2026-11-19T14:00:00+01:00", "free": 2, "available_resources": [1, 2], "maximum_capacity": 2 } } ] $ curl https://youraccount.makeplans.com/api/v1/bookings -X POST \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json' \ -d 'booking[service_id]=42' \ -d 'booking[resource_id]=1' \ -d 'booking[booked_from]=2026-11-19T10:30:00+01:00' \ -d 'booking[booked_to]=2026-11-19T11:30:00+01:00' { "booking": { "id": 1337, "state": "confirmed", "service_id": 42, "resource_id": 1, "booked_from": "2026-11-19T10:30:00+01:00", "booked_to": "2026-11-19T11:30:00+01:00" } }
curl https://youraccount.makeplans.com/api/v1/services/42/slots?from=2026-11-19 \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json'
[
{
"slot": {
"timestamp": "2026-11-19T10:30:00+01:00",
"timestamp_end": "2026-11-19T11:30:00+01:00",
"free": 1,
"available_resources": [1, 2],
"maximum_capacity": 2
}
},
{
"slot": {
"timestamp": "2026-11-19T13:00:00+01:00",
"timestamp_end": "2026-11-19T14:00:00+01:00",
"free": 2,
"available_resources": [1, 2],
"maximum_capacity": 2
}
}
]
# 10:30 is free. Book it.
curl https://youraccount.makeplans.com/api/v1/bookings -X POST \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json' \ -d 'booking[service_id]=42' \ -d 'booking[resource_id]=1' \ -d 'booking[booked_from]=2026-11-19T10:30:00+01:00' \ -d 'booking[booked_to]=2026-11-19T11:30:00+01:00'
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
const api = "https://youraccount.makeplans.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.MAKEPLANS_API_KEY}`,
"User-Agent": "MyApp",
Accept: "application/json",
};
// Find the first free slot
const slots = await fetch(`${api}/services/42/slots?from=2026-11-19`, { headers })
.then((res) => res.json());
const { slot } = slots.find(({ slot }) => slot.free > 0);
// Book it
const booking = await fetch(`${api}/bookings`, {
method: "POST",
headers,
body: new URLSearchParams({
"booking[service_id]": "42",
"booking[resource_id]": String(slot.available_resources[0]),
"booking[booked_from]": slot.timestamp,
"booking[booked_to]": slot.timestamp_end,
}),
}).then((res) => res.json());
console.log(booking);
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
require "net/http"
require "json"
API = "https://youraccount.makeplans.com/api/v1"
def makeplans(request)
request["Authorization"] = "Bearer #{ENV.fetch('MAKEPLANS_API_KEY')}"
request["User-Agent"] = "MyApp"
request["Accept"] = "application/json"
uri = request.uri
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(request) }
JSON.parse(response.body)
end
# Find the first free slot
slots = makeplans(Net::HTTP::Get.new(URI("#{API}/services/42/slots?from=2026-11-19")))
slot = slots.map { |s| s["slot"] }.find { |s| s["free"] > 0 }
# Book it
post = Net::HTTP::Post.new(URI("#{API}/bookings"))
post.set_form_data(
"booking[service_id]" => 42,
"booking[resource_id]" => slot["available_resources"].first,
"booking[booked_from]" => slot["timestamp"],
"booking[booked_to]" => slot["timestamp_end"]
)
puts makeplans(post)
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
import os
import requests
API = "https://youraccount.makeplans.com/api/v1"
session = requests.Session()
session.headers.update({
"Authorization": f"Bearer {os.environ['MAKEPLANS_API_KEY']}",
"User-Agent": "MyApp",
"Accept": "application/json",
})
# Find the first free slot
slots = session.get(f"{API}/services/42/slots", params={"from": "2026-11-19"}).json()
slot = next(s["slot"] for s in slots if s["slot"]["free"] > 0)
# Book it
booking = session.post(f"{API}/bookings", data={
"booking[service_id]": 42,
"booking[resource_id]": slot["available_resources"][0],
"booking[booked_from]": slot["timestamp"],
"booking[booked_to]": slot["timestamp_end"],
}).json()
print(booking)
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
Sāciet darbu dažās minūtēs
Iegūstiet API atslēgu
Iespējojiet API sadaļā Iestatījumi → Integrācijas → API un nokopējiet savu atslēgu.
Nosūtiet pirmo pieprasījumu
Nosūtiet atslēgu kā Bearer token. Katram objektam ir savs galapunkts, un viss ir JSON formātā.
Sekojiet izmaiņām
Pievienojiet webhook, un mēs nosūtīsim POST pieprasījumu uz jūsu serveri, kad mainīsies rezervācijas, pasākumi vai klienti.
Divi API
Publiskais API
Atslēga nav vajadzīga. Rādiet pakalpojumus un brīvos laikus un sāciet rezervāciju tieši savā tīmekļa vietnē.
https://youraccount.makeplans.com/
Privātais API
Pilna piekļuve jūsu kontam ar API atslēgu – jūsu serverim un integrācijām. Neglabājiet atslēgu publiskā kodā.
https://youraccount.makeplans.com/api/v1/
Integrējiet Makeplans ar savu iekšējo sistēmu vai tīmekļa vietni
Visas Makeplans funkcijas ir pieejamas arī API. Tas ir REST API ar JSON. Varam sūtīt arī webhooks.
Pievienojiet savu MI asistentu (MCP)
Makeplans piedāvā MCP serveri, lai MI asistenti, piemēram, Claude un ChatGPT, varētu strādāt ar jūsu rezervācijām. Palūdziet asistentam pārbaudīt brīvos laikus, sameklēt klientu vai izveidot un atcelt rezervācijas – ar jūsu pašu Makeplans piekļuves datiem.
MCP (Model Context Protocol) ir atvērts standarts. Pieslēgties var jebkurš asistents vai aģents, kas atbalsta MCP, – bez slēgtiem spraudņiem un piesaistes, tāpat kā viss pārējais, ko veidojam.
Rīki, ko saņem jūsu asistents
find_available_slotslist_serviceslist_eventslist_bookingsget_bookingfind_customercreate_bookingcancel_booking
Pievienojiet Claude Code ar vienu rindiņu
claude mcp add --transport http makeplans \ https://youraccount.makeplans.com/api/mcp \ --header "Authorization: Bearer $MAKEPLANS_API_KEY"
Lasiet vairāk par mūsu MI rezervāciju asistentu.
Webhooks katrai izmaiņai
Kad rezervācija tiek izveidota, apstiprināta, pārcelta vai atcelta, mēs to ar POST nosūtām uz jūsu serveri, parakstītu ar HMAC SHA-256, lai jūs zinātu, ka tā nāk no mums. To var saņemt arī Zapier un Make.
Standarta rezervēšanas vietnes pielāgošana
Standarta rezervēšanas vietni var pielāgot ar savu CSS. Turklāt ar Liquid veidņu valodu var pielāgot veidlapas un visus izejošos ziņojumus.
// Noklikšķiniet uz vērtības, lai to mainītu
Iebūvētās integrācijas
Makeplans jau ir iebūvētas daudzas integrācijas. Plašāku informāciju skatiet mūsu integrāciju lapā. Papildus tiešajām integrācijām mums ir integrācija ar integrāciju platformām Zapier un Make, kas ļauj savienoties ar citām lietotnēm bez programmēšanas.
Datu eksports
Rezervācijas, klientus un pasākumus var ērti eksportēt un lejupielādēt CSV formātā.
iCalendar plūsmas
Lai Makeplans pierakstus rādītu citās kalendāra lietotnēs, mēs piedāvājam iCalendar plūsmu, ko var izmantot Google Calendar, macOS un iOS kalendārā, Android, Outlook un citās kalendāra lietotnēs.
Iedziļinieties dokumentācijā
Mūsu API dokumentācija ir pieejama vietnē developer.makeplans.com.