ThunderPhone 2.0 ਹੁਣ ਲਾਈਵ ਹੈ।ਖੁਦ ਸੈਟਅੱਪ ਕਰੋ—2¢/ਮਿੰਟ ਤੋਂ।ਐਲਾਨ ਪੜ੍ਹੋ

Developer cookbook

ਹਰ ਕਾਲ ਲਈ ਵੇਰੀਏਬਲ

ਡਿਪਲੌਇ ਕੀਤੇ prompt, ਟੂਲਾਂ ਜਾਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲੇ ਬਿਨਾਂ ਹਰ ਕਾਲ ਲਈ ਸੇਵ ਕੀਤੇ ਏਜੰਟ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਓ।

ਆਪਣੇ ਸੇਵ ਕੀਤੇ ਏਜੰਟ ਦੇ prompt ਵਿੱਚ ਪਲੇਸਹੋਲਡਰ ਰੱਖੋ, ਫਿਰ ਕਾਲ ਸ਼ੁਰੂ ਕਰਨ ਵੇਲੇ ਇੱਕ variables ਆਬਜੈਕਟ ਦਿਓ। ਸੇਵ ਕੀਤਾ ਕਨਫਿਗਰੇਸ਼ਨ ਅਤੇ ਵਰਜਨ ਇਤਿਹਾਸ ਬਿਨਾਂ ਤਬਦੀਲੀ ਦੇ ਰਹਿੰਦੇ ਹਨ। ThunderPhone ਕਾਲ ਕਨਫਿਗਰੇਸ਼ਨ ਨੂੰ ਵੌਇਸ ਰਨਟਾਈਮ ਨੂੰ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਟੈਕਸਟ ਰੈਂਡਰ ਕਰਦਾ ਹੈ।

ਜਦੋਂ ਕਿਸੇ ਮੁੱਲ ਦੀ ਲੋੜ ਨਾ ਹੋਵੇ, variables ਛੱਡ ਦਿਓ, null ਨਾ ਭੇਜੋ (400 ਨਾਲ ਅਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ)।

ਪਲੇਸਹੋਲਡਰ ਅਤੇ ਡਿਫਾਲਟ

You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.

