Skip to main content

Estructura típica de la respuesta

Las respuestas correctas se indican con un código HTTP de la serie 200 y un payload basado en JSON que contiene los objetos solicitados, creados, modificados o eliminados junto con una expresión de la interpretación que el servidor hizo de tu solicitud. Si hiciste una solicitud correcta, recibirás como parte de tu respuesta un nodo request que devuelve 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 utilizado. 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 raros, puedes ver una respuesta que normalmente incluiría una colección con un hashmap en su lugar. En este caso, asume que el hashmap único es un objeto del mismo tipo que el especificado en el campo type.

Estructura de la respuesta de error

Las respuestas de error se sirven con un código HTTP que no pertenece a la serie 200. Normalmente se adjunta una respuesta JSON, pero algunos errores responderán con distintos tipos de cuerpo. En estas circunstancias, en las que no se puede parsear la estructura de la respuesta, considera que el significado principal del código HTTP tiene prioridad. Por ejemplo, ocasionalmente puedes ver 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 correctas. La naturaleza del error se comunicará en un nodo errors de la respuesta. El nodo errors/code indicará una constante de código de error en CAPS_CASE que puedes consumir de forma programática para tomar decisiones de resolución. El nodo errors/message indicará una descripción (normalmente) legible por humanos del error en inglés. Se pueden adjuntar campos adicionales para indicar detalles más precisos sobre el error.
Respuesta de ejemplo
En el ejemplo anterior, se hizo 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.