Skip to main content

Calendar API & MCP

imatic Calendar-ൽ നിങ്ങൾ ചെയ്യുന്നതെല്ലാം നിങ്ങൾക്ക് ഓട്ടോമേറ്റ് ചെയ്യാം. സ്ലോട്ടുകൾ അന്വേഷിക്കാനും ബുക്കിംഗുകൾ സൃഷ്ടിക്കാനും REST API ഉപയോഗിക്കുക, ഇവന്റുകളോട് തത്സമയം പ്രതികരിക്കാൻ webhooks ഉപയോഗിക്കുക, ഒപ്പം ഒരു AI ഏജന്റിനെ നിങ്ങൾക്കുവേണ്ടി ബുക്ക് ചെയ്യാൻ അനുവദിക്കാൻ MCP server ഉപയോഗിക്കുക. imatic Calendar സ്വന്തം ആപ്പുകളിലേക്കും ടൂളുകളിലേക്കും വയർ ചെയ്യുന്ന ഡെവലപ്പർമാർക്കുള്ളതാണ് ഈ പേജ്.

നിങ്ങളുടെ ഡാഷ്ബോർഡിലെ Developers-ന് കീഴിൽ നിങ്ങൾ ക്രെഡൻഷ്യലുകൾ കൈകാര്യം ചെയ്യുന്നു.

അഡ്മിൻ-കൈകാര്യം ചെയ്യുന്നത്

API keys, Webhooks പേജുകൾ ഒരു account admin (org admin അല്ലെങ്കിൽ super admin) കൈകാര്യം ചെയ്യുന്നു. നിങ്ങളുടെ ഡാഷ്ബോർഡിൽ അവ കാണുന്നില്ലെങ്കിൽ, നിങ്ങൾക്കായി ഒരു കീ ഇഷ്യൂ ചെയ്യാനോ വെബ്‌ഹുക്ക് സജ്ജമാക്കാനോ നിങ്ങളുടെ അക്കൗണ്ടിലെ ഒരു അഡ്മിനോട് ആവശ്യപ്പെടുക.

പ്രാമാണീകരണവും API കീകളും

API-യിലേക്കുള്ള കോളുകൾ ഒരു bearer ടോക്കൺ ആയി അയയ്ക്കുന്ന ഒരു API key ഉപയോഗിച്ച് പ്രാമാണീകരിക്കുന്നു:

Authorization: Bearer <your_api_key>

Developers → API keys-ന് കീഴിൽ കീകൾ കൈകാര്യം ചെയ്യുക, അവിടെ നിങ്ങൾക്ക്:

  • ഒരു കീ Create ചെയ്യുക — കാണിക്കുമ്പോൾ രഹസ്യം പകർത്തുക; അത് വീണ്ടും കാണിക്കില്ല.
  • നിങ്ങളുടെ കീകൾ List ചെയ്യുക, ഓരോന്നും എന്തിനുള്ളതാണെന്ന് കാണുക.
  • ഒരു കീ ലീക്ക് ആയാലോ ഇനി ആവശ്യമില്ലെങ്കിലോ ഉടനെ Revoke ചെയ്യുക.
  • Scopes അസൈൻ ചെയ്യുക — ഓരോ കീയും നിങ്ങൾ നൽകുന്ന അനുമതികൾ മാത്രമേ വഹിക്കൂ, അതിനാൽ വായിക്കാൻ-മാത്രമുള്ള ഒരു കീക്ക് ബുക്കിംഗുകൾ പട്ടികപ്പെടുത്താൻ കഴിയും, പക്ഷേ അവ ഒരിക്കലും സൃഷ്ടിക്കാനോ റദ്ദാക്കാനോ കഴിയില്ല.

ലഭ്യമായ സ്കോപ്പുകൾ ഇവയാണ്:

