Ir al contenido

Introducción

Costia guarda los gastos de una persona. Tu tienda ya sabe exactamente lo que ha vendido: qué productos, a qué precio y con qué impuestos. Esta API existe para que ese dato viaje entero desde donde se genera hasta donde se necesita, en lugar de pasar por una foto de un ticket y un modelo que la interpreta.

Hay dos cosas que puedes hacer, y son independientes.

Tu cliente entra en tu tienda con su cuenta de Costia, igual que entraría con Google. Recibes su identificador, y su nombre y correo si te los concede. Es OpenID Connect estándar: si tu framework habla OIDC, ya sabe hacerlo.

Cómo integrarlo →

Cuando alguien compra, envías la factura a su cuenta de Costia con sus líneas, sus importes y sus tipos de IVA. Aparece como un gasto desglosado, sin que tu cliente haga nada.

Cómo enviarlas →

Registrar un partner y crear un cliente OAuth, ambas cosas desde el console de desarrolladores. No hay formulario que nadie apruebe a mano ni correo que esperar.

Para iniciar sesión basta con eso. Para escribir facturas hace falta además demostrar que controlas el dominio de tu marca, publicando un registro TXT o un fichero en tu web. El motivo es que el nombre de tu tienda aparece en el gasto de la persona como comercio verificado, y esa palabra tiene que significar algo: sin la comprobación, cualquiera podría registrarse como «Amazon» y escribir facturas a su nombre.

Registrarse paso a paso →

Dos cosas que ahorran una tarde, porque fallan de formas que no señalan la causa:

PKCE es obligatorio. Costia registra todos los clientes exigiéndolo. Una petición de autorización sin code_challenge se rechaza mientras se valida — antes del login y antes del consentimiento — y tu usuario vuelve a tu sitio sin ver ningún error. Muchas librerías lo traen desactivado por defecto.

Un cliente confidencial se autentica con Basic. El secreto va en la cabecera Authorization, no en el cuerpo. Enviarlo en el cuerpo falla como invalid_client después del consentimiento. Una app nativa debe registrarse como cliente público: no tiene secreto e intercambia el código enviando su client_id y code_verifier.

https://id.costia.app/.well-known/openid-configuration

Ese documento tiene las direcciones de autorización, token y claves. Apunta ahí tu librería y no tendrás que copiar ninguna URL a mano.