Zhvillues,zhvillues,zhvillues!
Gjithçka në Makeplans gjendet në API: REST dhe JSON, webhook-ë për çdo ndryshim dhe një server MCP për asistentët AI.
Lexoni dokumentacionin e API-së
- 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"
}
}
Gati për punë brenda pak minutash
Merrni çelësin e API-së
Aktivizoni API-në te Konfigurimi → Integrimet → API dhe kopjoni çelësin.
Bëni kërkesën e parë
Dërgojeni çelësin si Bearer token. Çdo objekt ka endpoint-in e vet, të gjitha në JSON.
Dëgjoni për ndryshime
Shtoni një webhook dhe ne bëjmë POST në serverin tuaj kur ndryshojnë rezervimet, ngjarjet ose klientët.
Dy API
API publike
Nuk nevojitet çelës. Shfaqni shërbimet dhe oraret e lira dhe nisni një rezervim drejt e nga faqja juaj e internetit.
https://youraccount.makeplans.com/
API private
Qasje e plotë në llogarinë tuaj me një çelës API, për backend-in dhe integrimet tuaja. Mos e vendosni çelësin në kod publik.
https://youraccount.makeplans.com/api/v1/
Integroni Makeplans me aplikacionin tuaj të brendshëm ose me faqen tuaj të internetit
Të gjitha funksionet e Makeplans janë të disponueshme përmes API-së. Është një API e bazuar në REST me JSON. Mund të dërgojmë edhe webhook-ë.
Lidhni asistentin tuaj AI (MCP)
Makeplans ofron një server MCP, që asistentët AI si Claude dhe ChatGPT të punojnë me rezervimet tuaja. Kërkojini asistentit të kontrollojë disponueshmërinë, të gjejë një klient ose të krijojë dhe anulojë rezervime – me kredencialet tuaja të Makeplans.
MCP (Model Context Protocol) është një standard i hapur. Çdo asistent ose agjent që flet MCP mund të lidhet – pa shtojca të mbyllura, pa varësi nga një ofrues, njësoj si çdo gjë tjetër që ndërtojmë.
Mjetet që merr asistenti juaj
find_available_slotslist_serviceslist_eventslist_bookingsget_bookingfind_customercreate_bookingcancel_booking
Lidhni Claude Code me një rresht
claude mcp add --transport http makeplans \ https://youraccount.makeplans.com/api/mcp \ --header "Authorization: Bearer $MAKEPLANS_API_KEY"
Lexoni më shumë për asistentin tonë AI për rezervime.
Webhook-ë për çdo ndryshim
Kur një rezervim krijohet, konfirmohet, zhvendoset ose anulohet, ne e dërgojmë me POST në serverin tuaj, të nënshkruar me HMAC SHA-256, që ta dini se vjen nga ne. Edhe Zapier dhe Make mund ta marrin.
Personalizimi i faqes standarde të rezervimeve
Faqen standarde të rezervimeve mund ta personalizoni me CSS-në tuaj. Përveç kësaj, mund të personalizoni formularët dhe të gjitha mesazhet dalëse me gjuhën e shablloneve Liquid.
// Klikoni një vlerë për ta ndryshuar
Integrime të gatshme
Makeplans ka tashmë shumë integrime të gatshme. Për më shumë informacion shihni faqen e integrimeve. Përveç integrimeve të drejtpërdrejta, kemi edhe integrim me platformat e integrimit Zapier dhe Make, që ju lejojnë të lidheni me aplikacione të tjera pa programim.
Eksporti i të dhënave
Ofrojmë eksport të rezervimeve, klientëve dhe ngjarjeve në format CSV, lehtësisht të shkarkueshëm.
Burime iCalendar
Për t'i shfaqur takimet nga Makeplans në aplikacione të tjera kalendari, ofrojmë një burim iCalendar që mund të përdoret në Google Calendar, Kalendarin e macOS dhe iOS, Android, Outlook dhe aplikacione të tjera kalendari.
Thellohuni në dokumentacion
Dokumentacionin e API-së e gjeni në developer.makeplans.com.