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. ಈ ದಸ್ತಾವೇಜುಗಳಲ್ಲಿರುವ ಸುಂದರವಾಗಿ ಮುದ್ರಿಸಲಾದ ಉದಾಹರಣೆಗಳು ಓದಲು ಸುಲಭವಾಗಲು ಮಾತ್ರ.
ಘಟನೆ ಪ್ರಕಾರಗಳು ಮತ್ತು ಪೇಲೋಡ್ ಕ್ಷೇತ್ರಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಗಾಗಿ ಘಟನೆಗಳ ಕ್ಯಾಟಲಾಗ್ ನೋಡಿ.
ಸಹಿ ಪರಿಶೀಲನೆ
ಪ್ರತಿ ವಿನಂತಿಯು X-ThunderPhone-Signature ಹೆಡರ್ನಲ್ಲಿ ಕಚ್ಚಾ ವಿನಂತಿ
ದೇಹದ ಮೇಲೆ HMAC-SHA256 ಸಹಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಸೈನಿಂಗ್ ಕೀಯು
ಎಂಡ್ಪಾಯಿಂಟ್ನ secret ಆಗಿರುತ್ತದೆ (ಅಥವಾ ಹಳೆಯ ಡೆಲಿವರಿಗಳಿಗಾಗಿ ನಿಮ್ಮ
ಸಂಸ್ಥೆ-ಮಟ್ಟದ ವೆಬ್ಹುಕ್ secret).
ಹಂತಗಳು
- ಯಾವುದೇ ಪಾರ್ಸಿಂಗ್ಗೆ ಮುಂಚಿತವಾಗಿ ಕಚ್ಚಾ ವಿನಂತಿ ದೇಹವನ್ನು ಓದಿ.
hmac_sha256(secret, body).hexdigest()ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ.X-ThunderPhone-Signatureಹೆಡರ್ನೊಂದಿಗೆ ಸ್ಥಿರ ಸಮಯದಲ್ಲಿ ಹೋಲಿಸಿ.
ನಾವು ರವಾನಿಸುವ ನಿಖರ ಬೈಟ್ಗಳಿಗೆ ಸಹಿ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಆ ಬೈಟ್ಗಳು ಕ್ಯಾನಾನಿಕಲ್ JSON ಸೀರಿಯಲೈಸೇಶನ್ ಆಗಿರುತ್ತವೆ (ವಿಂಗಡಿಸಿದ ಕೀಗಳು, ಸಂಕ್ಷಿಪ್ತ ವಿಭಜಕಗಳು). ಆದ್ದರಿಂದ ಕಚ್ಚಾ ದೇಹದ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸುವುದು ಯಾವಾಗಲೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ — ಮತ್ತು ನಿಮ್ಮ ಫ್ರೇಮ್ವರ್ಕ್ ನಿಮಗೆ ಪಾರ್ಸ್ ಮಾಡಿದ JSON ಅನ್ನು ಮಾತ್ರ ನೀಡಿದರೆ, ವಿಂಗಡಿಸಿದ ಕೀಗಳು ಮತ್ತು ಸಂಕ್ಷಿಪ್ತ ವಿಭಜಕಗಳೊಂದಿಗೆ ಅದನ್ನು ಮರು-ಸೀರಿಯಲೈಸ್ ಮಾಡುವುದರಿಂದ ಒಂದೇ ರೀತಿಯ ಬೈಟ್ಗಳು ಉತ್ಪತ್ತಿಯಾಗುತ್ತವೆ. ಎರಡೂ ವಿಧಾನಗಳನ್ನು ಪರಿಶೀಲನೆ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿ ಒಳಗೊಂಡಿದೆ.
import hmac
import hashlib
def verify_signature(body: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(
secret.encode("utf-8"),
body,
hashlib.sha256,
).hexdigest()
return hmac.compare_digest(expected, signature or "")
# Example Flask handler
from flask import Flask, request, abort
app = Flask(__name__)
@app.post("/thunderphone-webhook")
def handle():
body = request.get_data()
sig = request.headers.get("X-ThunderPhone-Signature", "")
if not verify_signature(body, sig, WEBHOOK_SECRET):
abort(401)
event = request.get_json()
# dispatch on event["type"] …
return "", 204import crypto from "node:crypto";
import express from "express";
function verifySignature(body, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(body)
.digest("hex");
if (!signature || expected.length !== signature.length) return false;
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature),
);
}
const app = express();
app.post(
"/thunderphone-webhook",
express.raw({ type: "application/json" }),
(req, res) => {
const sig = req.header("X-ThunderPhone-Signature") || "";
if (!verifySignature(req.body, sig, process.env.WEBHOOK_SECRET)) {
return res.sendStatus(401);
}
const event = JSON.parse(req.body.toString("utf8"));
// dispatch on event.type …
res.sendStatus(204);
},
);ವಿತರಣೆಯ ನಿಯಮಗಳು
ಈ ನಿಯಮಗಳು ಎಂಡ್ಪಾಯಿಂಟ್ ವಿತರಣೆಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತವೆ. ಲೆಗಸಿ ಏಕ-URL ವೆಬ್ಹುಕ್ ಮರುಪ್ರಯತ್ನಗಳಿಲ್ಲದ ಏಕೈಕ ಸಿಂಕ್ರೊನಸ್ ಪ್ರಯತ್ನವಾಗಿದೆ.
ಮರುಪ್ರಯತ್ನಗಳು
ಪ್ರತಿ ಈವೆಂಟ್ಗೆ ತಕ್ಷಣ ಒಮ್ಮೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ. ಯಾವುದೇ 2xx ಪ್ರತಿಕ್ರಿಯೆಯು
ವಿತರಣೆಯನ್ನು ಅಂಗೀಕರಿಸುತ್ತದೆ. ಯಾವುದೇ ಇತರ ಫಲಿತಾಂಶದಲ್ಲಿ (2xx ಅಲ್ಲದ,
ಸಂಪರ್ಕ ದೋಷ, ಸಮಯ ಮೀರಿಕೆ) ನಾವು ಮೊದಲ ಪ್ರಯತ್ನದ ನಂತರ 1 ನಿಮಿ, 5 ನಿಮಿ, 30 ನಿಮಿ, 2 ಗಂ, 6 ಗಂ,
12 ಗಂ ಮತ್ತು 24 ಗಂ ಸಮಯಗಳಲ್ಲಿ ಮರುಪ್ರಯತ್ನಿಸುತ್ತೇವೆ — 24 ಗಂಟೆಗಳ
ಅವಧಿಯಲ್ಲಿ 8 ಪ್ರಯತ್ನಗಳು. ಪ್ರತಿಯೊಂದು ಪ್ರಯತ್ನವೂ ವಿಫಲವಾದರೆ, ವಿತರಣೆಯು ನಿಲ್ಲುತ್ತದೆ ಮತ್ತು ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ
ವೆಬ್ಹುಕ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು ನಲ್ಲಿ status="failing" ಎಂದು
ಗುರುತಿಸಲಾಗುತ್ತದೆ. ಪೇಲೋಡ್ ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ಸ್ವೀಕರಿಸಿದ ತಕ್ಷಣ 2xx ಹಿಂತಿರುಗಿಸಿ;
ಅಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿ.
ಕ್ರಮಬದ್ಧತೆ
ವಿತರಣೆಯ ಕ್ರಮಬದ್ಧತೆಯು ಅತ್ಯುತ್ತಮ-ಪ್ರಯತ್ನ ಆಧಾರಿತವಾಗಿದೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಈವೆಂಟ್ಗಳನ್ನು
ಹೊರಸೂಸುವ ಕ್ರಮದಲ್ಲಿಯೇ ನಾವು ವಿತರಿಸುತ್ತೇವೆ, ಆದರೆ ವಿಫಲವಾದಾಗ ಮರುಪ್ರಯತ್ನಗಳು ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸಬಹುದು.
ಯಾವಾಗಲೂ call_id / ಆಬ್ಜೆಕ್ಟ್ ಐಡಿ ಮೂಲಕ ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಿ ಮತ್ತು ಹೊಂದಾಣಿಕೆ ಮಾಡಿ.
ನಕಲುಗಳು
ವಿತರಣೆಯು ಕನಿಷ್ಠ-ಒಮ್ಮೆ ಆಗಿರುತ್ತದೆ: ನಾವು ನೋಡದ ಪ್ರತಿಕ್ರಿಯೆಯ ನಂತರದ
ಮರುಪ್ರಯತ್ನವು ಈವೆಂಟ್ನ ನಕಲನ್ನು ರಚಿಸಬಹುದು. ಪ್ರತಿ ಮರುಪ್ರಯತ್ನವೂ ಅದೇ
event_id ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ ಐಡಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ ಮತ್ತು ಪುನರಾವರ್ತನೆಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಿ. event_id
ಎಂಡ್ಪಾಯಿಂಟ್ಗಳ ನಡುವೆಯೂ ಹಂಚಲ್ಪಡುತ್ತದೆ — ಅದೇ ಈವೆಂಟ್ಗೆ ಚಂದಾದಾರರಾಗಿರುವ ಎರಡು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು
ಅದೇ event_id ಅನ್ನು ಪಡೆಯುತ್ತವೆ.
ಸಮಯ ಮೀರಿಕೆಗಳು
ಎಂಡ್ಪಾಯಿಂಟ್ ವಿತರಣೆಗಳು ಪ್ರತಿ ಪ್ರಯತ್ನಕ್ಕೆ 30 ಸೆ ಸಮಯ ಮೀರಿಕೆಯನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಲೆಗಸಿ
ಮಾರ್ಗದಲ್ಲಿ, ಲೈವ್ ಕರೆ ವರ್ತನೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ತಡೆಹಿಡಿಯುವ ವಿನಂತಿಗಳು —
telephony.incoming / web.incoming
ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯ — 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 |
| ಸೀಕ್ರೆಟ್ ರೊಟೇಶನ್ | ಏಕೈಕ ಸೀಕ್ರೆಟ್ ಅನ್ನು ಬದಲಿಸುತ್ತದೆ | ಪ್ರತಿ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಸೀಕ್ರೆಟ್ |
| ಅಳಿಸದೆ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ | {"url": ""} ಜೊತೆಗೆ PUT /v1/webhook | status=disabled |
| ಸ್ಥಿತಿ ಗೋಚರತೆ | — | active / disabled / failing |
| ತಡೆಹಿಡಿಯುವ ಕಾನ್ಫಿಗರೇಶನ್ ವಿನಿಮಯ | ಹೌದು (telephony.incoming / web.incoming) | ಎಂದಿಗೂ ಅಲ್ಲ — ಅಧಿಸೂಚನೆಗಳು ಮಾತ್ರ |
| ಇದಕ್ಕೆ ಉತ್ತಮ | ಡೈನಾಮಿಕ್ ಕರೆ ಕಾನ್ಫಿಗರೇಶನ್ | ಉತ್ಪಾದನೆಯಲ್ಲಿ ಈವೆಂಟ್ ಬಳಕೆ |
ಹೊಸ ಇಂಟಿಗ್ರೇಶನ್ಗಳು ಎಂಡ್ಪಾಯಿಂಟ್-ಆಧಾರಿತ ವೆಬ್ಹುಕ್ಗಳ ಮೂಲಕ ಈವೆಂಟ್ಗಳನ್ನು ಬಳಸಬೇಕು. ಕರೆ ಸ್ವೀಕರಿಸುವ ಸಮಯದಲ್ಲಿ ಕರೆಗಳನ್ನು ಡೈನಾಮಿಕ್ ಆಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದರೆ ಅಥವಾ ವೆಬ್ಹುಕ್-ಮೋಡ್ ಟೂಲ್ ಡಿಸ್ಪ್ಯಾಚ್ ಬಳಸಿದರೆ ಮಾತ್ರ ಲೆಗಸಿ URL ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ (ಅಥವಾ ಸೇರಿಸಿ) — ಆ ವಿನಂತಿ/ಪ್ರತಿಕ್ರಿಯೆ ವಿನಿಮಯಗಳು ಲೆಗಸಿ ಮಾರ್ಗದಲ್ಲಷ್ಟೇ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ಸಂಬಂಧಿತ
ಎಲ್ಲಾ ಈವೆಂಟ್ ಪ್ರಕಾರಗಳು ಮತ್ತು ಅವುಗಳ ಪೇಲೋಡ್ಗಳು.
ಬಹು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು, ಈವೆಂಟ್ ಫಿಲ್ಟರ್ಗಳು ಮತ್ತು ಸೀಕ್ರೆಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸಿ.
ಕರೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿಮ್ಮ ಸರ್ವರ್ ಉತ್ತರಿಸಬೇಕಾದ ತಡೆಹಿಡಿಯುವ ವಿನಂತಿ.
ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್, ರೆಕಾರ್ಡಿಂಗ್ ಮತ್ತು ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ ಕರೆ-ನಂತರದ ಪೇಲೋಡ್.