SDKs & code samples
Lisoloo does not ship a first-party SDK. The API surface is small enough — four endpoints — that a thin wrapper around your language’s standard HTTP client is the recommended integration pattern.
The code samples below cover the four languages we test against and distribute through the Bloonio dev portal:
Python requests / httpx — sync and async patterns.
JavaScript / Node.js fetch (Node 18+) and axios.
PHP curl + Guzzle examples.
cURL The lowest common denominator. Lives in the quickstart.
What a Lisoloo client wraps
Section titled “What a Lisoloo client wraps”A reasonable client surface for any language:
LisolooClient(api_key, base_url=PRODUCTION) .send(to, message, sender_id=None, callback_url=None, sending_type="immediate", scheduled_dates=None, recurring_schedule=None) -> SendResponse .get_status(message_id) -> StatusResponse .get_balance() -> BalanceResponse .cancel(message_id) -> None .pause(message_id) -> None .resume(message_id) -> NoneThe four canonical endpoints fit on one screen; the management ones
(cancel, pause, resume) are only needed for scheduled / recurring
sends.
Recommended dependencies
Section titled “Recommended dependencies”| Language | Library | Why |
|---|---|---|
| Python | httpx (or requests if you’re on legacy) | Sync + async, same surface |
| JavaScript / Node | Built-in fetch (Node ≥ 18) | No dependency; identical API to browser fetch |
| PHP | cURL extension (or guzzlehttp/guzzle for cleaner code) | Standard libs cover all needs |
| Go | net/http | Standard library is sufficient |
| Java / Kotlin | java.net.http.HttpClient (Java 11+) or okhttp | Native support since Java 11 |
Common conventions
Section titled “Common conventions”Every snippet on this site assumes:
export LISOLOO_API_KEY=sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxexport LISOLOO_API_URL=$BASE_URL/api/v1/lisoloo/sms-apiFor sandbox, swap to sk_test_* and $BASE_URL/....
The full set of examples is mirrored on the per-language pages — Python, JavaScript, PHP.