Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Service Cloud Voice: 音声通話レコードの作成順序により NextCallId が意図しない値になる

公開日: Dec 25, 2025
説明

Service Cloud Voice において、転送先の音声通話レコードを作成する順序により、転送元の NextCallId が意図しない値になる場合があります。これは、ParentVoiceCallId の設定時に NextCallId が更新される動作に起因します。

解決策

Service Cloud Voice では、転送先の音声通話レコードを作成する際、ParentVoiceCallId 項目に転送元のレコード ID を設定します。

 

▼ ご参考:Create a Voice Call Record | Service Cloud Voice Implementation Guide | Salesforce Developers
https://developer.salesforce.com/docs/atlas.en-us.voice_developer_guide.meta/voice_developer_guide/voice_rest_voicecalls_create.htm
---抜粋---
parentVoiceCallId
For transfers, set this value to a Salesforce Voice Call record ID or the voice call’s vendor call key (vendorCallKey) representing the parent record to this newly created voice call record.
----------

 

転送先レコードの ParentVoiceCallId が設定されると、自動的に親(転送元)レコードの NextCallId 項目が、新しく作成された転送先のレコードの ID に更新されます。

Lambda 関数などを使用して実装する場合、レコードが作成される順序が実際の通話フローと異なると、NextCallId の値が最後に作成されたレコードによって上書きされ、予期しない値になる可能性があります。

 

例えば、以下のような順序で処理が行われるケースを想定します。

  1. エージェント1に着信し、音声通話レコード (VC1) が作成される。
  2. VC1を、エージェント1からエージェント2に転送し、音声通話レコード (VC2) が作成される(親は VC1)。
  3. VC1を、エージェント1からエージェント3に転送し、音声通話レコード (VC3) が作成される(親は VC1)。

このフローにおいて、本来は最後に発生した転送 (VC3) の ID が VC1 の NextCallId に設定されるのが理想的です。

しかし、フローの実装などで、VC2 の作成順序が保証されず、VC3 よりも後に作成されてしまう場合があります。

このとき、最後に作成された VC2 が ParentVoiceCallId を VC1 に指定して保存されるる状態になります。

この結果、最終的に VC1 の NextCallId が VC2 に上書きされてしまい、意図しないレコード(フロー上は古い転送先である VC2)を指す状態になります。

 

この事象を回避し、NextCallId に正しい値を保持させるには、以下の対策を行ってください。

  • 通話の転送がされたタイミングで、確実に音声通話レコードを作成する。

  • 音声通話レコードの作成順序を確実に制御し、実際の通話フローの順序と一致させる。

ナレッジ記事番号

005237101

 
読み込み中
Salesforce Help | Article