Saltar al contenido principal

Creación de Cuentas (Intents)

La creación de una cuenta comercio se inicializa mediante la creación de una Intención de Registro (Intent). Este proceso genera una sesión temporal y segura.

Crear Intent de Onboarding

Genera una URL única para que el comercio cliente complete su afiliación.

Endpoint: api/v1/onboarding/intent
Método: POST

Parámetros

CampoTipoObligatorioDescripción
success_urlstringNoA dónde redirigir al comercio cuando termine el registro.
cancel_urlstringNoA dónde redirigir si el comercio cancela el proceso.
metadataobjectNoDatos extra que querás guardar con este registro (ej. vendedor_id, region). Se devuelven intactos en el Webhook.
idempotency_keystringNoClave única para evitar crear registros duplicados por error.
businessobjectNoDatos del negocio. Si los envias, el comercio se registra con los datos proporcionados y queda pendiente de pago. Si no los enviás, el comercio completa sus datos en el formulario. Ver Datos del negocio.

Datos del negocio

Enviá estos datos cuando ya los tengas disponibles. Al ser campos opcionales, si no se incluyen, el comercio podrá completarlos posteriormente desde el formulario.

CampoTipoRequeridoDescripción
namestringNombre comercial (ej: "Café Central").
typestringTipo de negocio (ej: Restaurante, Retail, Servicios).
whatsapp_numberstringNúmero de WhatsApp. Debe ser único por negocio.
emailstringNoCorreo electrónico de contacto.
locationstringCoordenadas geográficas (ej: "-17.7833, -63.1821").
citystringCiudad.
addressstringDirección completa.
billingobjectDatos de facturación. Ver Datos de facturación.
ownerobjectDatos del propietario del negocio. Ver Datos del propietario.

Datos de facturación

CampoTipoRequeridoDescripción
business_namestringRazón social o nombre legal.
document_numberstringNIT o CI.
document_typestring"1" para CI o "5" para NIT.

Datos del propietario

CampoTipoRequeridoDescripción
namestringNombre del propietario.
first_last_namestringCondicionalPrimer apellido. Requerido si no enviás el segundo.
second_last_namestringCondicionalSegundo apellido. Requerido si no enviás el primero.
cistringNúmero de Cédula de Identidad.
ci_complementstringNoComplemento del CI (ej: "A1", "B2").

Ejemplo: Solo datos básicos

El comercio completa sus datos desde el formulario de Vendis.

{
"idempotency_key": "codeunique-intent",
"success_url": "https://tu-sistema.com/onboarding/exito",
"metadata": {
"vendedor_id": "V-123",
"region": "Santa Cruz"
}
}

Ejemplo: Con datos del negocio

El comercio se registra directamente y queda pendiente de pago.

{
"idempotency_key": "codeunique-intent",
"success_url": "https://tu-sistema.com/onboarding/exito",
"metadata": {
"vendedor_id": "V-123"
},
"business": {
"name": "Café Central",
"type": "Restaurante",
"whatsapp_number": "+59170000000",
"email": "info@cafecentral.com",
"location": "-17.7833, -63.1821",
"city": "Santa Cruz",
"address": "Av. Principal #456",
"billing": {
"legal_name": "Café Central S.R.L.",
"document_number": "1029384756",
"document_type": "5"
},
"owner": {
"name": "Juan",
"first_last_name": "Pérez",
"second_last_name": "López",
"ci": "1234567",
"ci_complement": "LP"
}
}
}

Respuesta

Sin datos del negocio (el comercio los completa después):

{
"success": true,
"data": {
"code": "ONB-XXXX-XXXX",
"status": "pending",
"onboarding_url": "https://onboarding.vendis.com/start/onb_abcdef123...",
"expires_at": "2026-04-24T15:51:00Z",
"idempotency_key": "codeunique-intent"
}
}

Con datos del negocio (pendiente de pago):

{
"success": true,
"data": {
"code": "ONB-XXXX-XXXX",
"status": "awaiting_payment",
"onboarding_url": "https://onboarding.vendis.com/start/onb_abcdef123...",
"expires_at": "2026-04-24T15:51:00Z",
"idempotency_key": "codeunique-intent"
}
}