സ്കോപ്പ്അനുവദിക്കുന്നത്
slots:readഒരു ഇവന്റ് തരത്തിന്റെ ലഭ്യമായ സമയ സ്ലോട്ടുകൾ വായിക്കുക
bookings:readബുക്കിംഗുകൾ പട്ടികപ്പെടുത്തുകയും വായിക്കുകയും ചെയ്യുക
bookings:writeബുക്കിംഗുകൾ സൃഷ്ടിക്കുക, റദ്ദാക്കുക, റീഷെഡ്യൂൾ ചെയ്യുക
mcpMCP സെർവർ ഉപയോഗിക്കുക (slots:read, bookings:read, bookings:write എന്നിവയും ഉൾക്കൊള്ളുന്ന ഒരു കുട)
കീകളെ പാസ്‌വേഡുകൾ പോലെ കരുതുക

ഒരു കീ അതിന്റെ സ്കോപ്പുകൾക്കുള്ളിൽ നിങ്ങളുടെ അക്കൗണ്ടിലേക്ക് പ്രവേശനം നൽകുന്നു. ഇത് ഒരു സീക്രട്ട് മാനേജറിലോ എൻവയോൺമെന്റ് വേരിയബിളിലോ സൂക്ഷിക്കുക, ഒരിക്കലും ക്ലയന്റ്-സൈഡ് കോഡിലോ പൊതു റിപ്പോയിലോ അല്ല. ഇത് വെളിപ്പെട്ടാൽ ഉടനെ റദ്ദാക്കി റൊട്ടേറ്റ് ചെയ്യുക.

REST API v1

REST API /v1 ബേസ് പാത്തിന് കീഴിൽ സേവിക്കുന്നു, JSON നൽകുന്നു. ലഭ്യമായ റിസോഴ്സുകൾ ഇവയാണ്:

  • Event types — നിങ്ങളുടെ ഇവന്റ് തരങ്ങൾ പട്ടികപ്പെടുത്തുകയും വായിക്കുകയും ചെയ്യുക, ഒപ്പം ഒരു ഇവന്റ് തരം ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യുക (POST /v1/event-types/:code/duplicate). (സൃഷ്ടിക്കൽ/എഡിറ്റിങ്/ഇല്ലാതാക്കൽ ഡാഷ്ബോർഡിൽ ചെയ്യുന്നു.)
  • Slots — ഒരു ഇവന്റ് തരത്തിന്റെ ലഭ്യമായ സമയ സ്ലോട്ടുകൾ അന്വേഷിക്കുക (നിങ്ങളുടെ ബുക്കിംഗ് പേജിൽ കാണിക്കുന്ന അതേ ഒഴിവുകൾ, എല്ലാ ബഫറുകളും നോട്ടീസും പരിധികളും പ്രയോഗിച്ച്).
  • Bookings — പൂർണ്ണ CRUD-ഉം reschedule-ഉം: ഒരു ബുക്കിംഗ് സൃഷ്ടിക്കുക, ബുക്കിംഗുകൾ പട്ടികപ്പെടുത്തുകയും വായിക്കുകയും ചെയ്യുക, റദ്ദാക്കുക, ഒന്ന് ഒരു പുതിയ സമയത്തേക്ക് മാറ്റുക. GET /v1/bookings/stats സമാഹൃത ബുക്കിംഗ് എണ്ണങ്ങൾ നൽകുന്നു.
  • Event links — ഒരു ഇവന്റ് തരവുമായി ബന്ധിപ്പിച്ച ഒറ്റ-ഉപയോഗ ബുക്കിംഗ് ലിങ്കുകൾ സൃഷ്ടിക്കുക, പട്ടികപ്പെടുത്തുക, റദ്ദാക്കുക (POST/GET /v1/event-types/:code/links, DELETE /v1/event-links/:linkCode).
  • Webhooks — നിങ്ങളുടെ വെബ്‌ഹുക്ക് സബ്സ്ക്രിപ്ഷനുകൾ പ്രോഗ്രാമാറ്റിക്കായി കൈകാര്യം ചെയ്യുക.
  • Users / meGET /v1/users/me API കീയുടെ ഐഡന്റിറ്റി (പ്രാമാണീകരിച്ച അക്കൗണ്ടും org-ഉം) നൽകുന്നു.
  • Calendars — നിങ്ങളുടെ കണക്റ്റ് ചെയ്ത കലണ്ടറുകളുമായി പ്രവർത്തിക്കുക (Integrations കാണുക).

