SMS Gora SMS Gateway: Clojure client by Tekservix.
Send and receive SMS through your own Android phones. A thin wrapper over the official Java client (com.tekservix/smsgora on Maven Central); every call returns plain Clojure data (maps with keyword keys, vectors).
You need a Tekservix account with SMS Gora and an API key (it starts with sgk_): https://tekservix.com/smsgora
SMS Gora SMS Gateway: Clojure client by Tekservix. Send and receive SMS through your own Android phones. A thin wrapper over the official Java client (com.tekservix/smsgora on Maven Central); every call returns plain Clojure data (maps with keyword keys, vectors). You need a Tekservix account with SMS Gora and an API key (it starts with sgk_): https://tekservix.com/smsgora
(cancel-message c id)Cancels a queued or scheduled message.
Cancels a queued or scheduled message.
(client api-key)(client api-key
{:keys [base-url timeout-ms]
:or {base-url SmsGora/DEFAULT_BASE_URL timeout-ms 30000}})Creates a client. Options: :base-url, :timeout-ms (default 30000).
(def sms (client (System/getenv "SMSGORA_API_KEY")))
Creates a client. Options: :base-url, :timeout-ms (default 30000). (def sms (client (System/getenv "SMSGORA_API_KEY")))
(create-webhook c url & [events device-id])Adds a webhook. events default to ["sms.received"].
Adds a webhook. events default to ["sms.received"].
(get-message c id)One message with its delivery status.
One message with its delivery status.
(json->clj e)Turns a Gson JsonElement into Clojure data.
Turns a Gson JsonElement into Clojure data.
(list-messages c & [filters])Messages, filtered: {:direction "out" :status "failed" :limit 20}.
Messages, filtered: {:direction "out" :status "failed" :limit 20}.
(list-received-sms c & [device-id filters])Incoming SMS for one phone (or all with nil device-id).
Incoming SMS for one phone (or all with nil device-id).
(request c method path & [body])Any other API call: (request sms :get "/batches/311").
Any other API call: (request sms :get "/batches/311").
(send-bulk-sms c device-id messages & [message-template])Different texts for different people in one call (up to 5,000 recipients). messages: [{:recipients ["+250788123456"] :message "Hi Aline"} {:recipients ["+250722000000"]}]
Different texts for different people in one call (up to 5,000 recipients).
messages: [{:recipients ["+250788123456"] :message "Hi Aline"} {:recipients ["+250722000000"]}](send-sms c {:keys [to message device-id sim-slot schedule-at]})(send-sms c to message)Sends one text to one or more numbers.
(send-sms sms "+250788123456" "Your order has shipped") (send-sms sms {:to ["+250788123456" "+250722000000"] :message "Hi" :device-id 12 :sim-slot 1 :schedule-at "2026-12-01T08:00:00Z"})
Sends one text to one or more numbers.
(send-sms sms "+250788123456" "Your order has shipped")
(send-sms sms {:to ["+250788123456" "+250722000000"] :message "Hi"
:device-id 12 :sim-slot 1 :schedule-at "2026-12-01T08:00:00Z"})(verify-webhook raw-body signature secret)Checks the X-SmsGora-Signature header (HMAC-SHA256 of the raw body) before you trust a webhook call.
Checks the X-SmsGora-Signature header (HMAC-SHA256 of the raw body) before you trust a webhook call.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |