plingitLogga in

Dokumentation

Skicka ditt första SMS

Plingit är en svensk enkelriktad SMS-gateway. Bas-URL för API:t är https://plingit.se/v1. Endast svenska mobilnummer.

Kom igång

Tre steg från noll till levererat SMS till ditt eget nummer:

# 1. Begär en kod (du får ett SMS)
curl -X POST https://plingit.se/v1/verify/start \
  -H 'content-type: application/json' \
  -d '{"number":"0701234567"}'

# 2. Bekräfta koden → du får en API-nyckel (visas EN gång)
curl -X POST https://plingit.se/v1/verify/confirm \
  -H 'content-type: application/json' \
  -d '{"number":"0701234567","code":"482913"}'
# → { "api_key": "sk_live_…", "free_sends_remaining": 10 }

# 3. Messa dig själv
curl -X POST https://plingit.se/v1/notify \
  -H 'authorization: Bearer sk_live_…' \
  -H 'content-type: application/json' \
  -d '{"text":"Hej från Plingit!"}'

Gratis-nivån: 10 SMS till ditt eget verifierade nummer + oändligt testläge. Sen 50 öre/segment.

Skicka från din kod

POST /v1/messages tar ett nummer eller en lista. Ett svar är alltid synkront med id och status.

# Ett nummer (kräver saldo för andra än ditt eget)
curl -X POST https://plingit.se/v1/messages \
  -H 'authorization: Bearer sk_live_…' \
  -H 'content-type: application/json' \
  -d '{"to":"+46701234567","text":"Din order är skickad","from":"BUTIKEN"}'

# Många nummer (broadcast) → 202 accepted
curl ... -d '{"to":["+4670...","+4673..."],"text":"Påminnelse"}'

Skicka Idempotency-Key så dubbelskickar en retry aldrig. Saknas saldo returneras status: needs_credit + en payment_url — som HTTP 200, inte ett fel.

Få ett larm när X händer

Det vanligaste agent-fallet: pinga din människa när något händer. Använd /v1/notify — destinationen är alltid ditt eget nummer.

# t.ex. i ett cron-jobb eller en CI-pipeline
if ! ./build.sh; then
  curl -s -X POST https://plingit.se/v1/notify \
    -H "authorization: Bearer $PLINGIT_KEY" \
    -H 'content-type: application/json' \
    -d '{"text":"⚠️ Bygget föll på main"}'
fi

Lägg till MCP

Differentiatorn: en modern MCP-server som ger din agent händer. Inga API-anrop att koda — agenten anropar verktyg direkt.

# I din MCP-klient (Claude, Cursor m.fl.)
{
  "mcpServers": {
    "plingit": { "command": "npx", "args": ["plingit-mcp"] }
  }
}

Verktyg: register, verify, notify, send_sms, get_balance, top_up. Efter verify persisteras nyckeln lokalt — agenten hanterar den aldrig per anrop. Dröm-prompten: ”Använd plingit för att messa mig när bygget är klart.”

Autentisering & API-nycklar

Alla skarpa endpoints kräver Authorization: Bearer <nyckel>. Format sk_live_… (skarpt) och sk_test_… (testläge — mockar, kostar inget, oändligt).

Nyckeln visas en gång vid verifiering och lagras hashad hos oss. Tappar du den — verifiera om numret för en färsk nyckel (den gamla återkallas).

Avsändare & teckenkodning

from är en alfanumerisk avsändare, max 11 tecken (a–z, 0–9). Default är PLINGIT. Custom avsändare kräver betalt konto.

Bara GSM-7-tecken → 160 tecken/segment (153 i multipart). Innehåller texten åäö eller emoji → UCS-2, 70 tecken/segment. Gratis-SMS kapas till 1 segment.

Felkoder

Felsvar är strukturerade och självkorrigerbara:

{ "error": { "code": "needs_credit", "message": "…",
            "hint": "…", "payment_url": "https://…" } }
  • invalid_to · invalid_from · text_empty · text_too_long
  • not_verified · invalid_code · code_expired
  • scope_forbidden · rate_limited · unauthorized
  • needs_credit — returneras som HTTP 200 (mjukt stopp), inte ett undantag att fånga

API-referens

Maskinläsbart, för dig och din agent: