{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/es/v2/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["img","admonition"]},"type":"markdown"},"seo":{"title":"Autenticación"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"autenticación","__idx":0},"children":["Autenticación"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["La nueva API de ShipSaving utiliza el marco OAuth 2.1, que ofrece mayor seguridad, una autorización estandarizada y mejor escalabilidad en comparación con la autenticación tradicional basada en una única API Key."," ","Implementa el flujo ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Credentials Grant"]},", lo que permite a los servicios backend obtener tokens de acceso de forma segura e interactuar con los recursos protegidos utilizando sus propias credenciales."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"características-principales-de-seguridad","__idx":1},"children":["Características principales de seguridad"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Autenticación de dos factores"]},": combina ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_id"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app_key"]},") y ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client_secret"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app_secret"]},") para una doble verificación."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tokens de acceso de corta duración"]},": los tokens de acceso tienen una validez predeterminada de ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["30 minutos"]},", lo que reduce el riesgo en caso de que un token sea comprometido."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Control de acceso basado en Scope"]},": el acceso a la API se restringe según el parámetro ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mecanismo de revocación de tokens"]},": se proporcionan endpoints para revocar tokens y mitigar posibles exposiciones de seguridad."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"modo-de-prueba-vs-modo-real","__idx":2},"children":["Modo de prueba vs. Modo real"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Tipo"},"children":["Tipo"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Cuándo usarlo"},"children":["Cuándo usarlo"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Consideraciones"},"children":["Consideraciones"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Modo de prueba"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Mientras pruebas y desarrollas tu integración con ShipSaving, utiliza el modo de prueba con tus claves de prueba. En este modo puedes usar todos los servicios de ShipSaving, como consultar tarifas de envío y crear etiquetas de ejemplo, sin que se generen cargos."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Las etiquetas compradas en modo de prueba son ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["etiquetas de ejemplo"]}," y no pueden utilizarse para envíos reales. Las tarifas obtenidas en modo de prueba pueden diferir de las tarifas reales del modo real. Los datos están completamente aislados de tu cuenta real."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Modo real"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cuando tu integración esté lista para producción, utiliza el modo real con tus tokens reales. En este modo puedes obtener tarifas de envío y comprar etiquetas válidas para envíos reales."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Las etiquetas compradas en modo real son ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["válidas para envíos reales"]}," y generarán registros de transacción reales. Tu cuenta será cobrada por la compra de etiquetas."]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"proceso-de-autenticación","__idx":3},"children":["Proceso de autenticación"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"crea-tu-cuenta-de-shipsaving","__idx":4},"children":["Crea tu cuenta de ShipSaving"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Regístrate para obtener una cuenta en el ShipSaving API Portal."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Completa el formulario de registro y verifica tu correo electrónico."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Puedes iniciar sesión antes de la verificación, pero la creación de API Keys estará deshabilitada hasta que tu correo esté verificado."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Una vez verificado, podrás administrar tus claves y generar API Keys de ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["prueba (test)"]}," o ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["reales (live)"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"genera-tu-api-key","__idx":5},"children":["Genera tu API Key"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Inicia sesión en el ShipSaving API Portal y sigue los pasos en pantalla (ver el GIF a continuación) para crear tus API Keys."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/create_new_key.819e629eda4b042cf5f02034b0c1139eb88a2608c3a3b398724b495c330d6411.c5aff763.gif","alt":"Image description","framed":false,"withLightbox":true,"width":"","height":""},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"ADVERTENCIA"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Una vez generada, tu API Key debe almacenarse de forma segura: otorga acceso completo a tu cuenta."," ","Se muestra ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["solo una vez"]}," al momento de su creación; si cierras la ventana, no podrá recuperarse."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"obtén-el-access-token","__idx":6},"children":["Obtén el Access Token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Utiliza tu ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["APP Key"]}," y tu ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["APP Secret"]}," para obtener un ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access_token"]}," mediante el flujo Client Credentials."," ","Consulta la especificación del endpoint ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/oauth2/token"]}," para conocer todos los parámetros y la estructura de la respuesta."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"curl","header":{"controls":{"copy":{}}},"source":"curl --location 'https://x-api.shipsaving.com/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic U1NfTElWRV9kWG8zT3k5V0VxS1k0ZnB1Q09Nd0N6Q19QanBJRHd1SnNXQ2Y6R1hBeFFkUUZHSWR5TElFVnhPTVY1amc1TjRma19YX3R0Nzc3' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'scope=API'\n","lang":"curl"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"realiza-la-solicitud","__idx":7},"children":["Realiza la solicitud"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Al llamar a otros endpoints de la API de ShipSaving, configura el tipo de autenticación (Auth Type) como ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bearer Token"]}," e incluye tu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access_token"]}," en el campo Token. Esto otorga acceso a los recursos solicitados mientras el token siga siendo válido."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Nota"},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Vigencia del token"]},": los tokens de acceso son válidos durante 30 minutos. Usar un token expirado devolverá ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401 Unauthorized"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Solo un token activo por appKey"]},": en cualquier momento, únicamente el token emitido más recientemente para un ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appKey"]}," es válido. Si solicitas dos tokens en rápida sucesión, el primero será revocado y solo el segundo podrá utilizarse."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Manejo del secreto"]},": no incluyas el ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appSecret"]}," directamente en el código del lado del cliente. Almacénalo de forma segura (por ejemplo, en un gestor de secretos del lado del servidor) para evitar fugas."]}]}]}]},"headings":[{"value":"Autenticación","id":"autenticación","depth":2},{"value":"Características principales de seguridad","id":"características-principales-de-seguridad","depth":3},{"value":"Modo de prueba vs. Modo real","id":"modo-de-prueba-vs-modo-real","depth":3},{"value":"Proceso de autenticación","id":"proceso-de-autenticación","depth":3},{"value":"Crea tu cuenta de ShipSaving","id":"crea-tu-cuenta-de-shipsaving","depth":4},{"value":"Genera tu API Key","id":"genera-tu-api-key","depth":4},{"value":"Obtén el Access Token","id":"obtén-el-access-token","depth":4},{"value":"Realiza la solicitud","id":"realiza-la-solicitud","depth":4}],"frontmatter":{"seo":{"title":"Autenticación"}},"lastModified":"2026-08-26T18:17:57.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/es/v2/authentication","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}