Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.
Cada sistema que habla con el motor (tu CRM, tu app, un proceso de carga) tiene
su propia credencial, con los ámbitos justos para lo que hace. Si una se
filtra o se porta mal, el operador corta solo esa.
Pedir un token
La API solo acepta tokens. Se obtienen con las credenciales del sistema
(OAuth2 client credentials) y duran 15 minutos:
Después, cada petición lleva Authorization: Bearer <access_token>. Pide un
token nuevo antes de que caduque; el SDK lo hace solo.
El secreto se muestra una sola vez al crear la credencial. Guárdalo en tu
gestor de secretos; el motor solo conserva un hash y no puede recuperarlo.
Ámbitos
ámbito
permite
eventos:escribir
POST /v1/eventos
decisiones:pedir
POST /v1/decisiones
ejecucion:escribir
POST /v1/decisiones/{id}/ejecucion
lotes:pedir
POST /v1/lotes-decision
catalogo:escribir
PUT /v1/catalogo-acciones
campanas:escribir
PUT /v1/campanas/{id}
explicar:leer
ver detalle (μ por acción) en las decisiones
clientes:exportar
GET /v1/clientes/{ref}/exportar
clientes:borrar
DELETE /v1/clientes/{ref}
Una credencial sin el ámbito necesario recibe 403 sin_permiso. Los ámbitos
los asigna el operador de la plataforma; no se pueden cambiar desde la API.
Errores de autenticación
Un secreto incorrecto, una credencial revocada o caducada y un token vencido
responden igual (401 no_autenticado), para no dar pistas. Una credencial
revocada deja de funcionar en menos de un minuto aunque su token aún no haya
caducado.
Rotación y caducidad
Las credenciales caducan a los 90 días. El operador emite la nueva con 7
días de solapamiento para que cambies sin corte, y avisa 14 días antes de la
caducidad. Recomendado para integraciones de servidor a servidor: lista de IP
permitidas por credencial y, en integraciones críticas, mTLS.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Piixan Coupons","description":"Documentación pública de la API de datos v1: eventos, decisiones, ejecución y lotes.","colors":{"primary":"#1D4ED8","light":"#60A5FA","dark":"#1E3A8A"},"favicon":"https://mintcdn.com/piixan/jA7qcQKe4jGuKpch/logo/favicon.svg?fit=max\u0026auto=format\u0026n=jA7qcQKe4jGuKpch\u0026q=85\u0026s=cdf772cdefa7a995107bbddf014a2508","footer":{"socials":{}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"piixan","hasAudioNarration":false,"actualSubdomain":"piixan","customDomains":["docs.coupons.piixan.ai"],"gitSource":{"type":"github","owner":"vicboraco","repo":"piixan-ai-coupons","deployBranch":"main","contentDirectory":"docs-api","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aeb551f1f0e0ab891cdb7dc","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Guías","count":18},{"language":"default","tag":"Referencia de la API","count":12},{"language":"default","tag":"decisiones","count":8},{"language":"default","tag":"Decisiones","count":6},{"language":"default","tag":"Operación","count":5},{"language":"default","tag":"Empezar","count":4},{"language":"default","tag":"Eventos","count":3},{"language":"default","tag":"clientes","count":2},{"language":"default","tag":"autenticación","count":1},{"language":"default","tag":"eventos","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guias/autenticacion","slug":"/guias/autenticacion","pageMetadata":{"title":"Autenticación","description":"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.","href":"/guias/autenticacion"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,em:`em`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Cada sistema que habla con el motor (tu CRM, tu app, un proceso de carga) tiene\nsu `,_jsx(_components.strong,{children:`propia credencial`}),`, con los ámbitos justos para lo que hace. Si una se\nfiltra o se porta mal, el operador corta solo esa.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pedir-un-token`,children:`Pedir un token`}),`\n`,_jsxs(_components.p,{children:[`La API solo acepta `,_jsx(_components.strong,{children:`tokens`}),`. Se obtienen con las credenciales del sistema\n(OAuth2 `,_jsx(_components.em,{children:`client credentials`}),`) y duran `,_jsx(_components.strong,{children:`15 minutos`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.coupons.piixan.ai/v1/token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{\"grant_type\": \"client_credentials\", \"client_id\": \"cred_2a9e3241e9caf555\", \"client_secret\": \"sk_…\"}'`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"access_token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"eyJhbGciOiJFZERTQSIs…\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"token_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"expires_in\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`900`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"scope\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"clientes:exportar eventos:escribir\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Después, cada petición lleva `,_jsx(_components.code,{children:`Authorization: Bearer \u003caccess_token>`}),`. Pide un\ntoken nuevo antes de que caduque; el SDK lo hace solo.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`El secreto se muestra `,_jsx(_components.strong,{children:`una sola vez`}),` al crear la credencial. Guárdalo en tu\ngestor de secretos; el motor solo conserva un hash y no puede recuperarlo.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`ámbitos`,children:`Ámbitos`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`ámbito`}),_jsx(_components.th,{children:`permite`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`eventos:escribir`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /v1/eventos`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`decisiones:pedir`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /v1/decisiones`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ejecucion:escribir`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /v1/decisiones/{id}/ejecucion`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lotes:pedir`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /v1/lotes-decision`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`catalogo:escribir`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PUT /v1/catalogo-acciones`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`campanas:escribir`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PUT /v1/campanas/{id}`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`explicar:leer`})}),_jsxs(_components.td,{children:[`ver `,_jsx(_components.code,{children:`detalle`}),` (μ por acción) en las decisiones`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`clientes:exportar`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /v1/clientes/{ref}/exportar`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`clientes:borrar`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DELETE /v1/clientes/{ref}`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Una credencial sin el ámbito necesario recibe `,_jsx(_components.code,{children:`403 sin_permiso`}),`. Los ámbitos\nlos asigna el operador de la plataforma; no se pueden cambiar desde la API.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errores-de-autenticación`,children:`Errores de autenticación`}),`\n`,_jsxs(_components.p,{children:[`Un secreto incorrecto, una credencial revocada o caducada y un token vencido\nresponden `,_jsx(_components.strong,{children:`igual`}),` (`,_jsx(_components.code,{children:`401 no_autenticado`}),`), para no dar pistas. Una credencial\nrevocada deja de funcionar en menos de un minuto aunque su token aún no haya\ncaducado.`]}),`\n`,_jsx(Heading,{level:`2`,id:`rotación-y-caducidad`,children:`Rotación y caducidad`}),`\n`,_jsxs(_components.p,{children:[`Las credenciales caducan a los `,_jsx(_components.strong,{children:`90 días`}),`. El operador emite la nueva con 7\ndías de solapamiento para que cambies sin corte, y avisa 14 días antes de la\ncaducidad. Recomendado para integraciones de servidor a servidor: lista de IP\npermitidas por credencial y, en integraciones críticas, mTLS.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Autenticación","description":"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.","href":"/guias/autenticacion"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Pedir un token","slug":"pedir-un-token","depth":2,"children":[]},{"title":"Ámbitos","slug":"ámbitos","depth":2,"children":[]},{"title":"Errores de autenticación","slug":"errores-de-autenticación","depth":2,"children":[]},{"title":"Rotación y caducidad","slug":"rotación-y-caducidad","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"piixan","siteName":"Piixan Coupons","title":"Autenticación - Piixan Coupons","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-25T14:09:13.095Z","originalFileLocation":"guias/autenticacion.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Piixan Coupons\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Autenticación - Piixan Coupons\">\u003cmeta data-mint-head property=\"og:description\" content=\"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Piixan Coupons\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coupons.piixan.ai/guias/autenticacion\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://piixan.mintlify.site/_mintlify/api/og/v2?division=Empezar\u0026amp;title=Autenticaci%C3%B3n\u0026amp;description=Credenciales+por+sistema%2C+tokens+de+15+minutos%2C+%C3%A1mbitos+m%C3%ADnimos+y+rotaci%C3%B3n.\u0026amp;theme=873452110da72adf877d2405\u0026amp;signature=bc8c489f1f433db91308d9c2b9ec0ed770acc84a4ebff1ea1454c155ecaa3edd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Autenticación - Piixan Coupons\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://piixan.mintlify.site/_mintlify/api/og/v2?division=Empezar\u0026amp;title=Autenticaci%C3%B3n\u0026amp;description=Credenciales+por+sistema%2C+tokens+de+15+minutos%2C+%C3%A1mbitos+m%C3%ADnimos+y+rotaci%C3%B3n.\u0026amp;theme=873452110da72adf877d2405\u0026amp;signature=bc8c489f1f433db91308d9c2b9ec0ed770acc84a4ebff1ea1454c155ecaa3edd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/piixan/XRaaYF_lb18Td3aZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Piixan Coupons\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1D4ED8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.coupons.piixan.ai/guias/autenticacion\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guias/autenticacion.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.coupons.piixan.ai/#organization\",\"name\":\"Piixan Coupons\",\"url\":\"https://docs.coupons.piixan.ai\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.coupons.piixan.ai#website\",\"name\":\"Piixan Coupons\",\"url\":\"https://docs.coupons.piixan.ai\",\"publisher\":{\"@id\":\"https://docs.coupons.piixan.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.coupons.piixan.ai/guias/autenticacion#webpage\",\"url\":\"https://docs.coupons.piixan.ai/guias/autenticacion\",\"name\":\"Autenticación\",\"description\":\"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.\",\"dateModified\":\"2026-09-25T14:09:13.095Z\",\"isPartOf\":{\"@id\":\"https://docs.coupons.piixan.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coupons.piixan.ai/guias/autenticacion#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coupons.piixan.ai/guias/autenticacion#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Empezar\",\"item\":\"https://docs.coupons.piixan.ai/guias/introduccion\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autenticación\",\"item\":\"https://docs.coupons.piixan.ai/guias/autenticacion\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coupons.piixan.ai/guias/autenticacion#article\",\"headline\":\"Autenticación\",\"name\":\"Autenticación\",\"description\":\"Credenciales por sistema, tokens de 15 minutos, ámbitos mínimos y rotación.\",\"url\":\"https://docs.coupons.piixan.ai/guias/autenticacion\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coupons.piixan.ai/guias/autenticacion#webpage\"},\"dateModified\":\"2026-09-25T14:09:13.095Z\",\"publisher\":{\"@id\":\"https://docs.coupons.piixan.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.coupons.piixan.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Piixan Coupons\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Piixan Coupons\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/guias/autenticacion.md","siteName":"Piixan Coupons","nav":{"global":null,"tabs":[{"tab":"Guías","groups":[{"group":"Empezar","pages":[{"title":"Introducción","href":"/guias/introduccion"},{"title":"Modelo mental","description":"Cómo piensa el motor: eventos, decisiones, ejecución y aprendizaje, y por qué cada paso importa.","href":"/guias/modelo-mental"},{"title":"Autenticación","href":"/guias/autenticacion"},{"title":"Alta del inquilino","description":"Los pasos desde la cuenta hasta producción, y qué exige cada uno.","href":"/guias/alta-del-inquilino"}]},{"group":"Eventos","pages":[{"title":"Contrato de eventos v1","href":"/guias/contrato-eventos"},{"title":"Validador","href":"/guias/validador"},{"title":"Carga de histórico","href":"/guias/carga-de-historico"}]},{"group":"Decisiones","pages":[{"title":"Decisiones en línea","href":"/guias/decisiones"},{"title":"Confirmar la ejecución","href":"/guias/ejecucion"},{"title":"Lotes de decisiones","href":"/guias/lotes"},{"title":"Webhooks","href":"/guias/webhooks"},{"title":"Idempotencia","href":"/guias/idempotencia"},{"title":"Respaldo","href":"/guias/respaldo"}]},{"group":"Operación","pages":[{"title":"Errores","href":"/guias/errores"},{"title":"Límites","href":"/guias/limites"},{"title":"SDK Python","href":"/guias/sdk-python"},{"title":"SDK de JavaScript / TypeScript","href":"/guias/sdk-js"},{"title":"Cambios","href":"/guias/changelog"}]}]},{"tab":"Referencia de la API","pages":[{"title":"Referencia de la API","href":"/api-reference/decisiones/definir-una-campaña"}]}]},"basePath":"","title":"Autenticación - Piixan Coupons","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}