# ಕ್ಯಾಲೆಂಡರ್ API ಮತ್ತು MCP


# ಕ್ಯಾಲೆಂಡರ್ API ಮತ್ತು MCP

imatic Calendar ನಲ್ಲಿ ನೀವು ಮಾಡುವ ಎಲ್ಲವನ್ನೂ ನೀವು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬಹುದು. ಸ್ಲಾಟ್‌ಗಳನ್ನು ಪ್ರಶ್ನಿಸಲು ಮತ್ತು ಬುಕಿಂಗ್‌ಗಳನ್ನು ರಚಿಸಲು **REST API** ಬಳಸಿ, ನೈಜ ಸಮಯದಲ್ಲಿ ಇವೆಂಟ್‌ಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಲು **ವೆಬ್‌ಹುಕ್‌ಗಳು**, ಮತ್ತು AI ಏಜೆಂಟ್ ನಿಮ್ಮ ಪರವಾಗಿ ಬುಕ್ ಮಾಡಲು **MCP ಸರ್ವರ್**. ಈ ಪುಟವು imatic Calendar ಅನ್ನು ತಮ್ಮ ಸ್ವಂತ ಆಪ್‌ಗಳು ಮತ್ತು ಟೂಲ್‌ಗಳಿಗೆ ಜೋಡಿಸುವ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿದೆ.

ನಿಮ್ಮ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ **Developers** ಅಡಿಯಲ್ಲಿ ನೀವು ಕ್ರೆಡೆನ್ಷಿಯಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತೀರಿ.

:::note[ಅಡ್ಮಿನ್-ನಿರ್ವಹಿತ]

**API ಕೀಲಿಗಳು** ಮತ್ತು **ವೆಬ್‌ಹುಕ್‌ಗಳು** ಪುಟಗಳನ್ನು **ಖಾತೆ ಅಡ್ಮಿನ್** ನಿರ್ವಹಿಸುತ್ತಾರೆ. ಅವುಗಳು ನಿಮ್ಮ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ ಕಾಣಿಸದಿದ್ದರೆ, ನಿಮಗಾಗಿ ಒಂದು ಕೀಲಿಯನ್ನು ನೀಡಲು ಅಥವಾ ವೆಬ್‌ಹುಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮ್ಮ ಖಾತೆಯ ಅಡ್ಮಿನ್‌ರನ್ನು ಕೇಳಿ.

:::

## ದೃಢೀಕರಣ ಮತ್ತು API ಕೀಲಿಗಳು

API ಗೆ ಕರೆಗಳನ್ನು ಬೇರರ್ ಟೋಕನ್ ಆಗಿ ಕಳುಹಿಸಲಾದ **API ಕೀಲಿ** ಯೊಂದಿಗೆ ದೃಢೀಕರಿಸಲಾಗುತ್ತದೆ:

```http
Authorization: Bearer <your_api_key>
```

**Developers → API keys** ಅಡಿಯಲ್ಲಿ ಕೀಲಿಗಳನ್ನು ನಿರ್ವಹಿಸಿ, ಅಲ್ಲಿ ನೀವು:

- ಒಂದು ಕೀಲಿಯನ್ನು **Create** ಮಾಡಿ — ರಹಸ್ಯವನ್ನು ತೋರಿಸಿದಾಗ ಅದನ್ನು ನಕಲಿಸಿ; ಅದನ್ನು ಮತ್ತೆ ಪ್ರದರ್ಶಿಸಲಾಗುವುದಿಲ್ಲ.
- ನಿಮ್ಮ ಕೀಲಿಗಳನ್ನು **List** ಮಾಡಿ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಯಾವುದಕ್ಕಾಗಿ ಎಂದು ನೋಡಿ.
- ಒಂದು ಕೀಲಿ ಸೋರಿಕೆಯಾದರೆ ಅಥವಾ ಇನ್ನು ಬೇಕಿಲ್ಲದಿದ್ದರೆ ಅದನ್ನು ತಕ್ಷಣ **Revoke** ಮಾಡಿ.
- **ಸ್ಕೋಪ್‌ಗಳನ್ನು** ನಿಯೋಜಿಸಿ — ಪ್ರತಿ ಕೀಲಿ ನೀವು ನೀಡುವ ಅನುಮತಿಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಓದಲು-ಮಾತ್ರ ಕೀಲಿ ಬುಕಿಂಗ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಬಹುದು ಆದರೆ ಎಂದಿಗೂ ರಚಿಸಲು ಅಥವಾ ರದ್ದುಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.

