Open in
ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਕਰੋ (API)
ਆਪਣੇ ਕੋਡ ਤੋਂ AI-ਚਲਿਤ ਆਊਟਬਾਊਂਡ ਕਾਲ ਟ੍ਰਿਗਰ ਕਰੋ — ਸਰਵੇਖਣ, ਫਾਲੋ-ਅੱਪ ਜਾਂ ਪੁਸ਼ਟੀਕਰਨ ਫਲੋਜ਼ ਲਈ।
ਆਊਟਬਾਊਂਡ ਕਾਲਿੰਗ ਤੁਹਾਨੂੰ ਇੱਕ ਮੰਜ਼ਿਲ ਨੰਬਰ ਅਤੇ ਏਜੰਟ ਕੰਫਿਗਰੇਸ਼ਨ ThunderPhone ਨੂੰ ਦੇਣ ਦਿੰਦੀ ਹੈ, ਤਾਂ ਜੋ AI ਤੁਹਾਡੀ ਤਰਫ਼ੋਂ ਕਾਲ ਕਰੇ। ਆਮ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ:
- ਅਪਾਇੰਟਮੈਂਟ ਪੁਸ਼ਟੀਆਂ
- ਸਰਵੇ ਕਾਲਬੈਕ
- ਮਿਸ ਹੋਈ ਕਾਲ ਤੋਂ ਬਾਅਦ "ਦੂਜੀ ਕੋਸ਼ਿਸ਼" ਫਾਲੋ-ਅੱਪ
- ਡਿਸਪੈਚ-ਸ਼ੈਲੀ ਸੂਚਨਾਵਾਂ
ਪੂਰਵ-ਲੋੜਾਂ
- ਆਊਟਬਾਊਂਡ-ਸਮਰੱਥ ਨੰਬਰ ਚੁਣੋ
ਆਪਣੇ ਮਲਕੀਅਤ ਵਾਲੇ ਨੰਬਰ ਨੂੰ VoIP ਕਨੈਕਸ਼ਨ ਰਾਹੀਂ ਵਰਤੋ, ਜਾਂ Phone Numbers ਪੰਨੇ ਤੋਂ ਆਪਣੇ ThunderPhone ਨੰਬਰਾਂ ਨੂੰ ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਲਈ ਵਰਤਣ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗੋ। ThunderPhone ਨੰਬਰ ਸ਼ੁਰੂ ਵਿੱਚ ਸਿਰਫ਼ ਇਨਬਾਊਂਡ ਹੁੰਦੇ ਹਨ। ThunderPhone ਹਰ ਬੇਨਤੀ ਦੀ ਹੱਥੋਂ ਸਮੀਖਿਆ ਕਰਦਾ ਹੈ; ਮਨਜ਼ੂਰੀ ਮਿਲਣ ਤੋਂ ਬਾਅਦ, ਉਹ ਨੰਬਰ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਰੋਜ਼ਾਨਾ ਸੀਮਾ ਤੱਕ ਕਾਲਾਂ ਕਰ ਸਕਦੇ ਹਨ (ਜੋ 00:00 UTC 'ਤੇ ਰੀਸੈੱਟ ਹੁੰਦੀ ਹੈ) ਅਤੇ ਕੈਂਪੇਨ ਚਲਾ ਸਕਦੇ ਹਨ, ਅਤੇ ਤੁਸੀਂ ਵੱਧ ਸੀਮਾ ਦੀ ਬੇਨਤੀ ਕਰ ਸਕਦੇ ਹੋ। ਗਾਹਕ ਦੇ VoIP ਨੰਬਰਾਂ ਲਈ ਕੋਈ ਰੋਜ਼ਾਨਾ ਸੀਮਾ ਨਹੀਂ ਹੁੰਦੀ, ਇਸ ਲਈ ਅਸੀਂ ਆਊਟਬਾਊਂਡ ਕਾਲਿੰਗ ਲਈ ਉਹਨਾਂ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦੇ ਹਾਂ। ਵੇਖੋ ਆਪਣੇ ਨੰਬਰ ਲਿਆਓ।
- ਏਜੰਟ ਬਣਾਓ
ਆਊਟਬਾਊਂਡ-ਅਨੁਕੂਲ prompt ਆਮ ਤੌਰ 'ਤੇ ਏਜੰਟ ਵੱਲੋਂ ਆਪਣੀ ਪਛਾਣ ਅਤੇ ਮਕਸਦ ਦੱਸਣ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ — "Hi, this is Acme calling to confirm your appointment for tomorrow at 3pm…"
outbound_speak_orderਨੂੰagent_first(ਡਿਫਾਲਟ) 'ਤੇ ਸੈੱਟ ਕਰੋ। - ਸਕਾਰਾਤਮਕ ਬਕਾਇਆ ਬਣਾਈ ਰੱਖੋ
ਜੇ ਬਕਾਇਆ ≤
$0.00ਹੈ, ਤਾਂ ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ402 Payment Requiredਵਾਪਸ ਕਰਦੀਆਂ ਹਨ। ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ Organization → Billing Settings ਹੇਠ ਬਕਾਇਆ ਭਰੋ ਜਾਂ ਆਟੋ-ਰੀਲੋਡ ਚਾਲੂ ਕਰੋ। ਤੁਹਾਡੀsk_live_ਕੀ ਇਸ ਰਾਹੀਂ ਬਕਾਇਆ ਜਾਂਚ ਸਕਦੀ ਹੈGET /v1/billing, ਪਰ ਬਕਾਇਆ ਨਹੀਂ ਭਰ ਸਕਦੀ ਜਾਂ ਆਟੋ-ਰੀਲੋਡ ਨਹੀਂ ਬਦਲ ਸਕਦੀ।
ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਏਜੰਟ ਨਾਲ ਕਾਲ ਕਰੋ
ਸਭ ਤੋਂ ਆਸਾਨ ਤਰੀਕਾ — id ਨਾਲ ਏਜੰਟ ਦਾ ਹਵਾਲਾ ਦਿਓ:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12
}'ਜਵਾਬ:
{ "call_id": 987654321, "status": "initiated" }ਇਨਲਾਈਨ ਕੰਫਿਗ ਨਾਲ ਕਾਲ ਕਰੋ
ਜੇ ਤੁਹਾਨੂੰ ਇੱਕ-ਵਾਰ ਵਰਤੋਂ ਵਾਲਾ prompt ਚਾਹੀਦਾ ਹੈ ਜਿਸਨੂੰ ਏਜੰਟ ਵਜੋਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਲਾਭਕਾਰੀ ਨਹੀਂ,
ਤਾਂ ਇਸ ਦੀ ਬਜਾਏ config ਪਾਸ ਕਰੋ। ਇਸਦਾ ਰੂਪ
call.incoming webhook
ਦੇ ਜਵਾਬ ਸਕੀਮਾ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ:
curl -X POST https://api.thunderphone.com/v1/call \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_number": "+15551234567",
"to_number": "+14155552671",
"config": {
"prompt": "You are confirming Jane Doe appointment for 3pm tomorrow…",
"voice": "john",
"product": "spark"
}
}'ਕਾਲ ਨੂੰ ਟ੍ਰੈਕ ਕਰੋ
ਇਸਦੇ ਨਾਲ ਹੀ,
telephony.complete webhook ਨੂੰ ਸਬਸਕ੍ਰਾਈਬ ਕਰੋ —
ਕਾਲ ਮੁਕੰਮਲ ਹੋਣ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦਾ ਸਭ ਤੋਂ ਤੇਜ਼ ਤਰੀਕਾ। ਜੇ ਤੁਸੀਂ ਇਨਬਾਊਂਡ
ਵੈੱਬਹੁੱਕ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਤਾਂ ਹਰ ਕੁਝ ਸਕਿੰਟਾਂ ਬਾਅਦ GET /v1/calls/{call_id} ਨੂੰ
ਪੋਲ ਕਰੋ; ਕਾਲ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰਿਕਾਰਡ ਵਿੱਚ end_reason, duration_seconds,
ਅਤੇ ਰਿਕਾਰਡਿੰਗ URL ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
ਜੇ ਤੁਹਾਡਾ ਏਜੰਟ ਕਾਲ ਤੋਂ ਬਾਅਦ ਸੰਰਚਿਤ ਡਾਟਾ ਕੱਢਣ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਫਾਈਨਲਾਈਜ਼ੇਸ਼ਨ ਮੁਕੰਮਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਉਹ ਡਾਟਾ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਡਿਲੀਵਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਸੇਵ ਕੀਤੇ ਏਜੰਟ ਨੂੰ ਪ੍ਰਤੀ-ਕਾਲ ਵੇਰੀਏਬਲ ਭੇਜੋ
ਸੇਵ ਕੀਤੇ ਏਜੰਟ prompt ਟੈਕਸਟ ਵਿੱਚ {{name}} ਜਾਂ {{name|there}} ਵਰਗੇ ਪਲੇਸਹੋਲਡਰ ਵਰਤ ਸਕਦੇ ਹਨ।
ਜਦੋਂ ਤੁਸੀਂ agent_id ਨਾਲ ਆਊਟਬਾਊਂਡ ਕਾਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਉਸ ਕਾਲ ਲਈ ਮੁੱਲਾਂ ਦੇ ਨਾਲ
variables ਭੇਜੋ:
{
"from_number": "+[REDACTED_PHONE]",
"to_number": "+[REDACTED_PHONE]",
"agent_id": 12,
"variables": {
"name": "Jordan"
}
}ਪਲੇਸਹੋਲਡਰ ਨਾਮ ਨਾਲ ਕੁੰਜੀਬੱਧ ਸਟ੍ਰਿੰਗ ਮੁੱਲ ਵਰਤੋ। ਇਹ ਵੇਰੀਏਬਲ ਸੇਵ ਕੀਤੇ
ਏਜੰਟਾਂ 'ਤੇ ਲਾਗੂ ਹੁੰਦੇ ਹਨ; ਇਸ ਗਾਈਡ ਦਾ ਇਨਲਾਈਨ config ਉਦਾਹਰਨ ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦਾ।
ਸੰਭਾਲਣ ਯੋਗ ਅਸਫਲਤਾ ਸਥਿਤੀਆਂ
| ਗਲਤੀ | ਹੱਲ |
|---|---|
402 Payment Required | ਬੈਲੰਸ ਵਿੱਚ ਰਕਮ ਸ਼ਾਮਲ ਕਰੋ ਜਾਂ ਆਟੋ-ਰੀਲੋਡ ਚਾਲੂ ਕਰੋ |
400 ਨਾਲ code: destination_not_allowed | ThunderPhone ਉਸ ਨੰਬਰ 'ਤੇ ਕਾਲ ਨਹੀਂ ਕਰਦਾ: ਅਵੈਧ ਨੰਬਰ, ਐਮਰਜੈਂਸੀ ਨੰਬਰ, ਪ੍ਰੀਮੀਅਮ-ਰੇਟ ਨੰਬਰ, ਛੋਟੇ ਕੋਡ ਜਾਂ ਪਾਬੰਦੀਸ਼ੁਦਾ ਦੇਸ਼। ThunderPhone ਨੰਬਰਾਂ ਤੋਂ ਸਿਰਫ਼ ਆਮ US ਅਤੇ ਕੈਨੇਡੀਅਨ ਨੰਬਰਾਂ 'ਤੇ ਕਾਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ (ਪ੍ਰੀਮੀਅਮ-ਰੇਟ ਨਹੀਂ)। reason ਦੱਸਦਾ ਹੈ ਕਿ ਕਿਹੜਾ; ਬਲੌਕ ਕੀਤੀਆਂ ਮੰਜ਼ਿਲਾਂ ਵੇਖੋ |
ThunderPhone ਨੰਬਰ ਲਈ retryable: false ਨਾਲ 409 | code ਦੀ ਪਾਲਣਾ ਕਰੋ: ਫੋਨ ਨੰਬਰਾਂ ਪੰਨੇ 'ਤੇ ਆਊਟਬਾਊਂਡ ਕਾਲਿੰਗ ਦੀ ਬੇਨਤੀ ਕਰੋ, ਲੰਬਿਤ ਸਮੀਖਿਆ ਦੀ ਉਡੀਕ ਕਰੋ ਜਾਂ ਕੋਈ ਹੋਰ ਯੋਗ ਨੰਬਰ ਵਰਤੋ |
429 ਨਾਲ code: platform_outbound_daily_limit_reached | ਸੰਸਥਾ ਨੇ ਅੱਜ ThunderPhone ਨੰਬਰਾਂ ਤੋਂ ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਲਈ ਹੈ। resets_at (00:00 UTC) ਤੱਕ ਉਡੀਕ ਕਰੋ, ਫੋਨ ਨੰਬਰਾਂ ਪੰਨੇ 'ਤੇ ਵੱਧ ਸੀਮਾ ਦੀ ਬੇਨਤੀ ਕਰੋ ਜਾਂ ਆਪਣੇ VoIP ਕਨੈਕਸ਼ਨ ਦੇ ਨੰਬਰ ਤੋਂ ਕਾਲ ਕਰੋ |
429 ਨਾਲ code: concurrent_call_limit_reached | ਸੰਸਥਾ ਵਿੱਚ ਉੱਨੀਆਂ ਹੀ ਕਾਲਾਂ ਚੱਲ ਰਹੀਆਂ ਹਨ ਜਿੰਨੀ ਇਸਦੀ ਸਮਕਾਲੀ-ਕਾਲ ਸੀਮਾ ਹੈ (ਮੂਲ ਰੂਪ ਵਿੱਚ 20, ਜਿਸ ਵਿੱਚ ਇਨਬਾਊਂਡ, ਆਊਟਬਾਊਂਡ, ਵੈੱਬ ਅਤੇ ਟੈਸਟ ਕਾਲਾਂ ਸ਼ਾਮਲ ਹਨ)। Retry-After ਹੈਡਰ ਦੇ ਸਕਿੰਟਾਂ ਬਾਅਦ ਜਾਂ ਕਾਲ ਸਮਾਪਤ ਹੋਣ 'ਤੇ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ; ਸੀਮਾ ਵਧਾਉਣ ਲਈ support@thunderphone.com ਨੂੰ ਈਮੇਲ ਕਰੋ |
429 ਨਾਲ code: same_number_too_soon | ਤੁਸੀਂ 10 ਸਕਿੰਟ ਤੋਂ ਘੱਟ ਸਮਾਂ ਪਹਿਲਾਂ ਉਸੇ to_number ਨੂੰ ਕਾਲ ਕੀਤੀ ਸੀ। Retry-After ਹੈਡਰ ਦੇ ਸਕਿੰਟਾਂ ਬਾਅਦ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ |
ਗਾਹਕ ਦੇ VoIP ਨੰਬਰ ਲਈ retryable: false ਨਾਲ 409 | code ਦੁਆਰਾ ਦੱਸੀ ਸਥਿਤੀ ਠੀਕ ਕਰੋ; ਤਸਦੀਕ ਅਸਫਲ ਹੋਣ 'ਤੇ POST /v1/phone-numbers/{id}/verify-voip ਚਲਾਓ |
409 ਇਡੈਂਪੋਟੈਂਸੀ ਟਕਰਾਅ | ਕੁੰਜੀ ਨੂੰ ਸਿਰਫ਼ ਮੂਲ ਨਾਰਮਲਾਈਜ਼ਡ ਬੇਨਤੀ ਨਾਲ ਮੁੜ ਵਰਤੋ ਜਾਂ ਨਵੀਂ ਕੁੰਜੀ ਭੇਜੋ |
404 from_number is not registered to this organization | ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ from_number ਤੁਹਾਡੀ ਸੰਸਥਾ ਦੇ ਸਰਗਰਮ ਫੋਨ ਨੰਬਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। ਜੋ ਨੰਬਰ ਪਹਿਲਾਂ ਹੀ ਪ੍ਰੋਵਿਜ਼ਨ ਹੋ ਰਿਹਾ ਹੈ, ਅਸਫਲ ਹੈ, ਰਿਲੀਜ਼ ਹੋ ਰਿਹਾ ਹੈ ਜਾਂ ਰਿਲੀਜ਼ ਹੋ ਚੁੱਕਾ ਹੈ, ਉਹ ਵੀ ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ |
ਸਿਰਫ਼ detail ਫੀਲਡ ਨਾਲ 500 | ਕੋਈ ਆਊਟਬਾਊਂਡ ਟਰੰਕ ਕੌਂਫਿਗਰ ਨਹੀਂ ਹੈ। ਸਹਾਇਤਾ ਨਾਲ ਸੰਪਰਕ ਕਰੋ; ਇਹ ਨੰਬਰ-ਸਥਿਤੀ ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਠੀਕ ਕਰ ਸਕਦੇ ਹੋ |
502 Bad Gateway | ਅਸਥਾਈ SIP / LiveKit ਅਸਫਲਤਾ; ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਨਾ ਸੁਰੱਖਿਅਤ ਹੈ |
ਪੂਰੀ ਸਥਿਰ ਯੋਗਤਾ-ਕੋਡ ਸੂਚੀ ਅਤੇ ਦੋਵੇਂ 409 ਰਿਸਪਾਂਸ ਰੂਪਾਂ ਲਈ
ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਰੈਫਰੈਂਸ ਵੇਖੋ।
ਜੇ ਬੇਨਤੀ ਸਵੀਕਾਰ ਹੋਣ ਤੋਂ ਬਾਅਦ ਪਰ ਕਾਲ ਕੀਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਕੋਈ ਸਰਗਰਮ ਨੰਬਰ ਅਯੋਗ ਹੋ ਜਾਂਦਾ ਹੈ,
ਤਾਂ ਅੰਤਿਮ ਜਾਂਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਨਾ ਕੀਤੇ ਜਾ ਸਕਣ ਵਾਲਾ 409 ਪੇਲੋਡ ਵਾਪਸ ਕਰਦੀ ਹੈ।
ਹੋਲਡ ਸਮਾਂ ਨਿਯੰਤਰਿਤ ਕਰਨਾ
ਆਊਟਬਾਊਂਡ ਕਾਲਾਂ ਜੋ ਕਾਲ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਦੀ ਹੌਲੀ ਪ੍ਰਤੀਕਿਰਿਆ ਕਾਰਨ ਲੰਬੀਆਂ ਚਲਦੀਆਂ ਹਨ
(IVR ਟ੍ਰੀ, ਕਤਾਰਾਂ), ਨੂੰ max_hold_seconds ਨਾਲ ਸੀਮਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ:
{
"from_number": "+15551234567",
"to_number": "+14155552671",
"agent_id": 12,
"max_hold_seconds": 120
}ਜੇ ਪਿਛਲੇ N ਸਕਿੰਟਾਂ ਵਿੱਚ ਕੋਈ ਮਨੁੱਖੀ ਆਡੀਓ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਈ, ਤਾਂ ਏਜੰਟ ਕਾਲ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ। ਡਿਫੌਲਟ 900 ਸਕਿੰਟ (15 ਮਿੰਟ) ਹੈ।