बाकी · वेबसॉकेट · जीआरपीसी

एपीआई
संदर्भ।

312 समापन बिंदु, पूर्ण ओपनएपीआई विशिष्टता, प्रत्येक उत्परिवर्तन पर निष्क्रियता, और एक सार्वजनिक अपटाइम अनुबंध। कोई ब्लैक बॉक्स नहीं.

आधार यूआरएल
api.rozper.com
संस्करण
v2026.05
दर सीमा
1000 आरपीएस
डाक/v2/कॉल
"color:#22D3EE">curl "color:#22D3EE">-X "रंग:#34डी399;फ़ॉन्ट-वज़न:600">पोस्ट https://api.rozper.com/v2/calls \
  "रंग:#22D3EE">-एच "प्राधिकरण: वाहक $ROZPER_API_KEY" \
  "रंग:#22D3EE">-एच "सामग्री-प्रकार: एप्लिकेशन/json" \
  "रंग:#22D3EE">-डी '{
    "को":   "+14155551234",
    "से": "+12025550100",
    "यूआरएल":  "https://your.app/voice/answer"
  }'
201प्रतिक्रिया · 84 एमएस
{
  "id": "call_01HXY7ZQ9V3J3X8K5N",
  "status": "queued",
  "to":     "+14155551234",
  "from":   "+12025550100",
  "created_at": "2026-05-12T14:23:01Z"
}
§01 · प्रमाणीकरण

वाहक टोकन.
दायरा. घूमने योग्य.

प्रत्येक अनुरोध में बियरर टोकन के रूप में एक प्रोजेक्ट कुंजी होती है। कुंजियाँ स्कोप्ड (पढ़ें, लिखें, बिलिंग) हैं, बिना डाउनटाइम के घूमने योग्य हैं, और डैशबोर्ड से आईपी-पिन की जा सकती हैं।

  • प्रति-पर्यावरण कुंजियाँ (परीक्षण/लाइव)
  • OAuth 2.0 क्लाइंट क्रेडेंशियल समर्थित
  • एंटरप्राइज़ पर म्युचुअल टीएलएस उपलब्ध है
प्राधिकरण शीर्षलेख
कर्लनोडअजगरजाना
# .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 }
}
§02 · संदर्भ

प्रत्येक समापन बिंदु का अन्वेषण करें.

कॉलएक कॉल बनाएं

एक कॉल बनाएं

एक आउटबाउंड पीएसटीएन कॉल शुरू करें। कतारबद्ध कॉल ऑब्जेक्ट के साथ तुरंत लौटता है - राज्य परिवर्तनों के लिए वेबहुक पर सुनें।

डाक/v2/कॉल
पैरामीटर
toडोरीआवश्यक

E.164 गंतव्य क्रमांक.

fromडोरीआवश्यक

सत्यापित या किराए पर लिया गया रोज़पर नंबर।

urlडोरी

HTTPS एंडपॉइंट जो कॉल कनेक्ट होने पर ध्वनि निर्देश लौटाता है।

recordबूलियन

दोनों पैरों को अपने भंडारण में रिकॉर्ड करें। डिफ़ॉल्ट ग़लत.

timeoutपूर्णांक

सेकंड में रिंग टाइमआउट. डिफ़ॉल्ट 60.

अनुरोध · नोड● जियो
const call = await rozper.calls.create({
  to:   "+14155551234",
  from: "+12025550100",
  url:  "https://your.app/voice/answer",
})
प्रतिक्रिया · 201 बनाया गया84 एमएस
{
  "id": "call_01HXY7ZQ9V3J3X8K5N",
  "object": "call",
  "created_at": "2026-05-12T14:23:01Z"
}
§03 · त्रुटियाँ

पूर्वानुमानित, मशीन-पठनीय त्रुटियाँ।

प्रत्येक 4xx और 5xx एक ही आकार लौटाता है: एक स्थिर code, एक मानव-पठनीय संदेश, और एक अनुरोध आईडी जिसे आप समर्थन के लिए चिपका सकते हैं।

