Nombre
Precio vigente
Cuánto le cuesta a tu organización crear un enlace y cada visita, y si su plan lo incluye.
Método HTTP y ruta
/ api/ v6/ urlshortener/ pricinghttps:
Qué pasa al ejecutarlo
- Solo consulta: no cambia datos de tu organización.
- La llamada no se cobra.
Qué hace
Devuelve los precios que se le aplican hoy a tu organización: los generales del servicio o los propios que tenga pactados. Se cobra la creación de cada enlace y cada visita de una persona que llega al destino, también las repetidas. No se cobran las visitas de robots ni las vistas previas que arman las aplicaciones de mensajería (WhatsApp, Telegram, Facebook, Google Messages y similares) cuando alguien comparte el enlace.
Los importes van en micros: unidades de la moneda multiplicadas por 10⁶ (1000000 es 1,00). includedInPlan: quiere decir que tu organización tiene hoy un plan mensual del acortador vigente: crear enlaces y las visitas van incluidos. Los precios llegan igual, para saber cuánto cubre el plan; si no hay tarifa configurada, llegan en null.
Disponibilidad y requisitos previos
- Publicado y disponible en la API v6 de producción.
- Todas las rutas parten de
https:./ / developers. hablame. co - Necesitas una API key de Hablame para llamarlo.
Autenticación y permisos
- Envía tu API key en la cabecera
Authorizationcon el esquema Bearer.
Quién puede llamarlo: Una API key con el servicio urlshortener habilitado.
Límites y consideraciones operativas
Límite de uso: 60 solicitudes por minuto.
Parámetros de ruta
Este endpoint no tiene parámetros de ruta.
Parámetros de consulta
Este endpoint no tiene parámetros de consulta.
Encabezados HTTP
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
AuthorizationObligatorio | string | Tu API key con el esquema Bearer. Ejemplo: |
Cuerpo de la petición
Este endpoint no recibe cuerpo en la petición.
Respuestas satisfactorias
200
Precio vigente. Los importes del ejemplo son ilustrativos.
{
"success": true,
"data": {
"currency": "COP",
"perLinkMicro": 1000000,
"perUniqueVisitMicro": 500000,
"includedInPlan": false
},
"meta": {
"requestId": "8f0c0e2a4b1d4c8f",
"clientIp": "203.0.113.45",
"timestamp": "2026-09-23T18:30:00+00:00",
"responseTimeMs": 7.2
}
}Los valores del ejemplo son ilustrativos.
Campos de la respuesta
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
successSiempre presente | boolean | |
dataSiempre presente | object | |
data.Siempre presente | string | Moneda de tu organización (ISO 4217). Ejemplo: |
data.Siempre presente | integer | Precio por enlace creado, en micros. Puede llegar en |
data.Siempre presente | integer | Precio por visita, en micros. El nombre viene de cuando solo se cobraba la primera visita del día; hoy se cobra cada visita de una persona. Puede llegar en |
data.Siempre presente | boolean |
|
metaSiempre presente | object | Metadatos de la respuesta. |
meta.Siempre presente | string | Identificador único de la solicitud (16 caracteres hexadecimales). Es el mismo de la cabecera Ejemplo: |
meta.Siempre presente | string | IP con la que la API vio tu solicitud. Útil si tu API key solo admite ciertas redes. Ejemplo: |
meta.Siempre presente | string | Fecha y hora en que se construyó la respuesta (ISO 8601 con offset). Formato: |
meta.Siempre presente | number | Tiempo (ms) que tomó procesar la solicitud en el servidor. Ejemplo: |
Códigos de error
Todas las respuestas de error tienen la misma forma: success en false y un objeto error cuyo code dice qué pasó. Aquí están agrupadas por tipo, con los códigos que este endpoint puede devolver.
Forma de una respuesta de error
| Nombre | Tipo | Descripción y reglas |
|---|---|---|
successSiempre presente | boolean | Valor fijo: |
metaSiempre presente | object | Metadatos de la respuesta. |
meta.Siempre presente | string | Identificador único de la solicitud (16 caracteres hexadecimales). Es el mismo de la cabecera Ejemplo: |
meta.Siempre presente | string | IP con la que la API vio tu solicitud. Útil si tu API key solo admite ciertas redes. Ejemplo: |
meta.Siempre presente | string | Fecha y hora en que se construyó la respuesta (ISO 8601 con offset). Formato: |
meta.Siempre presente | number | Tiempo (ms) que tomó procesar la solicitud en el servidor. Ejemplo: |
errorSiempre presente | object | |
error.Siempre presente | string | Identificador estable en UPPER_SNAKE_CASE. Los clientes ramifican sobre este valor. Ejemplo: |
error. | integer | Código numérico legacy v5, solo cuando hay puente. Se omite en los códigos nacidos en v6. Ejemplo: |
error.Siempre presente | string | URL a la documentación del error. Formato: |
error.Siempre presente | string | Texto legible en inglés. Es para el log del desarrollador, no para el usuario final: no lo parsees. |
error.Siempre presente | array<object> | Contexto estructurado (validaciones, recurso afectado). Arreglo vacío cuando no hay contexto extra. |
Validación
Este endpoint no declara respuestas de este tipo.
Autenticación
- 401Credenciales inválidas o faltantes.
No se envió un token Bearer y cada llamada lo requiere.
Mensaje que devuelve la API: Authentication is required. Send your API key as `Authorization: Bearer <token>`.
La clave de API no se reconoce: formato equivocado, revocada o vencida.
Mensaje que devuelve la API: The provided API key is invalid or has expired. Please verify the value sent in the `Authorization: Bearer` header.
Permisos
- 403La API key no tiene habilitado el acortador (o está apagado para tu organización), la key no se puede usar desde la red de la petición, o la organización no está activa.
La clave no tiene permitido el servicio detrás de este endpoint.
Mensaje que devuelve la API: This API key is not authorized to use the requested service.
La clave solo funciona desde ciertas redes y tu IP no está entre ellas.
Mensaje que devuelve la API: This API key cannot be used from this IP address. The address we saw is in `meta.clientIp`: call from one of the networks allowed for the key, or use a key that allows this one.
Tu organización está suspendida o cerrada.
Mensaje que devuelve la API: The organization associated with this API key is not active. Please contact support.
Límites de uso
- 429Se excedió el límite de solicitudes.
Excediste el cupo de tu organización para este endpoint.
Mensaje que devuelve la API: You have exceeded the allowed request rate for this endpoint. Please wait before retrying.
Recurso inexistente
Este endpoint no declara respuestas de este tipo.
Errores internos y disponibilidad
Este endpoint no declara respuestas de este tipo.
Otras respuestas
- 409El acortador no tiene precio para la moneda de tu organización, o tu organización todavía no tiene moneda. Pasa con plan o sin él, y en ese estado tampoco se pueden crear enlaces. No se arregla reintentando.
El acortador no tiene precio configurado para tu moneda.
409URLSHORTENER_CURRENCY_UNDEFINED
Tu organización todavía no tiene moneda definida.
Consideraciones especiales
Este endpoint no tiene consideraciones especiales.