API
hänvisning.
312 endpoints, komplett OpenAPI-specifikation, idempotens på varje mutation och ett offentligt upptidskontrakt. Inga svarta lådor.
"color:#22D3EE">curl "color:#22D3EE">-X "color:#34D399;font-weight:600">POSTA https://api.rozper.com/v2/calls \
"färg:#22D3EE">-H "Auktorisation: Bärare $ROZPER_API_KEY" \
"färg:#22D3EE">-H "Content-Type: application/json" \
"färg:#22D3EE">-d '{
"till": "+14155551234",
"från": "+12025550100",
"url": "https://your.app/voice/answer"
}'{
"id": "call_01HXY7ZQ9V3J3X8K5N",
"status": "queued",
"to": "+14155551234",
"from": "+12025550100",
"created_at": "2026-05-12T14:23:01Z"
}Bärarpoletter.
Omfattning. Roterbar.
Varje begäran har en projektnyckel som en bärartoken. Nycklar är omfångade (läs, skriv, fakturering), roterbara utan stilleståndstid och kan IP-fästas från instrumentpanelen.
- Nycklar per miljö (test / live)
- OAuth 2.0-klientuppgifter stöds
- Ömsesidig TLS tillgängligt på Enterprise
# .env → never commit me
ROZPER_API_KEY=sk_live_8FzqQ...XW7p
# request
curl https://api.rozper.com/v2/account \
-H "Authorization: Bearer $ROZPER_API_KEY"
# 200 OK
{
"id": "acct_01HXY7ZQ9V3J3X8K5N",
"scopes": ["calls.write", "messages.write", "numbers.read"],
"rate_limit": { "limit": 1000, "remaining": 998, "reset": 1715520000 }
}Utforska varje slutpunkt.
Skapa ett samtal
Skapa ett utgående PSTN-samtal. Återkommer omedelbart med ett köat samtalsobjekt — lyssna på webhooks efter tillståndsändringar.
tosträngnödvändigE.164 destinationsnummer.
fromsträngnödvändigVerifierat eller hyrt Rozper-nummer.
urlsträngHTTPS-slutpunkt som returnerar röstinstruktioner när samtalet ansluter.
recordboolesktSpela in båda benen till din förvaring. Default false.
timeoutheltalRing timeout på sekunder. Standard 60.
const call = await rozper.calls.create({
to: "+14155551234",
from: "+12025550100",
url: "https://your.app/voice/answer",
}){
"id": "call_01HXY7ZQ9V3J3X8K5N",
"object": "call",
"created_at": "2026-05-12T14:23:01Z"
}Förutsägbara, maskinläsbara fel.
Varje 4xx och 5xx returnerar samma form: en stabil code, ett meddelande som kan läsas av människor och ett förfrågnings-ID som du kan klistra in för att stödja.
{
"error": {
"code": "invalid_param",
"message": "to: must be E.164",
"request_id": "req_01HXY7…",
"param_errors": [
{ "param": "to", "reason": "format" }
]
}
}bad_requestFelaktig text i begäran eller saknat obligatoriskt fält.
unauthorizedSaknade, utgångna eller återkallade API-nyckel.
forbiddenKey saknar det utrymme som krävs för denna resurs.
not_foundResurs-id:t finns inte för det här kontot.
conflictIdempotensnyckel kolliderar med en annan nyttolast.
invalid_paramEn parameter misslyckades valideringen. Inspektera param_errors[].
rate_limitedBackoff med hjälp av Retry-After-huvudet.
server_errorVi blev underrättade. Försök idempotenta samtal igen.
Signerad, återförsökt, uppspelningsskyddad.
Varje event levereras med en HMAC-signatur, ett unikt event-id och en UTC-tidsstämpel. Vi försöker igen med exponentiell backoff i upp till 24 timmar.
import { verify } from "@rozper/sdk/webhooks"
app.post("/webhooks/rozper", (req, res) => {
const ok = verify({
payload: req.rawBody,
signature: req.header("Rozper-Signature"),
secret: process.env.ROZPER_WEBHOOK_SECRET,
})
if (!ok) return res.status(401).end()
const event = JSON.parse(req.rawBody)
switch (event.type) {
case "call.completed": /* … */
case "recording.ready": /* … */
}
res.json({ received: true })
})call.initiatedUtgående samtal accepteras av operatören.
call.ringingLängre änden ringer.
call.answeredFar-end svarade (eller AMD upptäckt människa).
call.completedSamtalet avslutades. Inkluderar varaktighet, fakturering, benmetadata.
recording.readyUppladdad och signerad webbadress för inspelningstillgång tillgänglig.
message.deliveredLeveranskvittot från operatören (där stöds).
agent.handoffAI-agent eskalerade till en mänsklig kö.
number.purchasedNummerförvärvet slutfört.
Varje förändring, på vanlig engelska.
- 2026-05-10v2026.05
- bedriftRöstagenter stöder nu verktygssamtal med strömmande svar.
- bedriftNy /v2/numbers/port slutpunkt för programmatiska LNP-inlämningar.
- 2026-04-22v2026.04
- fixeraIdempotenscache hedrar nu korrekt 24h TTL på POST /samtal.
- sysslaUtfasade v1-slutpunkter har tagits bort (annonserade 2025-11).
- 2026-03-31v2026.03
- bedriftWebSocket media-streams beta är nu allmänt tillgänglig.
- bedriftWhatsApp-mallmeddelanden läggs till under /v2/meddelanden.