# Connecting Make.com

No dedicated module needed — **HTTP → Make a request** is enough.

## Send an SMS from a scenario

1. Add an **HTTP → Make a request** module.
2. URL: `https://smsprovider-web.vercel.app/api/v1/messages` · Method: `POST`.
3. Headers:
   - `Authorization`: `Bearer bm_live_…` (store it as a keychain/connection)
   - `Content-Type`: `application/json`
   - `Idempotency-Key`: `{{uuid}}` (Make's uuid function, or a unique id from the trigger — so a re-run never sends twice)
4. Body type: `Raw` · Content type: `JSON`:

```json
{ "to": "{{1.phone}}", "from": "MyBrand", "body": "Hi {{1.first_name}}, your appointment is confirmed for {{1.date}}", "ref": "{{1.id}}" }
```

5. Enable **Parse response** to get `messages[].id`.

## Receiving events in Make

1. Create a scenario with **Webhooks → Custom webhook** and copy its URL.
2. Register it: `POST https://smsprovider-web.vercel.app/api/v1/webhooks` with the events you want (e.g. `inbound.received`).
3. For full security verify `X-Batler-Signature` (see [Webhooks](https://smsprovider-web.vercel.app/docs/webhooks)) — at minimum deduplicate on `X-Batler-Event-Id`.

## OTP in a form

Two HTTP modules: `POST /otp/send` when the user enters a phone, and `POST /otp/verify` with the code. Continue only if `verified` is `true`.
