Skip to main content

一般的なレスポンス構造

成功したレスポンスは、200 番台の HTTP コードと、要求されたオブジェクトが返却/作成/変更/削除されたことに加えて、サーバーがリクエストをどのように解釈したかを表現する JSON ベースのペイロードによって示されます。 成功したリクエストを送信した場合、レスポンスには、リクエスト内容をそのまま返す request ノードが含まれます。 例: GET accounts/abcdefg/campaigns?with_deleted=true
JSON レスポンス内の data フィールドには、対象リソースに紐づく特定のオブジェクトが含まれます。レスポンスに 1 件以上の結果が含まれる可能性がある場合、data ノードの形式は JSON 配列になります。レスポンスとして 1 件の結果しか返らない場合は、JSON ハッシュ (オブジェクト) として返されます。ごくまれに、通常であればコレクション (配列) が含まれるレスポンスで、代わりにハッシュマップが返されることがあります。この場合、その単一のハッシュマップは、type フィールドで指定されているものと同じ type のオブジェクトであるとみなしてください。

エラー応答の構造

エラー応答は 200 番台以外の HTTP ステータスコードで返されます。通常は JSON 応答が返されますが、中には異なる形式のボディで返されるエラーもあります。応答構造をパースできない状況では、HTTP ステータスコード本来の意味を優先して解釈してください。たとえば、HTTP 404 とともに HTML 応答が返される場合があります。このときは、そのコンテンツが見つからないと判断して問題ありません (HTTP 404 は「Not Found」を意味します) 。 一般的なエラー応答は、成功時の応答と同様の構造になります。エラーの内容は、応答の errors ノードで示されます。errors/code ノードには、プログラムから解決方法の判断に利用できる CAPS_CASE の定数エラーコードが示されます。errors/message ノードには、そのエラーの (通常は) 人間が読める英語での説明が含まれます。さらに詳細なエラー内容を示すために、追加のフィールドが付与される場合もあります。
上記の例では、start_time パラメータに無効な値を指定して analytics エンドポイントへリクエストを送信しています。無効なパラメータを含むリクエストでは、errors/codeINVALID_PARAMETER に設定されます。