Open in
ವೆಬ್ಹುಕ್ಗಳ ಅವಲೋಕನ
ThunderPhone ನೈಜ-ಸಮಯದ ಈವೆಂಟ್ಗಳನ್ನು ಹೇಗೆ ತಲುಪಿಸುತ್ತದೆ, ಸಹಿಗಳನ್ನು ಹೇಗೆ ಪರಿಶೀಲಿಸುವುದು ಮತ್ತು ಲೆಗಸಿ ಹಾಗೂ ಎಂಡ್ಪಾಯಿಂಟ್-ಆಧಾರಿತ ವಿತರಣಾ ಮಾದರಿಗಳನ್ನು ಹೇಗೆ ಹೋಲಿಸಬಹುದು ಎಂಬುದು.
ThunderPhone ಕರೆ ಸಮಯದಲ್ಲಿ ಘಟನೆಗಳು ಸಂಭವಿಸಿದಾಗ ನಿಮ್ಮ ಸರ್ವರ್ಗೆ HTTP POST ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ — ಒಳಬರುವ ಕರೆ ಆರಂಭವಾದಾಗ, ಕರೆ ಮುಗಿದಾಗ, ಗ್ರೇಡಿಂಗ್ ರನ್ ಪೂರ್ಣಗೊಂಡಾಗ, ಎಚ್ಚರಿಕೆ ಸಕ್ರಿಯಗೊಂಡಾಗ ಮತ್ತು ಇತ್ಯಾದಿ. ಎರಡು ವಿತರಣಾ ಮಾದರಿಗಳಿವೆ:
ಬಹು URLಗಳು, ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಪ್ರತ್ಯೇಕ ಸೀಕ್ರೆಟ್ಗಳು, ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಪ್ರತ್ಯೇಕ ಈವೆಂಟ್ ಫಿಲ್ಟರ್ಗಳು,
ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಮರುಪ್ರಯತ್ನಗಳು.
GET/POST/PATCH/DELETE /v1/developer/webhook-endpoints ಮೂಲಕ ನಿರ್ವಹಿಸಿ.
ಪ್ರತಿ ಸಂಸ್ಥೆಗೆ ಒಂದು URL. ತಡೆಹಿಡಿಯುವ ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯಗಳನ್ನು ಒಳಗೊಂಡಂತೆ
ಕರೆ-ಜೀವನಚಕ್ರದ ಈವೆಂಟ್ಗಳನ್ನು ಸಾಗಿಸುತ್ತದೆ. GET/PUT /v1/webhook ನಲ್ಲಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.
ಈವೆಂಟ್ಗಳ ಕ್ಯಾಟಲಾಗ್ ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಎಲ್ಲಾ ಈವೆಂಟ್ ಪ್ರಕಾರಗಳನ್ನು
ವೆಬ್ಹುಕ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳ ಮೂಲಕ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಆರು ಕರೆ-ಜೀವನಚಕ್ರದ ಈವೆಂಟ್ಗಳು
(telephony.incoming, telephony.complete, telephony.tool,
web.incoming, web.complete, web.tool) ಹಳೆಯ ಏಕ-URL ವೆಬ್ಹುಕ್ಗೆ ಸಹ
ಕಳುಹಿಸಲಾಗುತ್ತವೆ — ನೀವು ಹಳೆಯ URL ಮತ್ತು ಹೊಂದಾಣಿಕೆಯಾಗುವ ಎಂಡ್ಪಾಯಿಂಟ್ ಎರಡನ್ನೂ ಹೊಂದಿದ್ದರೆ,
ನೀವು ಈವೆಂಟ್ ಅನ್ನು ಎರಡೂ ಮಾರ್ಗಗಳಲ್ಲಿ ಪಡೆಯುತ್ತೀರಿ. ತಡೆಹಿಡಿಯುವ ವರ್ತನೆ
(telephony.incoming / web.incoming ಕಾನ್ಫಿಗರೇಶನ್
ವಿನಿಮಯ ಮತ್ತು ವೆಬ್ಹುಕ್-ಮೋಡ್ನ
ಟೂಲ್ ಡಿಸ್ಪ್ಯಾಚ್) ಹಳೆಯ ಮಾರ್ಗದಲ್ಲಿ ಮಾತ್ರ ಇರುತ್ತದೆ;
ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ ವಿತರಣೆಯು ಪ್ರತಿಕ್ರಿಯೆಗಾಗಿ ಕಾಯದ ಅಧಿಸೂಚನೆಯಾಗಿದೆ.
ಪೇಲೋಡ್ ಸ್ವರೂಪ
ಎಂಡ್ಪಾಯಿಂಟ್ ವಿತರಣೆಗಳು data, event_id, ಮತ್ತು type ಹೊಂದಿರುವ JSON ಆಬ್ಜೆಕ್ಟ್ ಆಗಿರುತ್ತವೆ:
{
"data": {
"call_id": 987654321,
"from_number": "+14155550199",
"to_number": "+15551234567"
},
"event_id": "3f6b2ad0-1c9e-4a57-9f2b-8f6f0f9d2f11",
"type": "telephony.incoming"
}event_id ಪ್ರತಿ ಹೊರಸೂಸಲಾದ ಈವೆಂಟ್ಗೆ ಅನನ್ಯವಾಗಿರುತ್ತದೆ. ಇದು ಮರುಪ್ರಯತ್ನಗಳಾದ್ಯಂತ
ಮತ್ತು ಈವೆಂಟ್ ಪಡೆಯುವ ಪ್ರತಿಯೊಂದು ಎಂಡ್ಪಾಯಿಂಟ್ನಲ್ಲೂ ಒಂದೇ ಆಗಿರುತ್ತದೆ — ಇದರ ಆಧಾರದ ಮೇಲೆ ಡೀಡಪ್ ಮಾಡಿ.
ಹಳೆಯ ಏಕ-URL ವೆಬ್ಹುಕ್ ಅದೇ type ಮತ್ತು data ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಆದರೆ
event_id ಇಲ್ಲದೆ:
{
"type": "telephony.incoming",
"data": { "call_id": 987654321, "from_number": "+14155550199", "to_number": "+15551234567" }
}ಸಂವಹನದಲ್ಲಿ, ಪ್ರತಿಯೊಂದು ಬಾಡಿಯನ್ನೂ ಕ್ಯಾನಾನಿಕಲ್ ರೀತಿಯಲ್ಲಿ ಸೀರಿಯಲೈಸ್ ಮಾಡಲಾಗುತ್ತದೆ — ಕೀಗಳನ್ನು ಅಕಾರಾದಿ ಕ್ರಮದಲ್ಲಿ ವಿಂಗಡಿಸಲಾಗುತ್ತದೆ, ವೈಟ್ಸ್ಪೇಸ್ ಇರುವುದಿಲ್ಲ, UTF-8 ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಡಾಕ್ಯುಮೆಂಟ್ಗಳಲ್ಲಿನ ಸುಂದರವಾಗಿ ಮುದ್ರಿಸಲಾದ ಉದಾಹರಣೆಗಳು ಓದಲು ಸುಲಭವಾಗಲು ಮಾತ್ರ ಇವೆ.
ಈವೆಂಟ್ ಪ್ರಕಾರಗಳು ಮತ್ತು ಪೇಲೋಡ್ ಫೀಲ್ಡ್ಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಗಾಗಿ ಈವೆಂಟ್ಗಳ ಕ್ಯಾಟಲಾಗ್ ನೋಡಿ.
ಸಹಿ ಪರಿಶೀಲನೆ
ಪ್ರತಿಯೊಂದು ವಿನಂತಿಯು ಎರಡು ಸಹಿಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಎರಡೂ ಎಂಡ್ಪಾಯಿಂಟ್ನ secret (ಅಥವಾ ಹಳೆಯ ವಿತರಣೆಗಳಿಗಾಗಿ ನಿಮ್ಮ ಸಂಸ್ಥೆ-ಮಟ್ಟದ ವೆಬ್ಹುಕ್ secret) ಅನ್ನು ಕೀಲಿಯಾಗಿ ಬಳಸುವ HMAC-SHA256 ಸಹಿಗಳಾಗಿವೆ:
X-ThunderPhone-Signature-V2: t=<unix seconds>,v1=<hex>ಸಮಯಮುದ್ರೆ, ವಿಧಾನ, ಪಥ ಮತ್ತು ಕ್ವೆರಿ ಹಾಗೂ ಕಚ್ಚಾ ಬಾಡಿಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ. ಇದನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಸೆರೆಹಿಡಿದ ವಿನಂತಿಯನ್ನು ನಂತರ ಮರುಚಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗದಂತೆ, ನಿಮ್ಮ ಗಡಿಯಾರದ ಸಮಯದಿಂದt5 ನಿಮಿಷಗಳಿಗಿಂತ ಹೆಚ್ಚು ದೂರವಿರುವ ವಿನಂತಿಗಳನ್ನು ತಿರಸ್ಕರಿಸಿ. ಮರುಪ್ರಯತ್ನಗಳನ್ನು ಕಳುಹಿಸುವಾಗ ಅವುಗಳಿಗೆ ಮತ್ತೆ ಸಹಿ ಮಾಡಲಾಗುತ್ತದೆ.X-ThunderPhone-Signatureಕೇವಲ ಕಚ್ಚಾ ಬಾಡಿಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಶೀಲಕಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರಲು, ಇದನ್ನು ಬದಲಾಯಿಸದೆ ಇನ್ನೂ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
ಹಂತಗಳು
- ಯಾವುದೇ ಪಾರ್ಸಿಂಗ್ಗಿಂತ ಮೊದಲು ಹೆಡರ್, ಮೆತಡ್, ಕಚ್ಚಾ ಪಾತ್ ಮತ್ತು ಕ್ವೆರಿ, ಹಾಗೂ ಕಚ್ಚಾ ಬಾಡಿಯನ್ನು ಓದಿ.
- ನಿಮ್ಮ ಸೀಕ್ರೆಟ್ನೊಂದಿಗೆ
<t>\n<METHOD>\n<path and query>\n<body>ನ ಹೆಕ್ಸ್ HMAC-SHA256 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ. t300 ಸೆಕೆಂಡುಗಳಿಗಿಂತ ಹೆಚ್ಚು ವ್ಯತ್ಯಾಸವಾಗಿದ್ದರೆ ಅಥವಾ ಫಲಿತಾಂಶವು ಸ್ಥಿರ-ಸಮಯದ ಹೋಲಿಕೆಯಲ್ಲಿv1ಗೆ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸಿ.
ಬಾಡಿಗಳು ಕ್ಯಾನನಿಕಲ್ JSON ಸೀರಿಯಲೈಸೇಶನ್ಗಳಾಗಿವೆ (ವಿಂಗಡಿಸಿದ ಕೀಗಳು, ಸಂಕ್ಷಿಪ್ತ ವಿಭಜಕಗಳು), ಮತ್ತು ನಾವು ರವಾನಿಸುವ ನಿಖರವಾದ ಬೈಟ್ಗಳಿಗೇ ಸಹಿ ಮಾಡುತ್ತೇವೆ. ಪರಿಶೀಲನೆ ಮಾರ್ಗದರ್ಶಿ ಯಲ್ಲಿ ನಿಖರವಾದ ಸಹಿ ಮಾಡಿದ ಸ್ಟ್ರಿಂಗ್, ಕಾರ್ಯನಿರ್ವಹಿತ ಉದಾಹರಣೆ, SDK ಇಲ್ಲದ ಕೋಡ್ ಮತ್ತು ಲೆಗಸಿ ಹೆಡರ್ ಇವೆ.
from flask import Flask, abort, request
from thunderphone import verify_signature
app = Flask(__name__)
@app.post("/thunderphone-webhook")
def handle():
query = request.query_string.decode()
if not verify_signature(
request.headers.get("X-ThunderPhone-Signature-V2"),
secret=WEBHOOK_SECRET,
method=request.method,
path=request.path + (f"?{query}" if query else ""),
body=request.get_data(), # raw bytes
):
abort(401)
event = request.get_json()
# dispatch on event["type"] …
return "", 204import express from "express";
import { verifySignature } from "@thunderphone/sdk";
const app = express();
app.post(
"/thunderphone-webhook",
express.raw({ type: "application/json" }),
(req, res) => {
const ok = verifySignature({
header: req.header("X-ThunderPhone-Signature-V2"),
secret: process.env.WEBHOOK_SECRET,
method: req.method,
path: req.originalUrl,
body: req.body,
});
if (!ok) return res.sendStatus(401);
const event = JSON.parse(req.body.toString("utf8"));
// dispatch on event.type …
res.sendStatus(204);
},
);ವಿತರಣಾ ಅರ್ಥವ್ಯವಸ್ಥೆ
ಈ ಅರ್ಥವ್ಯವಸ್ಥೆಗಳು ಎಂಡ್ಪಾಯಿಂಟ್ ವಿತರಣೆಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತವೆ. ಹಳೆಯ ಏಕ-URL
ವೆಬ್ಹುಕ್ ಮರುಪ್ರಯತ್ನಗಳಿಲ್ಲದ ಏಕ ಸಿಂಕ್ರೋನಸ್ ಪ್ರಯತ್ನವಾಗಿದೆ; ಫೋನ್-ಕರೆ
telephony.incoming
ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯಕ್ಕೆ ಮಾತ್ರ ವಿನಾಯಿತಿ ಇದೆ, ಇದನ್ನು ಒಮ್ಮೆ ಮರುಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ.
ಮರುಪ್ರಯತ್ನಗಳು
ಪ್ರತಿ ಈವೆಂಟ್ಗೆ ತಕ್ಷಣ ಒಮ್ಮೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ 2xx ಪ್ರತಿಕ್ರಿಯೆಯು
ವಿತರಣೆಯನ್ನು ಅಂಗೀಕರಿಸುತ್ತದೆ. ಇತರ ಯಾವುದೇ ಫಲಿತಾಂಶದಲ್ಲಿ (non-2xx,
ಸಂಪರ್ಕ ದೋಷ, ಕಾಲಮಿತಿ ಮೀರಿಕೆ), ಮೊದಲ ಪ್ರಯತ್ನದ ನಂತರ 1 ನಿಮಿಷ, 5 ನಿಮಿಷ, 30 ನಿಮಿಷ, 2 ಗಂಟೆ, 6 ಗಂಟೆ,
12 ಗಂಟೆ ಮತ್ತು 24 ಗಂಟೆಗಳಲ್ಲಿ ನಾವು ಮರುಪ್ರಯತ್ನಿಸುತ್ತೇವೆ — 24 ಗಂಟೆಗಳ ಅವಧಿಯ
8 ಪ್ರಯತ್ನಗಳು. ಪ್ರತಿ ಪ್ರಯತ್ನವೂ ವಿಫಲವಾದರೆ, ವಿತರಣೆಯು ನಿಲ್ಲುತ್ತದೆ ಮತ್ತು ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು
ವೆಬ್ಹುಕ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಲ್ಲಿ status="failing" ಎಂದು
ಗುರುತಿಸಲಾಗುತ್ತದೆ; ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಮಾಲೀಕರು ಮತ್ತು ನಿರ್ವಾಹಕರಿಗೆ ನಾವು ಇಮೇಲ್ ಕಳುಹಿಸುತ್ತೇವೆ
ಮತ್ತು ಅದನ್ನು ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ ತೋರಿಸುತ್ತೇವೆ. ಪೇಲೋಡ್ ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ಸ್ವೀಕರಿಸಿದ ತಕ್ಷಣ
2xx ಹಿಂತಿರುಗಿಸಿ; ಅಸಿಂಕ್ರೋನಸ್ ಆಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿ.
ಎಂಡ್ಪಾಯಿಂಟ್ ಪರೀಕ್ಷಾ API ಯಿಂದ ಬರುವ ಪರೀಕ್ಷಾ ಕಳುಹಿಕೆಗಳು ಮೊದಲ ಪ್ರಯತ್ನದ ಸುಮಾರು ಒಂದು ನಿಮಿಷದ ನಂತರ
ಒಂದು ಮರುಪ್ರಯತ್ನ ಪಡೆಯುತ್ತವೆ ಮತ್ತು ಎಂಡ್ಪಾಯಿಂಟ್ನ ಸ್ಥಿತಿಯನ್ನು ಎಂದಿಗೂ ಬದಲಾಯಿಸುವುದಿಲ್ಲ.
ಕ್ರಮಬದ್ಧತೆ
ವಿತರಣೆಯ ಕ್ರಮಬದ್ಧತೆ ಅತ್ಯುತ್ತಮ-ಪ್ರಯತ್ನ ಆಧಾರಿತವಾಗಿದೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಈವೆಂಟ್ಗಳನ್ನು
ಹೊರಸೂಸಿದ ಕ್ರಮದಲ್ಲಿಯೇ ವಿತರಿಸುತ್ತೇವೆ, ಆದರೆ ವಿಫಲವಾದಾಗ ಮರುಪ್ರಯತ್ನಗಳು ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸಬಹುದು.
ಯಾವಾಗಲೂ call_id / ಆಬ್ಜೆಕ್ಟ್ id ಮೂಲಕ ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಿ ಮತ್ತು ಸಮನ್ವಯಗೊಳಿಸಿ.
ನಕಲುಗಳು
ವಿತರಣೆ ಕನಿಷ್ಠ-ಒಮ್ಮೆ ಆಗಿರುತ್ತದೆ: ನಮಗೆ ಕಾಣದ ಪ್ರತಿಕ್ರಿಯೆಯ ನಂತರದ ಮರುಪ್ರಯತ್ನವು
ಒಂದು ಈವೆಂಟ್ನ ನಕಲನ್ನು ರಚಿಸಬಹುದು. ಪ್ರತಿಯೊಂದು ಮರುಪ್ರಯತ್ನವೂ ಅದೇ
event_id ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ id ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ ಮತ್ತು ಪುನರಾವರ್ತನೆಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಿ. event_id ಅನ್ನು
ಎಂಡ್ಪಾಯಿಂಟ್ಗಳ ನಡುವೆಯೂ ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತದೆ — ಒಂದೇ ಈವೆಂಟ್ಗೆ ಚಂದಾದಾರರಾಗಿರುವ ಎರಡು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು
ಒಂದೇ event_id ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ.
ಕಾಲಮಿತಿಗಳು
ಎಂಡ್ಪಾಯಿಂಟ್ ವಿತರಣೆಗಳು ಪ್ರತಿ ಪ್ರಯತ್ನಕ್ಕೆ 30 ಸೆಕೆಂಡ್ ಕಾಲಮಿತಿಯನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಹಳೆಯ
ಮಾರ್ಗದಲ್ಲಿ, ನೇರ ಕರೆ ವರ್ತನೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ತಡೆಹಿಡಿಯುವ ವಿನಂತಿಗಳು —
telephony.incoming / web.incoming
ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯ — ಫೋನ್ ಕರೆಯ ಮೊದಲ ಪ್ರಯತ್ನಕ್ಕೆ 10 ಸೆಕೆಂಡ್ ಗೆ,
ಅದರ ಒಂದು ಮರುಪ್ರಯತ್ನವನ್ನು ಒಳಗೊಂಡ ಸಂಪೂರ್ಣ ವಿನಿಮಯಕ್ಕೆ 13 ಸೆಕೆಂಡ್ ಗೆ,
ಮತ್ತು ವಿಜೆಟ್ ಸೆಷನ್ಗೆ 10 ಸೆಕೆಂಡ್ ಗೆ ಸೀಮಿತವಾಗಿವೆ. ನಿಧಾನವಾದ ಪ್ರತಿಕ್ರಿಯೆಯು
ಕರೆ ಸ್ವೀಕರಣವನ್ನು ವಿಳಂಬಗೊಳಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಕೆಲವು ಸೆಕೆಂಡುಗಳೊಳಗೆ ಉತ್ತರಿಸುವ ಗುರಿಯಿರಲಿ. ವೆಬ್ಹುಕ್-ಮೋಡ್ ಟೂಲ್ ಡಿಸ್ಪ್ಯಾಚ್ ಗೆ
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ 20 ಸೆಕೆಂಡ್ ಅನುಮತಿಸಲಾಗಿದೆ, ಮತ್ತು ಟೂಲ್ ಘೋಷಣೆಗಳು ಮೇಲ್ಮಟ್ಟದ timeout ಅನ್ನು ಹೊಂದಿಸಬಹುದು.
ಮೂಲ IPಗಳು
ಹೊರಹೋಗುವ ವೆಬ್ಹುಕ್ಗಳು ThunderPhone ನ ಕ್ಲೌಡ್ IP ಶ್ರೇಣಿಯಿಂದ ಆರಂಭಗೊಳ್ಳುತ್ತವೆ. ನಿಮ್ಮ ಫೈರ್ವಾಲ್ಗೆ ಅನುಮತಿಪಟ್ಟಿ ಅಗತ್ಯವಿದ್ದರೆ, ಬೆಂಬಲ ತಂಡವನ್ನು ಸಂಪರ್ಕಿಸಿ; ನಾವು ಪ್ರಸ್ತುತ ಶ್ರೇಣಿಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ.
ಹಳೆಯ ಮತ್ತು ಎಂಡ್ಪಾಯಿಂಟ್-ಆಧಾರಿತ ವೆಬ್ಹುಕ್ಗಳ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವುದು
| ವೈಶಿಷ್ಟ್ಯ | ಲೆಗಸಿ (/v1/webhook) | ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು (/v1/developer/webhook-endpoints) |
|---|---|---|
| URLಗಳ ಸಂಖ್ಯೆ | ಪ್ರತಿ ಸಂಸ್ಥೆಗೆ 1 | ಪ್ರತಿ ಸಂಸ್ಥೆಗೆ ಹಲವು |
| ಈವೆಂಟ್ ವ್ಯಾಪ್ತಿ | telephony.* / web.* ಮಾತ್ರ | ಎಲ್ಲಾ 10 ಈವೆಂಟ್ ಪ್ರಕಾರಗಳು |
| ಈವೆಂಟ್ ಫಿಲ್ಟರ್ | — | ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ |
| ಮರುಪ್ರಯತ್ನಗಳು | ಫೋನ್-ಕರೆ ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯಕ್ಕಾಗಿ ಒಂದನ್ನು ಹೊರತುಪಡಿಸಿ ಯಾವುದೂ ಇಲ್ಲ | 24 ಗಂ. ಅವಧಿಯಲ್ಲಿ 8 ಪ್ರಯತ್ನಗಳು |
| ಎನ್ವಲಪ್ | type + data | type + data + event_id |
| ಸೀಕ್ರೆಟ್ ರೊಟೇಶನ್ | ಒಂದೇ ಸೀಕ್ರೆಟ್ ಅನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ | ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಸೀಕ್ರೆಟ್ |
| ಅಳಿಸದೆ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವಿಕೆ | PUT /v1/webhook ಜೊತೆಗೆ {"url": ""} | status=disabled |
| ಸ್ಥಿತಿ ಗೋಚರತೆ | — | active / disabled / failing |
| ತಡೆಯುವ ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯ | ಹೌದು (telephony.incoming / web.incoming) | ಎಂದಿಗೂ ಇಲ್ಲ — ಅಧಿಸೂಚನೆಗಳು ಮಾತ್ರ |
| ಅತ್ಯುತ್ತಮ ಬಳಕೆ | ಡೈನಾಮಿಕ್ ಕರೆ ಕಾನ್ಫಿಗರೇಶನ್ | ಉತ್ಪಾದನೆಯಲ್ಲಿ ಈವೆಂಟ್ ಬಳಕೆ |
ಹೊಸ ಏಕೀಕರಣಗಳು ಎಂಡ್ಪಾಯಿಂಟ್-ಆಧಾರಿತ ವೆಬ್ಹುಕ್ಗಳ ಮೂಲಕ ಈವೆಂಟ್ಗಳನ್ನು ಬಳಸಬೇಕು. ಕರೆ ಸ್ವೀಕರಿಸುವ ಸಮಯದಲ್ಲಿ ಕರೆಗಳನ್ನು ಡೈನಾಮಿಕ್ ಆಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುವಾಗ ಅಥವಾ ವೆಬ್ಹುಕ್-ಮೋಡ್ ಟೂಲ್ ಡಿಸ್ಪ್ಯಾಚ್ ಬಳಸುವಾಗ ಮಾತ್ರ ಹಳೆಯ URL ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ (ಅಥವಾ ಸೇರಿಸಿ) — ಆ ವಿನಂತಿ/ಪ್ರತಿಕ್ರಿಯೆ ವಿನಿಮಯಗಳು ಹಳೆಯ ಮಾರ್ಗದಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ಸಂಬಂಧಿತ
ಎಲ್ಲಾ ಈವೆಂಟ್ ಪ್ರಕಾರಗಳು ಮತ್ತು ಅವುಗಳ ಪೇಲೋಡ್ಗಳು.
ಬಹು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು, ಈವೆಂಟ್ ಫಿಲ್ಟರ್ಗಳು ಮತ್ತು ಸೀಕ್ರೆಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸಿ.
ಕರೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿಮ್ಮ ಸರ್ವರ್ ಉತ್ತರಿಸಬೇಕಾದ ಬ್ಲಾಕಿಂಗ್ ವಿನಂತಿ.
ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್, ರೆಕಾರ್ಡಿಂಗ್ ಮತ್ತು ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ ಕರೆಯ ನಂತರದ ಪೇಲೋಡ್.