見出し画像

WeChatのID体系

WeChatエコシステム内にはいくつかの種類のIDが存在しています。
ここでは各IDの意味と用途について書きたいと思います。

IDの種類

WeChatに存在する各IDの名称と用途

WeChatIDと原始ID

個人がWeChatに登録すると自動的に「原始ID」が割り振られます。この原始IDはWeChatエコシステム内で一意にユーザーを特定する為のIDなのでユーザー側で勝手に変更する事は出来ません。
WeChatIDは登録時に(誰も使っていなければ)好きなIDを指定出来ます。原始IDと同様にWeChatエコシステム内で一意にユーザーを特定する為のIDなのですが、WeChatIDは1年に1回だけですがユーザーが自分で変更可能です。
しかし変更を本人が申請している事を証明する為に身分証のスキャン画像をアップロードする必要があります。手続きが面倒なのでこれを変更する人はまずいないと思います。
ちなみにWeChatには「ニックネーム」(アプリの表示上は「名前」)があり、チャットの際に主に相手に表示されるのはこのニックネームです。

自分のニックネームとWeChatIDは
アプリのプロフィール画面で確認・変更が可能

なお公式アカウントやミニプログラムがAPIで取得出来るフォロワーやユーザー情報に「WeChatID」は含まれません。プロフィール画像やニックネームは取得出来ますが、経験上中国人ユーザーはこの画像やニックネームを頻繁に変更するのでユーザーを特定する情報としてはあまり意味がありません。
公式アカウントやミニプログラムからWeChatユーザーを特定する為には後述する「OpenID」か「UnionID」を使う必要があります。

OpenID

OpenIDという名称ですが、OpenID財団のOIDCとは全く関係ありません。WeChatエコシステムでのOpenIDの定義を正確に記述するなら、

WeChatオフィシャルアカウントプラットフォームのアカウントごとにWeChatユーザーを一意に特定する為のID

となります。
WeChatIDのところで述べた通り、公式アカウントやミニプログラムは自分のフォロワーやユーザーのニックネームを取得出来ますが、ニックネームはユーザーが頻繁に変更してしまうのでユーザーを特定するユーザーIDとしては機能しません。
一方OpenIDはユーザーが変更する事が出来ない点で原始IDに近い存在です。その為ミニプログラムではユーザーIDとして利用する事が出来ますし、公式アカウントで自動応答のbotを実装したりする際などに相手を特定する為に利用出来ます。
原始IDとの違いは上記定義の通りWeChatオフィシャルアカウントプラットフォームのアカウントごとに一意という点です。
「WeChatオフィシャルアカウントプラットフォームのアカウント」とは、具体的には公式アカウントやミニプログラムアカウントを指します。
つまり同一のWeChatユーザーであっても、公式アカウントやミニプログラムが異なれば違うOpenIDが通知されるという事です。これは公式アカウントとミニプログラムアカウントの名義(所有者)が一緒である場合でも例外ではありません。

UnionID

さて、OpenIDはあるアカウントの中でしかWeChatユーザーを特定する事が出来ませんでした。公式アカウントやミニプログラムを1つだけ所有して運用するならOpenIDで事足りますが、例えば自社の公式アカウントとECミニプログラムを連動させてCRM的な仕組みを作りたいと思うとOpenIDだけでは公式アカウントとミニプロラム間でユーザーの同定が出来ず不便です。
ECミニプログラムの商品閲覧履歴や購入履歴を基に公式アカウントの配信記事をフォロワーごとに最適化したり、ミニプログラム上で上級会員であるフォロワーには公式アカウント上に「VIP」などの特別なメニューを表示するなど、高度な連携をしたいと思うとどうしても公式アカウントフォロワーのOpenIDとミニプログラムユーザーのOpenIDの突き合わせをしたくなります。
WeChatエコシステムにはその為のIDである「UnionID」が存在します。前述のOpenIDに倣って定義を書くならば、

WeChatオープンプラットフォームのアカウントごとにWeChatユーザーを一意に特定する為のID

となります。
「WeChatオフィシャルアカウントプラットフォーム」が「WeChatオープンプラットフォーム」に変わっただけです。各プラットフォームの役割については別記事で解説しているのでそちらをご参照ください。

WeChatオープンプラットフォームのアカウントを取得して、そのアカウントに公式アカウントとミニプログラムアカウントを紐づけると、APIでフォロワーやユーザーの情報を取得する際にOpenIDに加えてUnionIDも通知されるようになります。
UnionIDはWeChatオープンプラットフォームのアカウントごとに一意となるので、同じアカウントに紐づけられた公式アカウントとミニプログラム同士であればUnionIDは同じものが通知されます。これにより公式アカウントとミニプログラムと跨いでユーザーの同定が可能となり、WeChatエコシステムの活用の幅が格段に広がります。

AppID

AppIDはWeChatエコシステム内で公式アカウントやミニプログラムアカウント、つまりWeChatオフィシャルアカウントプラットフォームに属するアカウントを一意に特定する為のIDです。
普段個人的にWeChatを使っている限りは目にする機会は無いIDですが、ミニプログラムを開発したり、公式アカウントのAPIを使おうとするとこのAppIDが必要となります。
AppIDは開発者IDとも呼ばれますが、WeChatオフィシャルアカウントプラットフォームにログインして確認する事が出来ます。

「设置与开发」→「基本配置」でAppIDを表示


この記事が気に入ったらサポートをしてみませんか?