त्रुटि लिफ़ाफ़ा
{
  "error": {
    "code": "invalid_param",
    "message": "to: must be E.164",
    "request_id": "req_01HXY7…",
    "param_errors": [
      { "param": "to", "reason": "format" }
    ]
  }
}
400
bad_request

विकृत अनुरोध निकाय या आवश्यक फ़ील्ड अनुपलब्ध।

401
unauthorized

एपीआई कुंजी गुम, समाप्त या निरस्त हो गई है।

403
forbidden

कुंजी में इस संसाधन के लिए आवश्यक गुंजाइश का अभाव है।

404
not_found

इस खाते के लिए संसाधन आईडी मौजूद नहीं है.

409
conflict

इडेम्पोटेंसी कुंजी एक अलग पेलोड से टकराती है।

422
invalid_param

एक पैरामीटर सत्यापन विफल रहा. पैरामीटर_त्रुटियों[] का निरीक्षण करें।

429
rate_limited

रिट्री-आफ्टर हेडर का उपयोग करके बैकऑफ़ करें।

500
server_error

हमें सूचित किया गया. निष्क्रिय कॉल पुनः प्रयास करें.

§04 · वेबहुक

हस्ताक्षरित, पुनः प्रयास किया गया, पुन: चला कर सुरक्षित किया गया।

प्रत्येक ईवेंट एक HMAC हस्ताक्षर, एक अद्वितीय ईवेंट आईडी और एक UTC टाइमस्टैम्प के साथ वितरित किया जाता है। हम 24 घंटों तक घातीय बैकऑफ़ के साथ पुनः प्रयास करते हैं।

Rozper-Signature में HMAC-SHA256 हस्ताक्षर
8 पुनः प्रयास तक · 24 घंटे की विंडो
एक साथ कई समापन बिंदुओं पर भेजें
वेबहुक सत्यापित करें · नोड✓ निरंतर-समय तुलना
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 })
})
इवेंट कैटलॉग · कुल 32
call.initiated

आउटबाउंड कॉल वाहक द्वारा स्वीकार की जाती है।

call.ringing

दूर तक बज रहा है.

call.answered

सुदूर-अंत ने उत्तर दिया (या एएमडी ने मानव का पता लगाया)।

call.completed

कॉल समाप्त हो गई. अवधि, बिलिंग, लेग मेटाडेटा शामिल है।

recording.ready

रिकॉर्डिंग एसेट अपलोड और हस्ताक्षरित यूआरएल उपलब्ध है।

message.delivered

वाहक डिलीवरी रसीद (जहाँ समर्थित हो)।

agent.handoff

एआई एजेंट एक मानव कतार में आगे बढ़ गया।

number.purchased

नंबर अधिग्रहण पूरा हो गया.

§05 · चेंजलॉग

प्रत्येक परिवर्तन, स्पष्ट अंग्रेजी में।

  1. 2026-05-10
    v2026.05
    • करतबवॉयस एजेंट अब स्ट्रीमिंग प्रतिक्रियाओं के साथ टूल कॉलिंग का समर्थन करते हैं।
    • करतबप्रोग्रामेटिक एलएनपी सबमिशन के लिए नया /v2/नंबर्स/पोर्ट एंडपॉइंट।
  2. 2026-04-22
    v2026.04
    • हल करनाIdempotency कैश अब POST/कॉल पर 24 घंटे TTL का सही ढंग से सम्मान करता है।
    • घर का कामअप्रचलित v1 समापन बिंदु हटा दिए गए (घोषित 2025-11)।
  3. 2026-03-31
    v2026.03
    • करतबवेबसॉकेट मीडिया-स्ट्रीम बीटा अब आम तौर पर उपलब्ध है।
    • करतबव्हाट्सएप टेम्प्लेट संदेश /v2/संदेश के अंतर्गत जोड़े गए।
एपीआई संदर्भ · रोज़पर रेस्ट और वेबसॉकेट डॉक्स | रोज़पर टुडे