Convenciones

Formato de Fecha y Hora

Todas las fechas y horas están representadas usando una cadena en formato ISO 8601 en UTC (Tiempo Universal Coordinado), sin incluir información sobre la zona horaria, a menos que se especifique lo contrario.

{
    "created_at": "2023-09-06T12:45:30Z"
}

Valores Monetarios

Los valores monetarios se representan utilizando dos componentes: currency_code y amount. El código de moneda sigue el estándar ISO 4217, y el amount es expresado en la unidad más pequeña de la moneda correspondiente (por ejemplo, centavos en USD).

Representación Canónica

Usamos la representación canónica para los valores monetarios. El amount está representado en la unidad mínima (centavos, céntimos) para evitar problemas de precisión. El currency_code define la moneda, siempre como un string de 3 caracteres.

{
    "amount": 12500,
    "currency_code": "USD"
}

En este ejemplo, el valor corresponde a 125 dólares y 0 centavos.


Representación Esquema

El esquema para valores monetarios es el siguiente:


{
    "type": "object",
    "properties": {
        "amount": {
            "type": "integer",
            "description": "Monto expresado en la denominación más pequeña de la moneda (por ejemplo, centavos para USD)."
        },
        "currency_code": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "Código de la moneda, siguiendo el estándar ISO 4217."
        }
    },
    "required": ["amount", "currency_code"]
}

Identificadores Únicos

Los identificadores de los recursos son representados como UUID (Universally Unique Identifier) en todas las respuestas de la API. Estos se utilizan para garantizar la unicidad de los recursos en la plataforma.

{
    "enterprise_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
}

Estatus de Respuesta

Las respuestas de la API siguen los códigos de estado HTTP estándar. A continuación, un resumen de los códigos más comunes:

•	200 OK: La solicitud se ha completado exitosamente.
•	201 Created: Un nuevo recurso ha sido creado exitosamente.
•	400 Bad Request: La solicitud es incorrecta o no puede ser procesada.
•	401 Unauthorized: La autenticación es requerida o ha fallado.
•	404 Not Found: El recurso solicitado no fue encontrado.
•	500 Internal Server Error: Ocurrió un error en el servidor.

Paginación

Las respuestas que devuelven listas de recursos están paginadas. Los siguientes parámetros se usan para controlar la paginación:

•	page: Número de la página actual.
•	page_size: Cantidad de elementos por página.

Ejemplo de respuesta paginada:

{
    "count": 120,
    "page": 1,
    "page_size": 20,
    "results": [
        {
            "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "name": "Centro de costos A"
        },
        ...
    ]
}