メインコンテンツにスキップ

ユーザーIDの理解と管理

Intercom IDとカスタムuser_idの違いを学び、正確な顧客データと識別を確保するためのベストプラクティスに従いましょう。

対応者:Dawn

ユーザーIDの理解と管理

顧客を効果的に管理するために、Intercomは2種類のIDを使用します:Intercom IDとuser_id。これらがどのように連携するかを理解することは、データの整合性を保ち、正確な顧客識別を確実にするために不可欠です。

Intercom ID

Intercom IDは、当社のシステムが各顧客レコードに自動的に生成する識別子です。このIDは一定で変更できません。APIでは、しばしばcontact_idと呼ばれます。

カスタムuser_id(外部ID)

user_idは、独自のデータベースの主キーや一意のIDに合わせて設定できるカスタマイズ可能な識別子です。Intercomを外部システムと統合する柔軟な方法を提供し、API経由で更新可能です。


ユーザーID管理のベストプラクティス

これらのベストプラクティスに従うことで、重複レコードや会話の統合などの一般的なデータ問題を回避できます。

一意で一貫した識別子を割り当てる

各顧客に対して常に一意のuser_idを割り当てるべきで、通常は独自のデータベースレコードの主キーです。特定の顧客の将来のすべてのやり取りやプロフィール更新に同じuser_idを使用することが重要です。

同じメールアドレスに対して異なるuser_idを渡すことは避けてください。これにより重複した顧客レコードが作成されます。

重要:

  • 一貫性のないまたは重複するuser_idを使用すると、アカウント間のログインや異なる顧客間の会話の統合など、深刻なデータ整合性の問題が発生します。

  • -1はIntercomのシステムで内部目的のために予約されており、user_idとして使用してはいけません。この値を使用すると、会話が誤って別のユーザープロフィールに関連付けられるなどの予期しない動作が発生する可能性があります。user_idとして-1を使用する場合、それはしばしばデフォルトまたはプレースホルダー値として使われます。つまり、ユーザーがこれを持っている場合、それはもはや一意ではなく問題を引き起こす可能性があります。

マルチテナント環境でグローバルに一意なuser_idを使用する

Intercomに送信されるuser_idの値は、ワークスペース全体でグローバルに一意でなければなりません。複数のテナントや組織が同じIntercomワークスペースを共有するマルチテナント環境では、単一テナント内でのみ一意なuser_idはテナント間で衝突し、別々の顧客が同じIntercom連絡先レコードに統合される可能性があります。

これを防ぐために、user_idの値にテナント識別子を接頭辞として付けてからIntercomに送信してください。例えば、「user_123」を送信する代わりに「tenant_abc:user_123」を送信します。

注意: JWT認証を有効にすることも、ユーザーレコードの衝突を防ぎ、安全な識別を確保するために必要です。これがないと、悪意のある者が他のユーザーのuser_idを使ってなりすまし、不正アクセスや会話履歴、ワークスペースデータへのアクセスを引き起こす可能性があります。グローバルに一意なuser_idは偶発的なレコード統合を防ぎ、JWT認証は意図的ななりすましを防ぎます。

デフォルトまたはプレースホルダー値の使用を避ける

「undefined」などのデフォルト値を割り当てたり、複数の顧客で同じuser_idを使用したりしないでください。これによりデータエラーが発生し、個々の顧客を正しく識別できなくなります。

user_idのバックフィルまたは更新

以前に不明なuser_idを持っていた顧客レコードを更新する必要がある場合、後で正しい識別子を追加できます。

プロのヒント:独自のデータベースを参照して正しいuser_idを見つけ、CSVインポートやAPIを使ってIntercomの顧客レコードを更新できます。


APIでのユーザーID管理

IntercomのAPIを使って、顧客ID管理のためのいくつかの主要な操作を実行できます。詳細はDeveloper Hubをご覧ください。

連絡先の取得、更新、検索


JWT認証による正確な識別の確保

ログインした顧客の堅牢な認証を確保するために、JSON Web Token(JWT)ペイロードのuser_idにはデータベースの主キーを使用するのがベストプラクティスです。

顧客を識別するためにメールアドレスしかない場合は、JWTペイロードのuser_idとemail属性の両方に顧客のメールアドレスを設定してください。


一般的なuser IDエラーのトラブルシューティング

カスタムuser_idのアーカイブ

カスタムuser_id属性をアーカイブすると、デフォルトのIntercom user_idフィールドは自動的にそのデータで更新されません。レコードを更新するには手動でのバックフィルが必要です。

重複レコードの処理

user_idとメールの不一致による重複レコードが見つかった場合は、手動またはAPIを使ってレコードをマージまたは削除し、クリーンアップする必要があります。

カスタムIDからデフォルトIDへの切り替え

ユーザーデータベースフィールドを更新する必要がある場合は、開発者に相談してIntercom APIの使用方法を確認するか、CSVインポートのワークフローを利用してください。

こちらの回答で解決しましたか?