Objetivo
Pintar tus propias tarjetas de precios o tu propia tabla comparativa con los datos reales del catálogo, sin copiarlos a mano y sin que se queden viejos cuando cambien.
Hay dos puertas, y la que te toca depende de dónde vaya el contenido:
| Dónde lo muestras | Qué usas |
|---|---|
| Una página sin sesión — tu landing, un widget que incrustan terceros | GET /v1/plans/public y GET /v1/plans/public/comparison. Sin credenciales, con caché de cinco minutos y límite de tasa por IP. |
| Una página detrás de tu API key — el panel de tu producto | GET /v1/plans y GET /v1/plans/{slug}/prices. |
Requisitos previos
- Para la puerta pública, nada.
- Para la otra, una API key activa (
veriko_…).
Pasos
1. Traer el catálogo público
curl 'https://api.veriko.mx/v1/plans/public'Devuelve los planes que están activos y marcados como públicos, cada uno con sus precios y sus viñetas ya filtrados a los activos:
{
"data": [
{
"type": "plan",
"id": "pro",
"attributes": {
"slug": "pro",
"name": "Pro",
"billing_model": "subscription",
"monthly_validation_limit": 5000,
"trial_days": 14,
"sort_order": 20,
"prices": [
{ "currency": "MXN", "billing_interval": "month", "kind": "base", "unit_amount": 49900, "tax_behavior": "inclusive" }
],
"features": [
{ "text_es": "500 validaciones al mes", "text_en": "500 validations per month", "icon": "check", "sort_order": 10 }
]
}
}
]
}Tres cosas que conviene saber antes de pintarlo:
unit_amountviene en centavos.49900son 499.00 MXN.- Las viñetas son bilingües en el mismo objeto:
text_esytext_en. Elige según el idioma de tu página, no pidas el endpoint dos veces. monthly_validation_limitpuede sernull, y eso no es un hueco: significa sin límite.
2. Traer la tabla comparativa
curl 'https://api.veriko.mx/v1/plans/public/comparison'Las columnas son los mismos planes del paso anterior y en el mismo orden —la comparativa no puede divergir de las tarjetas—, y cada fila es una dimensión bilingüe cuyas celdas son booleanas (incluido o no) o de texto.
3. Desde una superficie autenticada
GET /v1/plans devuelve los planes activos con sus viñetas, sin el filtro de «público». Es lo que usa el panel para su propia tarjeta de precios.
curl 'https://api.veriko.mx/v1/plans' \
-H 'Authorization: Bearer veriko_••••'Y para el desglose de precios de un plan concreto:
curl 'https://api.veriko.mx/v1/plans/pro/prices' \
-H 'Authorization: Bearer veriko_••••'Los precios llegan desglosados por moneda × intervalo × tipo, y meta.plan trae un mini-resumen del plan (billing_model, trial_days, included_validations) para que puedas renderizar el contexto sin una segunda petición.
4. Llevar al checkout
Ninguno de estos endpoints expone el identificador de precio de Stripe: eso se resuelve en el servidor cuando se crea la sesión de pago. Tu interfaz solo manda qué eligió el usuario —plan_slug, currency, billing_interval—, nunca el precio concreto.
Siguientes pasos
- El plan que tiene ahora la cuenta, con sus fechas de ciclo:
GET /v1/billing/subscription. - Cómo se cuenta el consumo contra el límite del plan: Cuotas y planes.