# コールバック失敗のトラブルシューティング

> オファーウォールのゲームゲーム内報酬に対するオファーウォールのコールバック失敗のトラブルシューティングに関するガイダンスを確認します。

コールバックバックが失敗したり、ユーザーがオファーウォールのゲームゲーム内報酬を受け取っていない場合は、多くの場合、エンドポイントの設定、ネットワーク到達可能性、ペイロード処理、HTTP メソッドの不一致が原因です。
以下のトラブルシューティング ガイダンスを確認して、障害のルート原因を特定して解決します。

## コールバック URL とメソッドの設定の確認##verify-callback-url-and-method-configuration

コールバック失敗の最も一般的な原因は、無効な URL か、リクエストの送信方法とサーバでの予想の不一致です。ダッシュボードボードの設定を確認して、以下の確認します。

* **Active URL**：有効なコールバック URL が設定されており、誤って削除または `NO_CALLBACK` に設定されていないことを確認します。
* \*\*HTTP メソッド (\*\*GET 対 POST):コールバックが GET（デフォルト）または POST リクエストとして送信されるように設定されていることを確認します。
  * GET または POST 用に設定されている場合は、エンドポイントが明示的に設定されていることを確認して、選択したメソッドをリッスンおよび正しく解析します。
  * POST 用に設定されている場合は、サーバがリクエスト ボディを正しく読み取っていることを確認します。
* **フォーマット**:URL に有効なスキーム（`https://`）、ホスト、パスがあり、タイプミスや不正な形式のクエリ文字列がないことを確認します。
* **環境**:URL がステージングエンドポイントやテストエンドポイントではなく、本番環境を指していることを確認します。
* **パラメータ**：必要なすべてのパラメータとマクロが URL 構造体に存在することを確認します。

## ネットワーク、トランスポート、セキュリティのルールの確認##check-network-transport-and-security-rules

Offerwall サーバがエンドポイントに到達できない場合、コールバックが失敗する可能性があります。以下のサーバおよびネットワークの健全性をチェックします。

* **ファイアウォールとWAF**:ウェブ アプリケーションファイアウォール (WAF) またはセキュリティ設定を確認してください。OfferwallコールバックIPアドレスが許可リストに登録されており、トラフィックが誤ってブロックされていないことを確認します。
* **証明書**:エンドポイントで有効で期限切れになっていない SSL/TLS 証明書が提供されていることを確認します。
* **タイムアウトと到達**可能性:DNS 解像度障害、接続タイムアウト、またはエンドポイントの断続的な可用性をチェックします。
* **レート制限**：レート制限を有効にしている場合は、コールバックの音量の大きなバーストがブロックをトリガーしているかどうかを確認します。サーバーがトラフィックの急増をハンドルできることを確認します。

## HTTP 反応コードの分析##analyze-http-response-codes

Offerwall は 200 OK 反応を期待します。サーバが他の HTTP 状態コードを返す場合、再試行の可能性とともに失敗がログに記録されます。サーバ ログで以下の一般的なエラー コードを確認してください。

* **3xx (リダイレクト)**:リダイレクトを避けます。移行は、Offerwall ダッシュボードで直接更新する必要があります。コールバック送信者は、予期せずリダイレクトされた場合にペイロードをドロップする場合があります。
* **400 (Bad リクエスト)**:不正な形式のリクエストを示します。パラメータの欠落、フォーマットの不一致、または無効なデータ型が原因で、サーバがペイロードを拒否していないかどうかを確認します。
* \*\*401 / 403 (権限なし/禁止):\*\*認証失敗を示します。認証トークン、署名、または IP 許可リストが最新であることを確認します。最近シークレットをローテーションした場合は、Offerwall が更新されていることを確認します。
* **404 (Not Found)**:エンドポイント パスが正しくないか、削除されています。コールバック URL を更新せずに最近のサーバ移行が実行されたかどうかを確認します。
* **405 (メソッド不可)**:サーバーが HTTP メソッドを拒否しています。これは、ほぼ常に、コールバックが POST として送信されたが、サーバが GET を予期している場合（またはその逆の場合）に発生します。
* **409 (競合)**:多くの場合、複製トランザクション拒否ロジックが原因で発生します。妥当性ロジックが強引すぎないようにします (例えば、有効な再試行の拒否など)。
* **429 (Too Many Requests)**:サーバーがオファーウォールをスロットリングしています。レート制限を調整して、トラフィックのバーストに対応します。
* **5xx (Server Errors)**:サーバ上のバックエンドの不安定性、サービスのダウンタイム、またはアプリケーション クラッシュを示します。

## ペイロードとパラメーター整合性の検証##validate-payload-and-parameter-integrity

コールバックがサーバーに到達しているにもかかわらず、ユーザーに報酬が授与されない場合は、サーバーがコールバックのコンテンツを拒否している可能性があります。

* **署名照合**：署名認証が必要な場合は、ハッシュ ロジックがオファーウォールの想定形式と一致していることを確認してください。
* **マクロ解像度**:ユーザーID、トランザクションID、報酬額が正しく解析され、リテラル文字列として処理されていない(例えば、実際のユーザーIDではなく`[USER_ID]`を読み取る)ことを確認します。
* **ダウンストリーム処理**：200 OK を返しているものの、ユーザが報酬を受け取れていない場合は、ダウンストリーム処理を調べてください。コールバックの確認応答が実際のユーザー報酬イベントと一致することを確認します。

## 最近の変更を確認する##review-recent-changes

コールバック障害が突然発生した場合は、障害が発生した正確な時刻を自身の内部エンジニアリング ログと相互リファレンスします。以下の質問を検討してください。

* 最近製品リリースまたは設定更新をプッシュしましたか?
* サーバ・シークレットまたは認証トークンを回転しましたか。
* エンドポイントの移行、サーバインフラストラクチャの更新、または受け入れられる HTTP メソッドの変更を行いましたか?

## 追加サポート##additional-support

上記のトラブルシューティングシューティングに関するガイダンスをすべて確認し、それでもコールバックに失敗する場合は、アカウントマネージャーまたはサポート担当者に接触し、以下の情報を提供してください。

* 障害の影響を受けた特定のアプリケーション ID
* 障害が観測された正確な時間ウィンドウ
* 失敗したサンプルユーザー ID またはトランザクション ID
* 障害発生時に収集された関連するサーバログまたは HTTP 反応本文
