Skip to main content

Estructura típica de la respuesta

Las respuestas exitosas se indican con un código HTTP de la serie 200 y una carga útil basada en JSON que contiene el o los objetos solicitados, creados, modificados o eliminados, junto con una indicación de cómo el servidor ha interpretado tu solicitud. Si realizas una solicitud exitosa, recibirás como parte de tu respuesta un nodo request que refleja tu solicitud. Ejemplo: GET accounts/abcdefg/campaigns?with_deleted=true
El campo data en las respuestas JSON contendrá los objetos específicos asociados con el recurso al que se accede. El formato del nodo data será un array JSON cuando la respuesta pueda contener uno o más resultados. Se devolverá como un hash JSON cuando solo sea posible un resultado en la respuesta. En algunos casos poco frecuentes, puedes ver una respuesta que normalmente incluiría una colección, pero que en su lugar contiene un hashmap. En este caso, asume que el único hashmap es un objeto del mismo type que se especifica en el campo type.

Estructura de la respuesta de error

Las respuestas de error se devuelven con un código HTTP fuera de la serie 200. Normalmente se adjunta una respuesta JSON, pero algunos errores responderán con diferentes tipos de cuerpo de la respuesta. En aquellas circunstancias en las que no se pueda analizar la estructura de la respuesta, considera que el significado principal del código HTTP tiene prioridad. Por ejemplo, es posible que ocasionalmente veas un HTTP 404 junto con una respuesta HTML. En este caso, es seguro asumir que el contenido no se puede encontrar (HTTP 404 significa “Not Found”). Las respuestas de error típicas siguen una estructura similar a las respuestas satisfactorias. La naturaleza del error se comunicará en un nodo errors de la respuesta. El nodo errors/code indicará un código de error constante en formato CAPS_CASE que puedes consumir de forma programática para tomar decisiones sobre cómo resolverlo. El nodo errors/message indicará una descripción (normalmente) legible para humanos del error en inglés. Se pueden adjuntar campos adicionales para indicar detalles más específicos sobre el error.
En el ejemplo anterior, se realizó una solicitud a un endpoint de analytics con un valor no válido para el parámetro start_time. El errors/code para las solicitudes con parámetros no válidos es INVALID_PARAMETER.