Logo Site EngageLab Mark Colored Transparent
ドキュメント

エラーコード

このドキュメントは 2.x スタンドアロン版 MA Web SDK に適用されます。

クライアント側エラーコードの定義

Web SDK がローカルで生成するコールバックの code には、以下の 3 つの値があります:

コード 説明 詳細な説明
0 リクエスト成功 インターフェースリクエストが成功しました(message は常に success)
-1 リクエスト失敗 ローカルのパラメーター検証失敗、SDK 未準備(未 init / RID/EUID 未取得)、ネットワーク異常、レスポンスの解析不能、またはサーバー側から不正なレスポンスが返された場合。具体的な理由はコールバックの message を参照
-8 データ収集が無効 2.2.0 以降。データ収集スイッチを呼び出して収集を無効にした後、ユーザー属性系のインターフェース(setProperty、increaseProperty、addProperty、deleteProperty、removeProperty、updateProperty)はインターセプトされ、今回の操作は実行されません。message は常に data collection disabled です。イベント、UTM などのコールバックのないインターフェースは無効期間中に静かに破棄され、このコードは返しません

よく見られるローカルの -1 message(英語原文のまま業務側にコールバックされます):

message 発生シナリオ
invalid argument: enabled must be boolean setDataCollectionEnabled のパラメーターがブール値でない
sdk hasn't registered yet, request will be cancel init が完了していない、または /get-rid がまだ成功しておらず、ユーザー系インターフェースがインターセプトされた
MA EUID is not a valid Long ローカルの EUID が欠落または不正(通常は /get-euid が未成功)
identifyAccount fail loginID and mobile are nil identifyAccount に空の識別オブジェクトが渡された(文言は v1 とバイト単位で一致)
user_id cannot be "0" / email format is invalid / phone must be E.164 format (+[1-9] followed by 1-14 digits) など ユーザー識別フィールドのルール事前検証に失敗(ルールは「API ガイド · ユーザー識別を設定する」を参照)
channelId must be greater than 0 / channel values cannot be empty / channel value element cannot be empty setChannelValue のパラメーター検証に失敗
userIdentity is invalid: ... 再度の init で渡された userIdentity のすべてのフィールドが不正(2.1.0 以降、再度の init に異なる AppKey を渡すとデータソースが切り替わり、エラーは返されなくなりました)
network exception ネットワークリクエストの失敗またはレスポンスが不正

サーバー側業務コード

サーバー側が明示的に業務失敗を返した場合、SDK はそれを -1 に畳み込まず、サーバー側の code と文言をそのままコールバックします。そのため、コールバックに正の code が現れることがあります。

サーバー側業務コードは問題の特定のみに使用するものであり、安定した SDK の対外契約には含まれません。特定の正の code に基づいて業務分岐を記述しないでください。成功判定は統一して code === 0 で行い、想定外の失敗が発生した場合は code と message の原文をテクニカルサポートに提供してください。

init を繰り返し呼び出す場合(2.1.0 以降、呼び出しごとに EUID を再取得します)、所属 EUID の再リクエストの失敗も、上記のルールに従ってサーバー側業務コードをそのままコールバックします。

付録:よく見られるサーバー側業務コード

以下の値はトラブルシューティングの参考のみであり、SDK やサーバー側のバージョンにわたって安定していることは保証されません:

コード 意味
55004 業務パラメーターが無効。例:チャネル AppKey が現在のプロジェクトにマッピングされていない、channelId が現在のプロジェクトに存在しない、チャネル値が MA RID と等しい、未定義の object_array 属性に対して updateProperty / removeProperty を実行した
55100 ユーザー登録失敗
55101 ユーザー識別の数が上限を超過
55102 無効なユーザー属性名が存在する
55103 ユーザー属性値が空
55105 ユーザー識別値が 256 文字を超過
55106 ユーザー識別名がサポート範囲外
55107 ユーザー識別値が空
55108 EUID が無効。例:maEuid と maRid が同一の MA ユーザーに属していない
55110 リクエストが頻繁すぎる。しばらくしてから再試行可能
55000 サーバー側システムエラー
40007 EUID が空
Icon Solid Transparent White Qiyu
営業担当に相談する