ಲಭ್ಯವಿರುವ ಸ್ಕೋಪ್‌ಗಳು:

| ಸ್ಕೋಪ್ | ನೀಡುತ್ತದೆ |
| --- | --- |
| `slots:read` | ಇವೆಂಟ್ ಪ್ರಕಾರಕ್ಕೆ ಲಭ್ಯ ಸಮಯ ಸ್ಲಾಟ್‌ಗಳನ್ನು ಓದಿ |
| `bookings:read` | ಬುಕಿಂಗ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ಓದಿ |
| `bookings:write` | ಬುಕಿಂಗ್‌ಗಳನ್ನು ರಚಿಸಿ, ರದ್ದುಮಾಡಿ ಮತ್ತು ಮರುವೇಳಾಪಟ್ಟಿ ಮಾಡಿ |
| `mcp` | MCP ಸರ್ವರ್ ಬಳಸಿ (`slots:read`, `bookings:read`, ಮತ್ತು `bookings:write` ಅನ್ನೂ ಒಳಗೊಂಡ ಒಂದು ಛತ್ರಿ) |

:::warning[ಕೀಲಿಗಳನ್ನು ಪಾಸ್‌ವರ್ಡ್‌ಗಳಂತೆ ಪರಿಗಣಿಸಿ]

ಒಂದು ಕೀಲಿ ತನ್ನ ಸ್ಕೋಪ್‌ಗಳ ಒಳಗೆ ನಿಮ್ಮ ಖಾತೆಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತದೆ. ಅದನ್ನು ಸೀಕ್ರೆಟ್ ಮ್ಯಾನೇಜರ್ ಅಥವಾ ಪರಿಸರ ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ, ಎಂದಿಗೂ ಕ್ಲೈಂಟ್-ಸೈಡ್ ಕೋಡ್ ಅಥವಾ ಸಾರ್ವಜನಿಕ ರೆಪೋದಲ್ಲಿ ಇಡಬೇಡಿ. ಅದು ಬಯಲಾದರೆ ತಕ್ಷಣ ರದ್ದುಗೊಳಿಸಿ ಮತ್ತು ತಿರುಗಿಸಿ.

:::

## REST API v1

REST API ಅನ್ನು `/v1` ಬೇಸ್ ಪಥದ ಅಡಿಯಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು JSON ಅನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಲಭ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳು:

- **ಇವೆಂಟ್ ಪ್ರಕಾರಗಳು** — ನಿಮ್ಮ [ಇವೆಂಟ್ ಪ್ರಕಾರಗಳನ್ನು](./event-types) **ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ಓದಿ**, ಜೊತೆಗೆ ಇವೆಂಟ್ ಪ್ರಕಾರವನ್ನು **ನಕಲು ಮಾಡಿ** (`POST /v1/event-types/:code/duplicate`). (ರಚಿಸುವುದು/ಸಂಪಾದಿಸುವುದು/ಅಳಿಸುವುದು ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ.)
- **ಸ್ಲಾಟ್‌ಗಳು** — ಇವೆಂಟ್ ಪ್ರಕಾರಕ್ಕೆ ಲಭ್ಯ ಸಮಯ ಸ್ಲಾಟ್‌ಗಳನ್ನು ಪ್ರಶ್ನಿಸಿ (ನಿಮ್ಮ [ಬುಕಿಂಗ್ ಪುಟ](./booking-page)ದಲ್ಲಿ ತೋರಿಸಲಾದ ಅದೇ ಮುಕ್ತ ಸಮಯಗಳು, ಎಲ್ಲಾ ಬಫರ್‌ಗಳು, ಸೂಚನೆ ಮತ್ತು ಮಿತಿಗಳನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ).
- **ಬುಕಿಂಗ್‌ಗಳು** — ಪೂರ್ಣ CRUD ಜೊತೆಗೆ **reschedule**: ಬುಕಿಂಗ್ ರಚಿಸಿ, ಬುಕಿಂಗ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ಓದಿ, ರದ್ದುಮಾಡಿ, ಮತ್ತು ಒಂದನ್ನು ಹೊಸ ಸಮಯಕ್ಕೆ ಸ್ಥಳಾಂತರಿಸಿ. `GET /v1/bookings/stats` ಒಟ್ಟು ಬುಕಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ.
- **ಇವೆಂಟ್ ಲಿಂಕ್‌ಗಳು** — ಇವೆಂಟ್ ಪ್ರಕಾರಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಿದ ಏಕ-ಬಳಕೆ ಬುಕಿಂಗ್ ಲಿಂಕ್‌ಗಳನ್ನು ರಚಿಸಿ, ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ರದ್ದುಗೊಳಿಸಿ (`POST`/`GET /v1/event-types/:code/links`, `DELETE /v1/event-links/:linkCode`).
- **ವೆಬ್‌ಹುಕ್‌ಗಳು** — ನಿಮ್ಮ ವೆಬ್‌ಹುಕ್ ಚಂದಾದಾರಿಕೆಗಳನ್ನು ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್ ಆಗಿ ನಿರ್ವಹಿಸಿ.
- **Users / me** — `GET /v1/users/me` API ಕೀಲಿಯ ಗುರುತನ್ನು (ದೃಢೀಕರಿಸಿದ ಖಾತೆ ಮತ್ತು org) ಹಿಂದಿರುಗಿಸುತ್ತದೆ.
- **ಕ್ಯಾಲೆಂಡರ್‌ಗಳು** — ನಿಮ್ಮ ಸಂಪರ್ಕಿತ ಕ್ಯಾಲೆಂಡರ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ ([Integrations](./integrations) ನೋಡಿ).

