典型的なレスポンス構造
成功レスポンスは 200 系の HTTP コードと、リクエストされた/作成された/変更された/削除されたオブジェクトを含む JSON ベースのペイロードで示され、サーバーがリクエストをどう解釈したかも表現されます。 成功したリクエストを発行した場合、レスポンスの一部としてリクエストをエコーバックするrequest ノードを受け取ります。
例: GET accounts/abcdefg/campaigns?with_deleted=true
data フィールドには、対象リソースに関連する固有のオブジェクトが含まれます。data ノードの形式は、レスポンスに 1 つまたは複数の結果が含まれる場合は JSON 配列、レスポンスに 1 つの結果しか含まれ得ない場合は JSON ハッシュとして返されます。まれに、通常はコレクションを含むはずのレスポンスがハッシュマップで返される場合があります。その場合は、単一のハッシュマップを type フィールドで指定された同種オブジェクトとみなしてください。
エラーレスポンス構造
エラーレスポンスは、200 系以外の HTTP コードで返されます。通常は JSON レスポンスが添付されますが、一部のエラーは異なる種類のボディで応答します。レスポンス構造がパースできない場合、HTTP コードの本来の意味を優先してください。たとえば、HTML レスポンスとともに HTTP 404 が返ることがまれにあります。この場合、コンテンツが見つからない(HTTP 404 は「Not Found」を意味します)と想定して差し支えありません。 典型的なエラーレスポンスは、成功レスポンスと同様の構造に従います。エラーの内容は、レスポンスのerrors ノードで伝えられます。errors/code ノードは、解決策の判断にプログラムで利用できる CAPS_CASE 定数のエラーコードを示します。errors/message ノードは、通常英語による、人間が読めるエラーの説明を示します。より詳細なエラーの内容を示す追加フィールドが付与される場合もあります。
Example response
start_time パラメーターに無効な値を指定して analytics エンドポイントへリクエストしました。無効なパラメーターを含むリクエストの errors/code は INVALID_PARAMETER です。