Crear una clave
- Entrá a tu panel de Gudink, sección Integraciones > API (
/integraciones/api). Necesitás el email verificado y la API habilitada en tu cuenta. El panel de pruebas y el de producción son dos cuentas distintas: ver Entorno de pruebas. - Creá una clave con un nombre que te diga dónde la usás, por ejemplo “mi web producción”.
- Copiala en ese momento. Se muestra una sola vez. Si la perdés, revocala y creá otra.
Después del prefijo vienen 40 caracteres entre
a-z y 0-9. Una clave de pruebas no sirve en producción, ni al revés: responde 401 invalid_api_key. Podés tener hasta 5 claves activas por cuenta. Cada clave nueva te manda un mail de seguridad.
Cómo cuidarla
- Sólo en tu servidor. Nunca en un navegador, en una app móvil ni en código que corra en el dispositivo de tu comprador. La API no tiene CORS, a propósito: se usa de servidor a servidor.
- Nunca en un repositorio, aunque sea privado. Usá una variable de entorno o un gestor de secretos.
- Nunca en la URL. Sólo en la cabecera
Authorization. - Nunca en una descarga de imagen. Las imágenes de los productos son públicas y se bajan sin clave.
- Nunca en el chat con un agente de IA. Pasale el nombre de la variable de entorno, no el valor.
- Si creés que se filtró, revocala desde el panel. Es inmediato.
Cuándo se revocan solas
Para protegerte, Gudink revoca todas tus claves y desactiva tus destinos de avisos cuando cambia quién controla la cuenta: si se resetea o cambia la contraseña, si se confirma un cambio de email, si la cuenta se desactiva o si se apaga el acceso a la API. Después de cualquiera de esos casos, creá claves nuevas.Cómo se manda
Toda ruta lleva esta cabecera, salvoGET /openapi.json y GET /llms.txt, que se leen sin clave:
https://app.gudink.com/api/v1 y tu clave gk_live_):
billing_complete dice si tu cuenta tiene los datos de facturación que hacen falta para crear pedidos. Si es false, POST /orders responde 403 billing_data_required hasta que los completes en tu panel.
missing_billing_fields dice cuáles faltan, con los mismos nombres que usa ese error en details.missing_fields:
Qué responde cuando la clave no sirve
No reintentes un 401 en bucle: la clave no va a empezar a funcionar sola, y demasiados intentos fallidos seguidos terminan en 429 por unos minutos. Una clave válida sigue entrando igual.
Estos códigos sólo cuentan cuando la respuesta es JSON y trae el sobre
{ "error": { ... } }.
Un 403 que no es JSON no es tu clave
Si recibís un 403 con un texto o una página en vez de JSON (por ejemploerror code: 1010), es un bloqueo de la red que está delante de la API, no de la API: tu clave no tiene nada que ver, y no es api_access_disabled. Pasa incluso en GET /llms.txt, que no lleva clave.
- Casi siempre es el
User-Agentque tu librería manda por defecto (pasa conurllibde Python). - Mandá una cabecera
User-Agentpropia en cada llamada, por ejemploMiTienda/1.0 (+https://mitienda.com), y repetí. - Si sigue, escribinos a soporte@gudink.com con la hora y tu IP.