ਨਾਂ ਕੇਸ-ਸੰਵੇਦਨਸ਼ੀਲ ਹੁੰਦੇ ਹਨ ਅਤੇ [A-Za-z_][A-Za-z0-9_]* ਦਾ ਪਾਲਣ ਕਰਦੇ ਹਨ। ਨਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਖਾਲੀ ਥਾਂ ਦੀ ਇਜਾਜ਼ਤ ਹੈ; | ਤੋਂ ਬਾਅਦ ਦੀ ਖਾਲੀ ਥਾਂ ਡਿਫਾਲਟ ਦਾ ਹਿੱਸਾ ਹੁੰਦੀ ਹੈ ਅਤੇ ਸੰਭਾਲੀ ਜਾਂਦੀ ਹੈ। ਜਦੋਂ name ਮੌਜੂਦ ਨਾ ਹੋਵੇ ਜਾਂ null ਹੋਵੇ ਤਾਂ {{name|Friend}}, Friend ਵਰਤਦਾ ਹੈ; ਖਾਲੀ ਸਟਰਿੰਗ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦਿੱਤਾ ਗਿਆ ਮੁੱਲ ਹੈ। ਡਿਫਾਲਟ ਤੋਂ ਬਿਨਾਂ ਗੁੰਮ ਮੁੱਲ ਖਾਲੀ ਸਟਰਿੰਗ ਬਣ ਜਾਂਦੇ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਨਾਂ unresolved_variables ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ। ਦੋਹਰੇ ਬਰੇਸਾਂ ਦੇ ਵਿਚਕਾਰ ਵਾਲਾ ਟੈਕਸਟ ਜੋ ਵੈਧ ਪਲੇਸਹੋਲਡਰ ਨਹੀਂ ਹੈ, ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਦੋਹਰੇ ਬਰੇਸਾਂ ਵਾਲਾ ਟੈਕਸਟ ਹਰ ਦਿੱਤੇ ਗਏ ਮੁੱਲ ਦੇ ਅੰਦਰ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਹਟਾਇਆ ਜਾਂਦਾ ਹੈ; ਕੋਈ ਮੁੱਲ ਆਲੇ-ਦੁਆਲੇ ਦੇ prompt ਟੈਕਸਟ ਜਾਂ ਕਿਸੇ ਹੋਰ ਮੁੱਲ ਨੂੰ ਹਟਾ ਨਹੀਂ ਸਕਦਾ। ਬੇਜੋੜ ਦੋਹਰੇ-ਬਰੇਸ ਡਿਲਿਮਟਰ ਵੀ ਹਟਾ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ। prompt ਵਿੱਚ JSON ਉਦਾਹਰਨਾਂ ਵਿੱਚ {{ ਨਹੀਂ ਵਰਤਣਾ ਚਾਹੀਦਾ। ਮੁੱਲ ਸਾਦਾ ਟੈਕਸਟ ਹੁੰਦੇ ਹਨ, ਕਦੇ ਵੀ ਕੋਡ ਵਜੋਂ ਮੁਲਾਂਕਣ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ ਨਾ ਹੀ ਟੈਂਪਲੇਟਾਂ ਵਜੋਂ ਰਿਕਰਸਿਵ ਤੌਰ 'ਤੇ ਫੈਲਾਏ ਜਾਂਦੇ ਹਨ।

ਵੇਰੀਏਬਲ ਪੁਸ਼ਟੀਕਰਨ promptਾਂ, ਆਊਟਬਾਊਂਡ ਵੌਇਸਮੇਲ ਸੁਨੇਹਿਆਂ ਅਤੇ ਸਹਿਮਤੀ ਘੋਸ਼ਣਾ ਟੈਕਸਟ ਵਿੱਚ ਵੀ ਦਿਖਾਈ ਦੇ ਸਕਦੇ ਹਨ ਜਦੋਂ ਉਹ ਫੀਲਡ ਫੋਨ ਕਾਲ ਲਈ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਏਜੰਟ ਕੋਲ ਵੱਖਰਾ first_message ਫੀਲਡ ਨਹੀਂ ਹੈ: ਇਸ ਦੀਆਂ ਸ਼ੁਰੂਆਤੀ ਹਦਾਇਤਾਂ prompt ਵਿੱਚ ਰੱਖੋ। ਮੌਜੂਦਾ ਵੌਇਸਮੇਲ {agent_name} ਅਤੇ {org_name} ਪਲੇਸਹੋਲਡਰ ਕੰਮ ਕਰਦੇ ਰਹਿੰਦੇ ਹਨ।

ਮੁੱਲ ਸਟਰਿੰਗਾਂ, ਨੰਬਰ, ਬੂਲੀਅਨ ਜਾਂ null ਹੋ ਸਕਦੇ ਹਨ; ਬੂਲੀਅਨ true ਅਤੇ false ਵਜੋਂ ਰੈਂਡਰ ਹੁੰਦੇ ਹਨ। ਨਿਊਲਾਈਨ (\n), ਟੈਬ (\t), ਅਤੇ ਕੈਰਿਜ ਰਿਟਰਨ (\r) ਤੋਂ ਇਲਾਵਾ ਯੂਨੀਕੋਡ ਕੰਟਰੋਲ (Cc) ਅੱਖਰ, ਸਾਰੇ ਫਾਰਮੈਟ (Cf) ਅੱਖਰ, ਅਤੇ ਸਰੋਗੇਟ (Cs) ਕੋਡ ਪੁਆਇੰਟ ਹਟਾ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ; \r\n ਨੂੰ \n ਵਿੱਚ ਨੌਰਮਲਾਈਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਰੈਂਡਰ ਹੋਣ ਵੇਲੇ ਹਰ ਮੁੱਲ 2,000 ਅੱਖਰਾਂ ਤੱਕ ਸੀਮਿਤ ਹੁੰਦਾ ਹੈ। ਦਿੱਤੀਆਂ ਸਟਰਿੰਗਾਂ ਨੂੰ ਸਟੋਰੇਜ ਤੋਂ ਪਹਿਲਾਂ ਵੀ ਸਾਫ਼ ਕੀਤਾ ਅਤੇ ਛੋਟਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਮੂਲ ਆਬਜੈਕਟ UTF-8 JSON ਦੇ 32 KB ਵਿੱਚ ਫਿੱਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ; ਵੱਡੇ ਆਬਜੈਕਟਾਂ ਨੂੰ ਕਾਲ/ਸੈਸ਼ਨ ਬੇਨਤੀਆਂ 'ਤੇ 400 ਮਿਲਦਾ ਹੈ, ਜਦਕਿ ਕੈਂਪੇਨ ਇੰਪੋਰਟ ਅਵੈਧ ਕਤਾਰਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਰਿਪੋਰਟ ਕਰਦੇ ਹਨ। ਐਰੇ ਅਤੇ ਨੇਸਟਡ ਆਬਜੈਕਟ ਮੁੱਲਾਂ ਵਜੋਂ ਸਵੀਕਾਰ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ। ਨਾ-ਮਿਲਦੀਆਂ ਮੈਟਾਡੇਟਾ ਕੀਜ਼ (ਉਦਾਹਰਨ ਲਈ, ਖਾਲੀ ਥਾਂ ਵਾਲਾ CSV ਹੈਡਰ) ਰੱਖੀਆਂ ਅਤੇ ਦੁਹਰਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ ਪਰ ਪਲੇਸਹੋਲਡਰ ਦੁਆਰਾ ਹਵਾਲਾ ਨਹੀਂ ਦਿੱਤਾ ਜਾ ਸਕਦਾ।

ਮੁੱਲ ਕਿੱਥੋਂ ਆਉਂਦੇ ਹਨ

ਆਉਟਬਾਊਂਡ API

POST /v1/call ਵਿੱਚ agent_id ਦੇ ਨਾਲ variables ਭੇਜੋ:

{
  "from_number": "+15551234567",
  "to_number": "+14155550199",
  "agent_id": 12,
  "variables": {
    "name": "Ada",
    "account_id": "A-17",
    "appointment_slot": "Tuesday at 10 AM"
  }
}

ਇਹ ਫ਼ੋਨ ਨੰਬਰ ਦੇ ਡਿਫੌਲਟ ਆਉਟਬਾਊਂਡ ਏਜੰਟ ਨਾਲ ਜਾਂ ਇਨਲਾਈਨ config.prompt ਨਾਲ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ। ਵੱਖਰੇ variables ਨਾਲ idempotency key ਨੂੰ ਦੁਬਾਰਾ ਵਰਤਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।

ਕੈਂਪੇਨ CSV

ਗੈਰ-ਫ਼ੋਨ CSV ਕਾਲਮ ਪਹਿਲਾਂ ਹੀ ਸੰਪਰਕ variables ਵਜੋਂ ਸਟੋਰ ਹੁੰਦੇ ਹਨ। ਹਰ ਡਾਇਲ ਹੁਣ ਉਹਨਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਵਰਤਦਾ ਹੈ। ਆਪਣੇ placeholders ਨਾਲ ਮੇਲ ਕਰਨ ਲਈ name, account_id, ਅਤੇ appointment_slot ਵਰਗੇ ਹੈਡਰ ਵਰਤੋ। ਮੌਜੂਦਾ ਨਾਮ ਮੈਪਿੰਗ ਪਹਿਲੇ ਅਤੇ ਆਖਰੀ ਨਾਮ ਦੇ ਕਾਲਮਾਂ ਨੂੰ name variable ਵਿੱਚ ਜੋੜ ਸਕਦੀ ਹੈ।

ਡਾਇਨਾਮਿਕ ਕੌਂਫਿਗਰੇਸ਼ਨ webhook

ਬਲੌਕਿੰਗ ਕੌਂਫਿਗਰੇਸ਼ਨ webhook ਪਾਥ ਉੱਤੇ, ਆਪਣੀ ਸੰਸਥਾ ਵਿੱਚੋਂ ਸੇਵ ਕੀਤਾ ਏਜੰਟ ਅਤੇ ਹਰ-ਕਾਲ ਦੇ ਮੁੱਲ ਵਾਪਸ ਕਰੋ:

{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}

ਜਵਾਬ ਦੀਆਂ keys ਬੇਨਤੀ-ਪੱਧਰ ਦੇ variables ਨੂੰ ਓਵਰਰਾਈਟ ਕਰਦੀਆਂ ਹਨ, ਜਦਕਿ ਬੇਨਤੀ ਦੀਆਂ ਹੋਰ keys ਕਾਇਮ ਰਹਿੰਦੀਆਂ ਹਨ। null ਦਾ ਜਵਾਬੀ ਮੁੱਲ placeholder ਦਾ ਡਿਫੌਲਟ ਚੁਣਦਾ ਹੈ। ਮਿਲਿਆ ਹੋਇਆ ਆਬਜੈਕਟ ਵੀ 32 KB ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਸੇਵ ਕੀਤੇ-ਏਜੰਟ ਦੇ ਜਵਾਬ ਸਿਰਫ਼ agent_id ਅਤੇ variables ਨੂੰ ਸਵੀਕਾਰਦੇ ਹਨ; ਜਦੋਂ ਤੁਹਾਨੂੰ prompt ਜਾਂ ਸੈਟਿੰਗਾਂ ਬਦਲਣੀਆਂ ਹੋਣ ਤਾਂ ਇਨਲਾਈਨ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਾਪਸ ਕਰੋ। prompt ਵਾਲਾ ਜਵਾਬ ਹਮੇਸ਼ਾ ਇਨਲਾਈਨ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਰਤਦਾ ਹੈ: ਉਸ ਜਵਾਬ ਵਿੱਚ ਕੋਈ ਵੀ agent_id ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ null ਜਾਂ ਗੈਰ-ਪੂਰਨ ਅੰਕ ਮੈਟਾਡਾਟਾ ਵੀ ਸ਼ਾਮਲ ਹੈ। ਇਨਲਾਈਨ prompt ਨੂੰ ਫਿਰ ਵੀ ਆਮ ਵੈਲੀਡੇਸ਼ਨ ਪਾਸ ਕਰਨੀ ਹੋਵੇਗੀ। ਇਨਲਾਈਨ webhook ਜਵਾਬਾਂ ਵਿੱਚ variables ਵੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ। ਸੇਵ ਕੀਤੇ-ਏਜੰਟ webhook ਜਵਾਬ ਫ਼ੋਨ ਅਤੇ ਵਿਜੇਟ ਦੋਵਾਂ ਕਾਲਾਂ ਉੱਤੇ ਏਜੰਟ ਦਾ ਡਿਪਲੌਇ ਕੀਤਾ A/B split ਵਰਤਦੇ ਹਨ; ਵੇਰੀਐਂਟ ਚੋਣ ਤੋਂ ਬਾਅਦ variables ਰੈਂਡਰ ਹੁੰਦੇ ਹਨ। ਇਨਬਾਊਂਡ ਫ਼ੋਨ ਕਾਲਾਂ ਉੱਤੇ, ਅਸਾਈਨ ਕੀਤਾ ਇਨਬਾਊਂਡ ਏਜੰਟ ਨਾ ਵਾਲਾ ਨੰਬਰ ਵਰਤੋ ਅਤੇ ਉਸਦਾ ਫ਼ੋਨ-ਨੰਬਰ ਜਾਂ ਸੰਸਥਾ webhook ਕੌਂਫਿਗਰ ਕਰੋ; ਵਿਜੇਟ keys mode="webhook" ਵਰਤਦੀਆਂ ਹਨ। ਐਂਡਪੌਇੰਟ-ਸਿਸਟਮ ਦੀਆਂ ਆਉਣ ਵਾਲੀਆਂ ਸੂਚਨਾਵਾਂ ਬਲੌਕਿੰਗ ਕੌਂਫਿਗਰੇਸ਼ਨ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦੀਆਂ।

ਵਿਜੇਟ ਅਤੇ Realtime ਸੈਸ਼ਨ APIs

POST /v1/widget/session ਉੱਪਰੀ-ਪੱਧਰ ਦਾ variables ਆਬਜੈਕਟ ਸਵੀਕਾਰਦਾ ਹੈ। ਇਸਦੀ publishable key ਸੇਵ ਕੀਤਾ ਏਜੰਟ ਚੁਣਦੀ ਹੈ। webhook-ਮੋਡ keys ਇਹ ਮੁੱਲ ਕੌਂਫਿਗਰੇਸ਼ਨ webhook ਨੂੰ ਅੱਗੇ ਭੇਜਦੀਆਂ ਹਨ ਅਤੇ ਜਵਾਬ ਨੂੰ ਉੱਪਰ ਦੱਸੇ ਅਨੁਸਾਰ ਮਿਲਾਉਂਦੀਆਂ ਹਨ। ਬਰਾਊਜ਼ਰ ਵੱਲੋਂ ਦਿੱਤੇ ਵਿਜੇਟ/realtime variables ਕਲਾਇੰਟ-ਨਿਯੰਤਰਿਤ ਹੁੰਦੇ ਹਨ, ਉੱਪਰ ਦੱਸੀ ਵੈਲੀਡੇਸ਼ਨ ਅਤੇ ਸਟ੍ਰਿੰਗ ਸਫ਼ਾਈ ਤੋਂ ਬਾਅਦ web.incoming ਵਿੱਚ ਬਿਨਾਂ ਬਦਲੇ ਅੱਗੇ ਭੇਜੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ completion webhooks ਅਤੇ ਕਾਲ ਹਿਸਟਰੀ ਵਿੱਚ ਦੁਹਰਾਏ ਜਾਂਦੇ ਹਨ। ਉਹਨਾਂ ਨੂੰ ਭਰੋਸੇਯੋਗ ਪਛਾਣ ਜਾਂ ਅਧਿਕਾਰਤਾ ਡਾਟਾ ਨਾ ਸਮਝੋ।

POST /v1/realtime/sessions, agent_id (ਜਾਂ ਇਨਲਾਈਨ config) ਦੇ ਨਾਲ variables ਸਵੀਕਾਰਦਾ ਹੈ। ਇਹ ਸੈਸ਼ਨ-ਬਣਾਉਣ ਵਾਲੇ API ਫ਼ੀਲਡ ਹਨ। Realtime WebSocket bridge variables ਵਿਕਲਪ ਅੱਗੇ ਨਹੀਂ ਭੇਜਦਾ; ਇਸਨੂੰ ਸਿੱਧਾ ਸੈਸ਼ਨ-ਬਣਾਉਣ ਵਾਲੇ API ਨੂੰ ਦਿਓ। ਵਿਜੇਟ ਕਲਾਇੰਟਾਂ ਨੂੰ ਪੋਸਟ ਕੀਤੇ ਸੈਸ਼ਨ ਪੇਲੋਡ ਵਿੱਚ variables ਸ਼ਾਮਲ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ; SDK ਫਾਰਵਰਡਿੰਗ ਇਸ API ਤਬਦੀਲੀ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹੈ। Builder ਮਾਈਕ ਅਤੇ ਸਿਮੂਲੇਟ ਕੀਤੀਆਂ ਟੈਸਟ ਕਾਲਾਂ ਡਿਫੌਲਟ ਅਤੇ ਗੁੰਮ placeholders ਦਾ ਹੱਲ ਕਰਦੀਆਂ ਹਨ, ਪਰ ਉਹਨਾਂ ਵਿੱਚ ਹਰ-ਕਾਲ variables ਇਨਪੁੱਟ ਨਹੀਂ ਹੁੰਦਾ।

ਕਾਲ ਤੋਂ ਬਾਅਦ ਵਾਪਸ ਕੀਤੇ ਮੁੱਲ

GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete, ਅਤੇ web.complete ਵਿੱਚ ਅੰਤਿਮ ਮਿਲੇ ਹੋਏ variables ਅਤੇ unresolved_variables ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ। ਪੁਰਾਣੇ completion payloads ਜਿਨ੍ਹਾਂ ਵਿੱਚ data.history ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ, ਉਹਨਾਂ ਵਿੱਚ ਵੀ ਇਹ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ:

{
  "variables": {"name": "Ada", "account_id": "A-17"},
  "unresolved_variables": ["appointment_slot"]
}

ਮੁਕੰਮਲ ਹੋਈ ਕਾਲ ਨੂੰ ਇਸਦੇ ਸਰੋਤ ਰਿਕਾਰਡ ਨਾਲ ਜੋੜਨ ਲਈ ਆਪਣਾ CRM ਜਾਂ ਟਾਸਕ ਪਛਾਣਕਰਤਾ variables ਆਬਜੈਕਟ ਵਿੱਚ ਸਟੋਰ ਕਰੋ। ਇਹ ਫ਼ੀਲਡ ਕਾਲ ਰਿਕਾਰਡ ਨਾਲ ਸੰਭਾਲੇ ਜਾਂਦੇ ਹਨ; ਸਿਰਫ਼ ਉਹ ਜਾਣਕਾਰੀ ਭੇਜੋ ਜੋ ਕਾਲ ਹਿਸਟਰੀ ਅਤੇ webhooks ਵਿੱਚ ਸੰਭਾਲਣ ਲਈ ਉਚਿਤ ਹੋਵੇ।

ਮੌਜੂਦਾ prompt ਅਨੁਕੂਲਤਾ

ਰੈਂਡਰਿੰਗ ਮੌਜੂਦਾ ਸੇਵ ਕੀਤੇ ਏਜੰਟ ਅਤੇ A/B ਵੈਰੀਐਂਟ promptਾਂ, ਇਨਲਾਈਨ ਆਊਟਬਾਊਂਡ ਅਤੇ ਰੀਅਲਟਾਈਮ ਕਨਫਿਗਰੇਸ਼ਨਾਂ, ਅਤੇ ਕਨਫਿਗਰੇਸ਼ਨ ਵੈੱਬਹੁੱਕਾਂ ਵੱਲੋਂ ਵਾਪਸ ਕੀਤੇ ਗਏ promptਾਂ 'ਤੇ ਵੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ। ਅਣਜਾਣ {{name}} ਪਲੇਸਹੋਲਡਰ ਖਾਲੀ ਟੈਕਸਟ ਬਣ ਜਾਂਦੇ ਹਨ, ਭਾਵੇਂ ਕੋਈ variables ਨਾ ਦਿੱਤੇ ਗਏ ਹੋਣ। ਰੋਲਆਊਟ ਤੋਂ ਪਹਿਲਾਂ ਮੌਜੂਦਾ promptਾਂ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਬਾਹਰੋਂ ਦਿੱਤੇ ਇਨਲਾਈਨ/ਵੈੱਬਹੁੱਕ prompt ਵੀ ਸ਼ਾਮਲ ਹਨ ਜਿਨ੍ਹਾਂ ਦੀ ThunderPhone ਸੂਚੀ ਤਿਆਰ ਨਹੀਂ ਕਰ ਸਕਦਾ। Builder ਮਾਈਕ ਅਤੇ ਸਿਮੂਲੇਸ਼ਨ ਕਾਲਾਂ ਉਹੀ ਡਿਫਾਲਟ/ਖਾਲੀ ਵਿਵਹਾਰ ਲਾਗੂ ਕਰਦੀਆਂ ਹਨ।