ഒരു സാധാരണ ഓട്ടോമേഷൻ പ്രവാഹം: ഒരു ഇവന്റ് തരത്തിന് slots അന്വേഷിക്കുക, പിന്നീട് നിങ്ങളുടെ ഉപയോക്താവ് തിരഞ്ഞെടുത്ത സ്ലോട്ടിന് ഒരു booking സൃഷ്ടിക്കുക — ബുക്കിംഗ് പേജ് ഉപയോഗിക്കുന്ന അതേ ആറ്റോമിക്, ഇരട്ട-ബുക്ക്-ഇല്ലാത്ത ഉറപ്പ് API-ക്കും ബാധകമാണ്.

വെബ്‌ഹുക്കുകൾ

ഇവന്റുകൾ സംഭവിക്കുന്ന നിമിഷം വെബ്‌ഹുക്കുകൾ അവ നിങ്ങളുടെ സെർവറിലേക്ക് പുഷ് ചെയ്യുന്നു, അതിനാൽ നിങ്ങൾക്ക് പോൾ ചെയ്യേണ്ടതില്ല. Developers → Webhooks-ന് കീഴിൽ അവ കൈകാര്യം ചെയ്യുക.

  • ബുക്കിംഗ് ഇവന്റുകൾ സ്വീകരിക്കാൻ ഒരു URL Subscribe ചെയ്യുക. ഇവന്റുകൾ കൃത്യമായി ഇവയാണ്: booking.created, booking.cancelled, booking.rescheduled, booking.no_show.
  • ഓരോ ഡെലിവറിയും HMAC ഉപയോഗിച്ച് ഒപ്പിട്ടിരിക്കുന്നു — പേലോഡ് വിശ്വസിക്കുന്നതിന് മുമ്പ് അഭ്യർത്ഥന യഥാർത്ഥത്തിൽ imatic Calendar-ൽ നിന്നാണ് വന്നതെന്ന് സ്ഥിരീകരിക്കാൻ നിങ്ങളുടെ വെബ്‌ഹുക്കിന്റെ രഹസ്യത്തിനെതിരെ സിഗ്നേച്ചർ ഹെഡർ പരിശോധിക്കുക.
  • നിങ്ങൾ നിർമ്മിക്കുമ്പോൾ നിങ്ങളുടെ എൻഡ്‌പോയിന്റിലേക്ക് ഒരു സാമ്പിൾ ഇവന്റ് അയയ്ക്കാൻ ബിൽറ്റ്-ഇൻ Test ആക്ഷൻ ഉപയോഗിക്കുക, അതിനാൽ ലൈവ് ആകുന്നതിന് മുമ്പ് നിങ്ങളുടെ ഹാൻഡ്‌ലർ പ്രവർത്തിക്കുന്നുവെന്ന് സ്ഥിരീകരിക്കാം.

സിഗ്നേച്ചർ X-Imatic-Signature ഹെഡറിൽ, Stripe-ശൈലിയിലുള്ള ഒരു ഫോർമാറ്റിൽ സഞ്ചരിക്കുന്നു:

X-Imatic-Signature: t=<unix-epoch-seconds>,v1=<hmac-sha256>

പരിശോധിക്കാൻ: t-ഉം റോ അഭ്യർത്ഥന ബോഡിയും എടുക്കുക, HMAC-SHA256(secret, "<t>.<body>") (ഒരു ലിറ്ററൽ ഡോട്ടാൽ ചേർത്ത ടൈംസ്റ്റാമ്പും ബോഡിയും) കണക്കാക്കുക, അത് hex-എൻകോഡ് ചെയ്യുക, v1-മായി താരതമ്യം ചെയ്യുക. അവ പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ അഭ്യർത്ഥന നിരസിക്കുക.

