ForHosting KIT · Utilidades de desarrollo

Generar un JSON Schema

Nadie se sienta a escribir un JSON Schema por gusto; es el documento que necesita después de que la API ya existe y alguien pregunta 'cómo luce realmente esta respuesta'. Este endpoint lee uno o más payloads de ejemplo e infiere un esquema con tipos correctos, campos obligatorios y estructuras anidadas, sin necesidad de escribirlo a mano.

● EstablePor solicitud + por documento$0.003
Úselo desde WebAPIEmailApp prontoTelegram pronto

Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.

El vacío que llena

El JSON Schema es lo que permite que un validador rechace una solicitud malformada antes de que llegue a su lógica de negocio, lo que permite que una herramienta de generación de clientes construya modelos tipados, y lo que permite probar automáticamente un contrato de API en vez de revisar respuestas a ojo. El problema es que escribirlo a mano para algo más complejo que un objeto plano es tedioso y propenso a errores, especialmente con arreglos anidados, campos opcionales y tipos mixtos, así que muchos equipos simplemente lo omiten o dejan que se desactualice respecto a la API real.

Qué envía

Envía uno o más payloads JSON de ejemplo, idealmente incluyendo algún caso límite como una respuesta con un campo opcional presente y otra donde falta, ya que la API infiere si un campo es obligatorio según si aparece de forma consistente en sus ejemplos. Un solo ejemplo también funciona; simplemente produce un esquema que trata cada campo observado como obligatorio, algo que puede relajar después si lo necesita.

Qué recibe

Un documento JSON Schema válido con tipos primitivos correctos, formatos detectados donde no son ambiguos, como una cadena que luce como fecha o correo electrónico, arreglos y objetos anidados modelados correctamente, y una lista de campos obligatorios construida a partir de lo que realmente fue consistente en sus muestras. Se devuelve listo para conectarse a una librería de validación o a una definición OpenAPI sin necesidad de limpieza manual.

Una breve nota sobre el formato

JSON Schema ha pasado por varias versiones de borrador desde que se propuso por primera vez, y los distintos borradores manejan de forma diferente cosas como la validación de tuplas y los esquemas condicionales. El esquema generado apunta por defecto a un borrador actual y ampliamente soportado, y produce el tipo de documento que validadores como Ajv, o herramientas equivalentes en otros lenguajes, consumen sin modificación.

Dónde encaja en un flujo de trabajo

Encaja naturalmente en pruebas de contrato: captura payloads de respuesta reales desde un ambiente de staging, genera el esquema, y lo compara contra la versión anterior para detectar un cambio disruptivo accidental antes de que salga a producción. También ahorra tiempo al documentar una API heredada que tiene ejemplos de payload dispersos en tickets viejos y colecciones de Postman, pero ningún esquema en el que alguien confíe.

Pruebas de contrato en integración continua

Un pipeline captura una respuesta real de la API, regenera el esquema, y hace fallar el build si un campo que antes era obligatorio se volvió opcional sin previo aviso.

Documentar una API heredada

Un equipo con años de endpoints sin documentar procesa ejemplos guardados de Postman por el endpoint para producir esquemas que nadie tuvo que escribir desde cero.

Generación de SDK de cliente

El esquema generado se conecta directamente a una herramienta de generación de código que produce modelos tipados de solicitud y respuesta para una aplicación móvil.

Validar webhooks de terceros

Un equipo captura algunos payloads reales del webhook de un proveedor y genera un esquema para validar futuras entregas antes de procesarlas.

¿Cuántos payloads de ejemplo debo enviar?

Con uno basta para obtener un esquema funcional, pero enviar dos o más, incluyendo un caso límite con un campo opcional ausente, produce una lista de campos obligatorios más precisa.

¿Qué borrador de JSON Schema utiliza?

Por defecto apunta a un borrador actual y ampliamente soportado, produciendo un documento que validadores como Ajv y herramientas equivalentes aceptan sin modificación.

¿Puede detectar formatos como fechas y correos electrónicos?

Sí, detecta formatos comunes no ambiguos como cadenas de fecha y hora y direcciones de correo electrónico, y agrega la anotación de formato correspondiente.

¿Hay un plan gratuito para probar el endpoint?

No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.

¿Cuál es el precio?

$0.003 por solicitud más $0.0135 por documento, cobrado únicamente cuando la tarea se completa con éxito.

¿Qué pasa si la solicitud falla?

Se reintenta automáticamente hasta tres veces; si sigue fallando recibe un error claro y no se le cobra.

¿Puedo usar el resultado directamente en una especificación OpenAPI?

Sí, el esquema devuelto es JSON Schema válido y puede incrustarse en una sección de components de OpenAPI con poca o ninguna edición.

¿Se conservan mis payloads de ejemplo después?

No. Los payloads enviados y los esquemas generados se eliminan al vencer el período de retención y nunca se usan para entrenamiento.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/json-schema-gen

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.

curl -X POST https://api.kit.forhosting.com/dev/json-schema-gen \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.json_schema_gen",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.003
Por documento$0.0135

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.
422task_failedLa tarea falló tras 3 reintentos. No se cobra.

Ver la documentación completa del KIT →