ಒಂದು ವಿಶಿಷ್ಟ ಸ್ವಯಂಚಾಲನೆ ಹರಿವು: ಇವೆಂಟ್ ಪ್ರಕಾರಕ್ಕೆ **ಸ್ಲಾಟ್‌ಗಳನ್ನು** ಪ್ರಶ್ನಿಸಿ, ನಂತರ ನಿಮ್ಮ ಬಳಕೆದಾರ ಆರಿಸಿದ ಸ್ಲಾಟ್‌ಗೆ **ಬುಕಿಂಗ್** ರಚಿಸಿ — [ಬುಕಿಂಗ್ ಪುಟ](./booking-page#ಡಬಲ್-ಬುಕಿಂಗ್ಗಳು-ಎಂದಿಗೂ-ಇಲ್ಲ) ಬಳಸುವ ಅದೇ ಅಣುಪ್ರಮಾಣದ, ಡಬಲ್-ಬುಕ್ ಇಲ್ಲದ ಖಾತರಿ API ಗೂ ಅನ್ವಯಿಸುತ್ತದೆ.

## ವೆಬ್‌ಹುಕ್‌ಗಳು

ವೆಬ್‌ಹುಕ್‌ಗಳು ಇವೆಂಟ್‌ಗಳು ಸಂಭವಿಸಿದ ಕ್ಷಣದಲ್ಲೇ ನಿಮ್ಮ ಸರ್ವರ್‌ಗೆ ತಳ್ಳುತ್ತವೆ, ಆದ್ದರಿಂದ ನೀವು ಪೋಲ್ ಮಾಡಬೇಕಾಗಿಲ್ಲ. **Developers → Webhooks** ಅಡಿಯಲ್ಲಿ ಅವುಗಳನ್ನು ನಿರ್ವಹಿಸಿ.

- ಬುಕಿಂಗ್ ಇವೆಂಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಒಂದು URL ಅನ್ನು **Subscribe** ಮಾಡಿ. ಇವೆಂಟ್‌ಗಳು ನಿಖರವಾಗಿ: `booking.created`, `booking.cancelled`, `booking.rescheduled`, ಮತ್ತು `booking.no_show`.
- ಪ್ರತಿ ವಿತರಣೆಯನ್ನು **HMAC ನೊಂದಿಗೆ ಸಹಿ** ಮಾಡಲಾಗುತ್ತದೆ — ವಿನಂತಿಯು ನಿಜವಾಗಿ imatic Calendar ನಿಂದ ಬಂದಿದೆ ಎಂದು ದೃಢೀಕರಿಸಲು ನಿಮ್ಮ ವೆಬ್‌ಹುಕ್‌ನ ರಹಸ್ಯದ ವಿರುದ್ಧ ಸಹಿ ಹೆಡರ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ, ಪೇಲೋಡ್ ಅನ್ನು ನಂಬುವ ಮೊದಲು.
- ನೀವು ನಿರ್ಮಿಸುತ್ತಿರುವಾಗ ನಿಮ್ಮ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗೆ ಮಾದರಿ ಇವೆಂಟ್ ಕಳುಹಿಸಲು ಅಂತರ್ನಿರ್ಮಿತ **Test** ಕ್ರಿಯೆಯನ್ನು ಬಳಸಿ, ಆದ್ದರಿಂದ ಲೈವ್ ಆಗುವ ಮೊದಲು ನಿಮ್ಮ ಹ್ಯಾಂಡ್ಲರ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ನೀವು ದೃಢೀಕರಿಸಬಹುದು.

ಸಹಿ `X-Imatic-Signature` ಹೆಡರ್‌ನಲ್ಲಿ, Stripe-ಶೈಲಿಯ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಪ್ರಯಾಣಿಸುತ್ತದೆ:

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

ಪರಿಶೀಲಿಸಲು: `t` ಮತ್ತು ಕಚ್ಚಾ ವಿನಂತಿ ಬಾಡಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ, `HMAC-SHA256(secret, "<t>.<body>")` (ಸಮಯಸ್ಟ್ಯಾಂಪ್ ಮತ್ತು ಬಾಡಿಯನ್ನು ಅಕ್ಷರಶಃ ಡಾಟ್‌ನಿಂದ ಜೋಡಿಸಲಾಗಿದೆ) ಅನ್ನು ಲೆಕ್ಕಿಸಿ, ಅದನ್ನು ಹೆಕ್ಸ್-ಎನ್‌ಕೋಡ್ ಮಾಡಿ, ಮತ್ತು ಅದನ್ನು `v1` ಗೆ ಹೋಲಿಸಿ. ಅವು ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸಿ.

:::tip[ಯಾವಾಗಲೂ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸಿ]

HMAC ಸಹಿ ಹೊಂದಿಕೆಯಾಗದ ಯಾವುದೇ ವೆಬ್‌ಹುಕ್ ಅನ್ನು ತಿರಸ್ಕರಿಸಿ. ಇದು ನಂಬಬಹುದಾದ ಸ್ವಯಂಚಾಲನೆ ಮತ್ತು ತೆರೆದ ಬಾಗಿಲಿನ ನಡುವಿನ ವ್ಯತ್ಯಾಸ.

:::

## MCP ಸರ್ವರ್

imatic Calendar ಒಂದು **Model Context Protocol (MCP) ಸರ್ವರ್** ಅನ್ನು ರವಾನಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ AI ಏಜೆಂಟ್‌ಗಳು ಮತ್ತು ಸಹಾಯಕರು REST API ಯಂತೆಯೇ ಅದೇ API-ಕೀಲಿ ದೃಢೀಕರಣ ಮತ್ತು ಸ್ಕೋಪ್‌ಗಳನ್ನು ಬಳಸಿ ಸುಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಿದ ಟೂಲ್‌ಗಳ ಮೂಲಕ ನಿಮ್ಮ ಲಭ್ಯತೆಯನ್ನು ಓದಬಹುದು ಮತ್ತು ಬುಕಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು.

ಸರ್ವರ್ **ಏಳು ಟೂಲ್‌ಗಳನ್ನು** ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ:

| ಟೂಲ್ | ಅದು ಏನು ಮಾಡುತ್ತದೆ |
| --- | --- |
| `list_event_types` | ನಿಮ್ಮ ಬುಕ್ ಮಾಡಬಹುದಾದ ಇವೆಂಟ್ ಪ್ರಕಾರಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ |
| `list_slots` | ಇವೆಂಟ್ ಪ್ರಕಾರಕ್ಕೆ ಮುಕ್ತ ಸ್ಲಾಟ್‌ಗಳನ್ನು ಪಡೆಯಿರಿ |
| `create_booking` | ಸ್ಲಾಟ್ ಬುಕ್ ಮಾಡಿ |
| `cancel_booking` | ಬುಕಿಂಗ್ ರದ್ದುಮಾಡಿ |
| `reschedule_booking` | ಬುಕಿಂಗ್ ಅನ್ನು ಹೊಸ ಸಮಯಕ್ಕೆ ಸ್ಥಳಾಂತರಿಸಿ |
| `list_bookings` | ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬುಕಿಂಗ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ |
| `get_booking` | ಅದರ ಕೋಡ್‌ನಿಂದ ಒಂದೇ ಬುಕಿಂಗ್ ಅನ್ನು ಓದಿ |

ನಿಮ್ಮ MCP-ಸಮರ್ಥ ಕ್ಲೈಂಟ್ ಅನ್ನು ಸರ್ವರ್‌ಗೆ ಸೂಚಿಸಿ, API ಕೀಲಿಯೊಂದಿಗೆ ದೃಢೀಕರಿಸಿ, ಮತ್ತು ನಿಮ್ಮ ಏಜೆಂಟ್ "ಗುರುವಾರ ಪ್ರಿಯಾ ಯಾವಾಗ ಮುಕ್ತವಾಗಿದ್ದಾರೆ?" ಎಂಬುದಕ್ಕೆ ಉತ್ತರಿಸಬಹುದು ಮತ್ತು ಸ್ಲಾಟ್ ಅನ್ನು ಬುಕ್ ಮಾಡಬಹುದು — ಎಲ್ಲವೂ ನೀವು ಆ ಕೀಲಿಗೆ ನೀಡಿದ ಸ್ಕೋಪ್‌ಗಳ ಒಳಗೆ.

ಖಾತೆಯ ಸ್ವಂತ ಪ್ರೊಫೈಲ್ ಅನ್ನು MCP ಟೂಲ್ ಮೂಲಕ ಅಲ್ಲ, `GET /v1/users/me` ನೊಂದಿಗೆ REST ಮೇಲೆ ಓದಲಾಗುತ್ತದೆ.

:::note[ನಿಮ್ಮ ಏಜೆಂಟ್‌ನ ಕೀಲಿಯನ್ನು ಬಿಗಿಯಾಗಿ ಸ್ಕೋಪ್ ಮಾಡಿ]

AI ಏಜೆಂಟ್‌ಗೆ ಅದಕ್ಕೆ ಬೇಕಾದ ಟೂಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರುವ ಕೀಲಿಯನ್ನು ನೀಡಿ. ಅದು ಲಭ್ಯತೆಯನ್ನು ಮಾತ್ರ ಓದಬೇಕಿದ್ದರೆ, ಅದಕ್ಕೆ ರದ್ದು ಅಥವಾ ಮರುವೇಳಾಪಟ್ಟಿ ಅನುಮತಿಗಳನ್ನು ನೀಡಬೇಡಿ.

:::

## ಮುಂದಿನ ಹಂತಗಳು

- [ಏಕೀಕರಣಗಳು](./integrations) — ಎರಡು-ರೀತಿಯ ಸಿಂಕ್‌ಗಾಗಿ Google ಮತ್ತು Outlook ಅನ್ನು ಸಂಪರ್ಕಿಸಿ.
- [ಇವೆಂಟ್ ಪ್ರಕಾರಗಳು](./event-types) — ನಿಮ್ಮ ಹೆಚ್ಚಿನ API ಕರೆಗಳು ಸುತ್ತುವ ಸಂಪನ್ಮೂಲ.
- [ನಿಮ್ಮ ಸಾರ್ವಜನಿಕ ಬುಕಿಂಗ್ ಪುಟ](./booking-page) — ನಿಮ್ಮ ಸ್ವಯಂಚಾಲನೆಗಳು ಪ್ರತಿಬಿಂಬಿಸುವ ನೋ-ಕೋಡ್ ಪಥ.