എപ്പോഴും സിഗ്നേച്ചർ പരിശോധിക്കുക

HMAC സിഗ്നേച്ചർ പൊരുത്തപ്പെടാത്ത ഏതെങ്കിലും വെബ്‌ഹുക്ക് നിരസിക്കുക. ഒരു വിശ്വസനീയമായ ഓട്ടോമേഷനും തുറന്ന വാതിലും തമ്മിലുള്ള വ്യത്യാസമാണ് ഇത്.

MCP സെർവർ

imatic Calendar ഒരു Model Context Protocol (MCP) server അയയ്ക്കുന്നു, അതിനാൽ AI ഏജന്റുമാർക്കും അസിസ്റ്റന്റുമാർക്കും — REST API-യുടെ അതേ API-കീ പ്രാമാണീകരണവും സ്കോപ്പുകളും ഉപയോഗിച്ച് — നന്നായി നിർവചിക്കപ്പെട്ട ടൂളുകളിലൂടെ നിങ്ങളുടെ ലഭ്യത വായിക്കാനും ബുക്കിംഗുകൾ കൈകാര്യം ചെയ്യാനും കഴിയും.

സെർവർ ഏഴ് ടൂളുകൾ വെളിപ്പെടുത്തുന്നു:

ടൂൾഅത് ചെയ്യുന്നത്
list_event_typesനിങ്ങളുടെ ബുക്ക് ചെയ്യാവുന്ന ഇവന്റ് തരങ്ങൾ പട്ടികപ്പെടുത്തുക
list_slotsഒരു ഇവന്റ് തരത്തിന്റെ ഒഴിവുള്ള സ്ലോട്ടുകൾ നേടുക
create_bookingഒരു സ്ലോട്ട് ബുക്ക് ചെയ്യുക
cancel_bookingഒരു ബുക്കിംഗ് റദ്ദാക്കുക
reschedule_bookingഒരു ബുക്കിംഗ് ഒരു പുതിയ സമയത്തേക്ക് മാറ്റുക
list_bookingsനിലവിലുള്ള ബുക്കിംഗുകൾ പട്ടികപ്പെടുത്തുക
get_bookingഒരു ബുക്കിംഗ് അതിന്റെ കോഡ് വഴി വായിക്കുക

നിങ്ങളുടെ MCP-ശേഷിയുള്ള ക്ലയന്റിനെ സെർവറിലേക്ക് പോയിന്റ് ചെയ്യുക, ഒരു API കീ ഉപയോഗിച്ച് പ്രാമാണീകരിക്കുക, "Priya വ്യാഴാഴ്ച എപ്പോൾ ഒഴിവുണ്ട്?" എന്നതിന് നിങ്ങളുടെ ഏജന്റിന് ഉത്തരം നൽകി സ്ലോട്ട് ബുക്ക് ചെയ്യാം — എല്ലാം ആ കീക്ക് നിങ്ങൾ നൽകിയ സ്കോപ്പുകൾക്കുള്ളിൽ.

അക്കൗണ്ടിന്റെ സ്വന്തം പ്രൊഫൈൽ ഒരു MCP ടൂൾ വഴിയല്ല, GET /v1/users/me ഉപയോഗിച്ച് REST-ന് മുകളിലൂടെ വായിക്കുന്നു.

നിങ്ങളുടെ ഏജന്റിന്റെ കീ ഇറുകെ സ്കോപ്പ് ചെയ്യുക

ഒരു AI ഏജന്റിന് ആവശ്യമുള്ള ടൂളുകൾ മാത്രമുള്ള ഒരു കീ നൽകുക. അതിന് ലഭ്യത വായിക്കാൻ മാത്രമേ ആവശ്യമുള്ളൂ എങ്കിൽ, റദ്ദാക്കാനോ റീഷെഡ്യൂൾ ചെയ്യാനോ ഉള്ള അനുമതികൾ നൽകരുത്.

അടുത്ത ഘട്ടങ്ങൾ