{"id":3225,"date":"2026-03-05T13:08:40","date_gmt":"2026-03-05T12:08:40","guid":{"rendered":"https:\/\/punchoutrocket.com\/integracion-de-comercio-electronico-personalizada\/"},"modified":"2026-04-24T15:49:05","modified_gmt":"2026-04-24T13:49:05","slug":"integracion-de-comercio-electronico-personalizada","status":"publish","type":"page","link":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/","title":{"rendered":"Integraci\u00f3n de comercio electr\u00f3nico personalizada"},"content":{"rendered":"<\/p>\n<div  id=\"introduction\"  class='flex_column av-22n5q5-72024669ccc0586c479509a86d02867e av_one_full  avia-builder-el-0  avia-builder-el-no-sibling  first flex_column_div  '     ><p>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-mhj33pbb-9d42125666ae412a46820e8055e78f60\">\n#top .av-special-heading.av-mhj33pbb-9d42125666ae412a46820e8055e78f60{\npadding-bottom:10px;\n}\nbody .av-special-heading.av-mhj33pbb-9d42125666ae412a46820e8055e78f60 .av-special-heading-tag .heading-char{\nfont-size:25px;\n}\n.av-special-heading.av-mhj33pbb-9d42125666ae412a46820e8055e78f60 .av-subheading{\nfont-size:15px;\n}\n<\/style>\n<div  class='av-special-heading av-mhj33pbb-9d42125666ae412a46820e8055e78f60 av-special-heading-h2 blockquote modern-quote  avia-builder-el-1  el_before_av_textblock  avia-builder-el-first '><h2 class='av-special-heading-tag '  itemprop=\"headline\"  >Especificaci\u00f3n de la API REST para comercio electr\u00f3nico personalizado<\/h2><div class='av-subheading av-subheading_below'><p>Esta documentaci\u00f3n t\u00e9cnica describe los endpoints, webhooks, comportamientos de SSO y payloads JSON necesarios para conectar una plataforma de comercio electr\u00f3nico propietaria o headless al middleware de PunchOut Rocket.<\/p>\n<\/div><div class=\"special-heading-border\"><div class=\"special-heading-inner-border\"><\/div><\/div><\/div><br \/>\n<section  class='av_textblock_section av-mmdf8kgq-0e979a6b7f851c50b218992ffaba6a19 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><p>Este documento describe lo que debe proporcionar la implementaci\u00f3n de comercio electr\u00f3nico personalizada para que pueda configurarse en los campos de administraci\u00f3n:<\/p>\n<ul>\n<li>\u201cEndpoint de clonaci\u00f3n personalizado\u201d<\/li>\n<li>\u201cEndpoint de categor\u00edas personalizado\u201d<\/li>\n<\/ul>\n<p>Adem\u00e1s, describe:<\/p>\n<ul>\n<li>Comportamiento de inicio de sesi\u00f3n autom\u00e1tico \/ SSO<\/li>\n<li>Formulario de autoenv\u00edo (reenv\u00edo del carrito al middleware)<\/li>\n<\/ul>\n<p>Incluye los verbos HTTP obligatorios, los par\u00e1metros, el significado de los par\u00e1metros y los posibles valores, las respuestas esperadas (\u00e9xito y error) y ejemplos concretos.<\/p>\n<p>1) Endpoint de clonaci\u00f3n personalizado<br \/>\nUtilizado por el middleware para:<\/p>\n<ul>\n<li>Crear un nuevo pedido\/sesi\u00f3n en la tienda remota (flujo \u201ccreate\u201d), o<\/li>\n<li>Editar\/rellenar un pedido\/carrito existente (flujo EDIT). El endpoint debe devolver uno de los siguientes:<\/li>\n<li>Una URL de SSO que inicie sesi\u00f3n al comprador con un token de un solo uso en el sitio remoto, donde el usuario puede ser redirigido al carrito si es un flujo EDIT y el carrito est\u00e1 rellenado, puede ser redirigido al producto seleccionado (en caso de que se comunique durante el flujo \u201ccreate\u201d); de lo contrario, se le redirige a la p\u00e1gina de inicio.<\/li>\n<\/ul>\n<p>Ruta de URL recomendada (ejemplo):<\/p>\n<ul>\n<li>POST https:\/\/your-store.example.com\/api\/punchout\/clone<\/li>\n<\/ul>\n<p>Verbo HTTP<\/p>\n<ul>\n<li>POST (obligatorio). Use cuerpo JSON (application\/json). El middleware llamar\u00e1 a POST.  <\/li>\n<\/ul>\n<p>Cuerpo de la solicitud (JSON)<br \/>\nCampos base (siempre presentes)<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>username (string) \u2014 nombre de usuario en el comercio electr\u00f3nico del usuario que se va a clonar para generar un nuevo usuario vinculado a la sesi\u00f3n de punchout.<\/li>\n<li>api_key (string) \u2014 clave de API que debe coincidir con la configurada en Punchout Rocket para el comercio electr\u00f3nico actual<\/li>\n<li>end_customer_id (integer) &#8211; identificador del cliente final en el middleware de Punchout Rocket para el comercio electr\u00f3nico de la solicitud punchout actual<\/li>\n<li>session_token (string) \u2014 Buyer Cookie \u00fanico en caso de CXML o UUID \u00fanico o similar en caso de OCI<\/li>\n<li>operation (string) \u2014 \u201ccreate\u201d o \u201cedit\u201d o \u201cinspect\u201d en caso de CXML, \u201ccreate\u201d en caso de OCI. En caso de \u201cedit\u201d o \u201cinspect\u201d puede pasarse una lista de art\u00edculos del carrito <\/li>\n<li>gateway_base_url (string) \u2014 URL del middleware al que posteriormente debe enviarse el carrito<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Adiciones espec\u00edficas del protocolo<\/p>\n<ul>\n<li>Si el protocolo resuelto es CXML, pueden a\u00f1adirse estos campos adicionales:<\/li>\n<\/ul>\n<p>selected_item (object) \u2014 identificaci\u00f3n del producto al que se debe redirigir al usuario; opcional en caso de operaci\u00f3n \u201ccreate\u201d:<\/p>\n<ul>\n<li>supplier_part_id (string) \u2014 identificador del SKU (c\u00f3digo de producto) en el comercio electr\u00f3nico (si existe)<\/li>\n<li>supplier_part_auxiliary_id (string) \u2014 identificador del ID de producto en el comercio electr\u00f3nico (si existe)<\/li>\n<\/ul>\n<p>Ejemplo: json<\/p>\n<pre>{  \n  \"selected_item\":  \n  {  \n  \"supplier_part_id\": \"ABC-001\",  \n  \"supplier_part_auxiliary_id\": \"19852\"  \n  }  \n}\n<\/pre>\n<p>cart_items (array) \u2014 la lista de art\u00edculos del carrito que deben volver a a\u00f1adirse al carrito de la sesi\u00f3n actual. Cada elemento de cart_items suele contener:<\/p>\n<ul>\n<li>sku (string) \u2014 identificador del SKU (c\u00f3digo de producto) en el comercio electr\u00f3nico (si existe)<\/li>\n<li>product_id (string) \u2014 identificador del ID de producto en el comercio electr\u00f3nico (si existe)<\/li>\n<li>quantity (integer) &#8211; cantidad del art\u00edculo en el carrito<\/li>\n<li>price (n\u00famero decimal con punto como separador decimal) &#8211; precio unitario del art\u00edculo en el carrito. Tenga en cuenta que se actualizar\u00e1 al precio actual cuando el usuario sea redirigido al carrito <\/li>\n<li>description (string) &#8211; descripci\u00f3n del producto<\/li>\n<li>currency (string) \u2014 c\u00f3digo de divisa ISO 4217<\/li>\n<\/ul>\n<p>Ejemplo de payload (create, CXML, con art\u00edculo seleccionado)<\/p>\n<pre>{\n  \"username\": \"buyer123\",\n  \"api_key\": \"site-api-key-abc\",\n  \"session_token\": \"sess-012345\",\n  \"operation\": \"create\",\n  \"end_customer_id\" : 2,\n  \"gateway_base_url\": \"https:\/\/middleware.example.com\",\n  \"selected_item\": {\n  \"supplier_part_id\": \"X-100\",\n  \"supplier_part_auxiliary_id\": \"19853\"\n  }\n}\n<\/pre>\n<p>Ejemplo de payload (edit, CXML, carrito rellenado)<\/p>\n<pre>{\n  \"username\": \"buyer123\",\n  \"api_key\": \"site-api-key-abc\",\n  \"session_token\": \"sess-67890\",\n  \"operation\": \"edit\",\n  \"end_customer_id\" : 2,\n  \"gateway_base_url\": \"https:\/\/middleware.example.com\",\n  \"cart_items\": [\n  {\n  \"sku\": \"ABC-001\",\n  \"product_id\": \"19852\",\n  \"quantity\": 2,\n  \"price\": 15.95,\n  \"description\" : \"Descripci\u00f3n de ejemplo\",\n  \"currency\": \"EUR\"\n  },\n  {\n  \"sku\": \"XYZ-002\",\n  \"product_id\": \"19854\",\n  \"quantity\": 1,\n  \"price\": 249.00,\n  \"description\" : \"Otra descripci\u00f3n de ejemplo\",\n  \"currency\": \"EUR\"\n  }\n  ]\n}\n<\/pre>\n<p>Respuesta(s) de \u00e9xito<br \/>\nOpci\u00f3n A \u2014 Proporcionar una URL de SSO directa (JSON) &#8211; HTTP 200 &#8211; Content-Type: application\/json &#8211; Body:<\/p>\n<pre>{\n  \"status\":\"ok\",\n  \"sso_url\":\"https:\/\/your-store.example.com\/sso?token=eyJ\u2026\"\n}\n<\/pre>\n<p>Comportamiento: El middleware redirigir\u00e1 al comprador a sso_url (GET) y la devolver\u00e1 a la plataforma de compras en caso de CXML o directamente en caso de OCI. La tienda remota debe consumir el token, iniciar sesi\u00f3n al usuario y, a continuaci\u00f3n: <\/p>\n<ul>\n<li>Si la acci\u00f3n es \u201cedit\u201d o \u201cinspect\u201d: el sitio remoto debe leer la informaci\u00f3n del carrito y rellenarlo para que el usuario llegue a la tienda en la p\u00e1gina del carrito con los art\u00edculos ya en el carrito y con las cantidades correspondientes.<\/li>\n<li>Si la acci\u00f3n es \u201ccreate\u201d: el sitio remoto debe redirigir al art\u00edculo seleccionado si se ha pasado y se ha encontrado; de lo contrario, el usuario debe aterrizar en el escaparate<\/li>\n<\/ul>\n<p>Respuestas de error<br \/>\nHTTP 400 \u2014 Solicitud incorrecta (faltan campos obligatorios) json<\/p>\n<pre>{  \n  \"status\":\"error\",  \n  \"error_code\":\"invalid_request\",  \n  \"message\":\"Falta el campo: action\"  \n}<\/pre>\n<p>HTTP 422 \u2014 No se puede crear el SSO (p. ej., falta la identidad del comprador) json<\/p>\n<pre>{  \n  \"status\":\"error\",  \n  \"error_code\":\"sso_unavailable\",  \n  \"message\":\"No se puede generar el token de SSO para este usuario\"  \n}\n<\/pre>\n<p>HTTP 500 \u2014 Error interno json<\/p>\n<pre>{  \n  \"status\":\"error\",  \n  \"error_code\":\"internal_error\"  \n}\n<\/pre>\n<p>2) Flujo de trabajo de inicio de sesi\u00f3n autom\u00e1tico y SSO (c\u00f3mo iniciar sesi\u00f3n al comprador y rellenar el carrito)<br \/>\nAl responder con sso_url, la tienda debe:<\/p>\n<ul>\n<li>Consumir el token (para que no pueda usarse dos veces) e iniciar sesi\u00f3n al comprador con el usuario clonado.<\/li>\n<li>Despu\u00e9s del inicio de sesi\u00f3n:\n<ul>\n<li>Si la acci\u00f3n es \u201cedit\u201d:\n<ul>\n<li>Rellenar el carrito del usuario con los productos y cantidades exactos proporcionados como art\u00edculos del carrito.<\/li>\n<li>Redirigir al usuario a la p\u00e1gina de carrito\/checkout, donde podr\u00e1 editar antes de finalizar la compra.<\/li>\n<\/ul>\n<\/li>\n<li>Si la acci\u00f3n es \u201ccreate\u201d:\n<ul>\n<li>Opcionalmente, redirigir al producto especificado como art\u00edculo seleccionado. Si el middleware no proporcion\u00f3 ning\u00fan art\u00edculo seleccionado o si ya no se encuentra en el comercio electr\u00f3nico, hacer que el usuario aterrice en la p\u00e1gina de inicio de la tienda. <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Seguridad:<\/p>\n<ul>\n<li>Utilice solo HTTPS.<\/li>\n<li>Los tokens deben ser de un solo uso.<\/li>\n<\/ul>\n<p>3) Formulario de autoenv\u00edo (transferencia del carrito)<br \/>\nCuando la tienda deba enviar el carrito\/confirmaci\u00f3n del carrito de vuelta al middleware (despu\u00e9s del inicio de sesi\u00f3n por SSO al a\u00f1adir productos al carrito o al editarlo), cuando el usuario haga clic en el bot\u00f3n (normalmente en el carrito) que deber\u00eda iniciar el checkout del carrito y, en su lugar, en el caso de usuarios clonados de sesiones punchout, debe hacer POST de un formulario (content-type: application\/x-www-form-urlencoded) a la URL del middleware comunicada en la solicitud al endpoint de clonaci\u00f3n, en la ruta relativa \u00ab\/start-sso-checkout\u00bb. La UX preferida: la tienda sirve una p\u00e1gina HTML que muestra un cargador y que env\u00eda autom\u00e1ticamente un formulario oculto al endpoint del middleware (esto hace que el SSO sea fluido). <\/p>\n<p>Campos del formulario esperados por el middleware:<\/p>\n<ul>\n<li>session_token (string) \u2014 token de sesi\u00f3n recibido por el comercio electr\u00f3nico durante la solicitud de clonaci\u00f3n<\/li>\n<li>end_customer_id (integer) \u2014 identificaci\u00f3n del cliente final recibida por el comercio electr\u00f3nico durante la solicitud de clonaci\u00f3n<\/li>\n<li>Para cada art\u00edculo del carrito, debemos tener datos de formulario con \u00edndice cero; por ejemplo, con la clave products[0][product_id] para el ID de producto del primer art\u00edculo del carrito. Para cada art\u00edculo del carrito, la lista de campos es\n<ul>\n<li>sku (string) \u2014 identificador del SKU (c\u00f3digo de producto) en el comercio electr\u00f3nico (si existe)<\/li>\n<li>product_id (string) \u2014 identificador del ID de producto en el comercio electr\u00f3nico (si existe)<\/li>\n<li>description (string) \u2014 descripci\u00f3n del producto<\/li>\n<li>quantity (integer) \u2014 cantidad del producto en el carrito<\/li>\n<li>price (n\u00famero decimal con punto como separador decimal) \u2014 precio unitario<\/li>\n<li>currency (string) \u2014 c\u00f3digo de divisa ISO 4217<\/li>\n<li>manufacturer_name (string) &#8211; fabricante del producto<\/li>\n<li>category_ids (string) \u2014 lista, separada por comas, de los ID enteros de categor\u00eda en el comercio electr\u00f3nico de las categor\u00edas a las que pertenece directamente el producto (normalmente hoja en la estructura de \u00e1rbol de categor\u00edas)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Ejemplo de formulario HTML de autoenv\u00edo (la tienda devuelve al navegador del usuario y lo env\u00eda autom\u00e1ticamente de vuelta al middleware):<\/p>\n<pre><!-- Example auto-post form -->\n\n<input name=\"api_key\" type=\"hidden\" value=\"site-api-key-abc\">\n<input name=\"session_token\" type=\"hidden\" value=\"session_token\">\n<input name=\"products&#091;0&#093;&#091;sku&#093;\" type=\"hidden\" value=\"ABC-001\">\n<input name=\"products&#091;0&#093;&#091;product_id&#093;\" type=\"hidden\" value=\"19852\">\n<input name=\"products&#091;0&#093;&#091;description&#093;\" type=\"hidden\" value=\"Example description\">\n<input name=\"products&#091;0&#093;&#091;quantity&#093;\" type=\"hidden\" value=\"2\">\n<input name=\"products&#091;0&#093;&#091;price&#093;\" type=\"hidden\" value=\"31.90\">\n<input name=\"products&#091;0&#093;&#091;currency&#093;\" type=\"hidden\" value=\"EUR\">\n<input name=\"products&#091;0&#093;&#091;manufacturer_name&#093;\" type=\"hidden\" value=\"3M\">\n<input name=\"products&#091;0&#093;&#091;category_ids&#093;\" type=\"hidden\" value=\"1145,3398\">\n<input name=\"products&#091;1&#093;&#091;sku&#093;\" type=\"hidden\" value=\"XYZ-002\">\n<input name=\"products&#091;1&#093;&#091;product_id&#093;\" type=\"hidden\" value=\"19854\">\n<input name=\"products&#091;1&#093;&#091;description&#093;\" type=\"hidden\" value=\"Another example description\">\n<input name=\"products&#091;1&#093;&#091;quantity&#093;\" type=\"hidden\" value=\"4\">\n<input name=\"products&#091;1&#093;&#091;price&#093;\" type=\"hidden\" value=\"10.90\">\n<input name=\"products&#091;1&#093;&#091;currency&#093;\" type=\"hidden\" value=\"EUR\">\n<input name=\"products&#091;1&#093;&#091;manufacturer_name&#093;\" type=\"hidden\" value=\"DEWALT\">\n<input name=\"products&#091;1&#093;&#091;category_ids&#093;\" type=\"hidden\" value=\"2146,3134\">\n\n<script>document.getElementById('punchout_repost').submit();<\/script>\n<\/pre>\n<p>Comportamiento:<\/p>\n<ul>\n<li>El navegador env\u00eda autom\u00e1ticamente un POST a middleware_callback.<\/li>\n<li>El middleware recibe el carrito y contin\u00faa su flujo de trabajo a\u00f1adiendo c\u00f3digos de categor\u00eda (p. ej., UNSPSC) calculados al hacer coincidir las categor\u00edas del comercio electr\u00f3nico con c\u00f3digos de categor\u00eda remapeados.<\/li>\n<\/ul>\n<p>4) Endpoint de categor\u00edas personalizado<br \/>\nUtilizado por el middleware\/admin para obtener categor\u00edas de la tienda remota y permitir el mapeo con c\u00f3digos de categor\u00eda est\u00e1ndar (p. ej., UNSPSC).<\/p>\n<p>Ruta de URL recomendada (ejemplo):<\/p>\n<ul>\n<li>POST https:\/\/your-store.example.com\/api\/punchout\/categories<\/li>\n<\/ul>\n<p>Verbo HTTP<\/p>\n<ul>\n<li>POST (obligatorio). Se permiten par\u00e1metros de consulta opcionales (v\u00e9ase m\u00e1s abajo). <\/li>\n<\/ul>\n<p>Par\u00e1metros de consulta<\/p>\n<ul>\n<li>api_key (string) \u2014 clave de API que debe coincidir con la configurada en Punchout Rocket para el comercio electr\u00f3nico actual<\/li>\n<\/ul>\n<p>Respuesta correcta<br \/>\nHTTP 200<br \/>\nContent-Type: application\/json<br \/>\nCuerpo:<\/p>\n<pre>{\n  \"status\":\"ok\",\n  \"categories\":[\n  {\"id\":1345,\"name\":\"Material de oficina\",\"parent_id\":0},\n  {\"id\":1847,\"name\":\"Bol\u00edgrafos\",\"parent_id\":1345},\n     {\"id\":2345,\"name\":\"Electr\u00f3nica\",\"parent_id\":0}\n  ]\n}\n<\/pre>\n<p>Sem\u00e1ntica:<\/p>\n<ul>\n<li>id (integer) \u2014 identificador \u00fanico (normalmente el ID entero de la categor\u00eda en la tabla de categor\u00edas del comercio electr\u00f3nico) de la categor\u00eda, que posteriormente el middleware utilizar\u00e1 al enviar el carrito al sistema de compras con categor\u00edas remapeadas (p. ej., c\u00f3digo UNSPSC).<\/li>\n<li>name (string) \u2014 nombre para mostrar<\/li>\n<li>parent_id (integer) \u2014 identificador \u00fanico (normalmente el ID entero de la categor\u00eda en la tabla de categor\u00edas del comercio electr\u00f3nico) de la categor\u00eda padre de la categor\u00eda actual. Normalmente \u201c0\u201d si no tiene una categor\u00eda padre <\/li>\n<\/ul>\n<p>Respuestas de error:<\/p>\n<ul>\n<li>HTTP 400 \u2014 consulta no v\u00e1lida<\/li>\n<li>HTTP 500 \u2014 error interno<\/li>\n<\/ul>\n<p>Ejemplo de solicitud: GET \/api\/punchout\/categories?api_key=site-api-key-abc<\/p>\n<p>Ejemplo de respuesta:<\/p>\n<pre>{\n  \"status\":\"ok\",\n  \"categories\":[\n  {\"id\":1345,\"name\":\"Material de oficina\",\"parent_id\":0},\n  {\"id\":1847,\"name\":\"Bol\u00edgrafos\",\"parent_id\":1345},\n     {\"id\":2345,\"name\":\"Electr\u00f3nica\",\"parent_id\":0}\n  ]\n}\n<\/pre>\n<p>5) Notas de implementaci\u00f3n<\/p>\n<ul>\n<li>Utilice siempre HTTPS.<\/li>\n<li>Utilice tokens de SSO de un solo uso.<\/li>\n<li>Al enviar l\u00edneas del carrito, mantenga el orden de los \u00edndices (sku[], product_id[], quantity[], unit_price[], extended_price[], categories[]). El middleware emparejar\u00e1 los art\u00edculos por \u00edndice. <\/li>\n<\/ul>\n<\/div><\/section><\/p><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3225","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>API de PunchOut para comercio electr\u00f3nico | PunchOut Rocket<\/title>\n<meta name=\"description\" content=\"Documentaci\u00f3n para desarrolladores y especificaciones de la API REST para integrar plataformas de comercio electr\u00f3nico con PunchOut Rocket.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"API de PunchOut para comercio electr\u00f3nico | PunchOut Rocket\" \/>\n<meta property=\"og:description\" content=\"Documentaci\u00f3n para desarrolladores y especificaciones de la API REST para integrar plataformas de comercio electr\u00f3nico con PunchOut Rocket.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/\" \/>\n<meta property=\"og:site_name\" content=\"Punchout Rocket plugin\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T13:49:05+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/integracion-de-comercio-electronico-personalizada\\\/\",\"url\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/integracion-de-comercio-electronico-personalizada\\\/\",\"name\":\"API de PunchOut para comercio electr\u00f3nico | PunchOut Rocket\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/#website\"},\"datePublished\":\"2026-03-05T12:08:40+00:00\",\"dateModified\":\"2026-04-24T13:49:05+00:00\",\"description\":\"Documentaci\u00f3n para desarrolladores y especificaciones de la API REST para integrar plataformas de comercio electr\u00f3nico con PunchOut Rocket.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/integracion-de-comercio-electronico-personalizada\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/integracion-de-comercio-electronico-personalizada\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/integracion-de-comercio-electronico-personalizada\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integraci\u00f3n de comercio electr\u00f3nico personalizada\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/\",\"name\":\"Punchout Rocket plugin\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/#organization\",\"name\":\"Punchout Rocket plugin\",\"url\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/punchoutrocket.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/punchoutrocket.png\",\"contentUrl\":\"https:\\\/\\\/punchoutrocket.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/punchoutrocket.png\",\"width\":552,\"height\":184,\"caption\":\"Punchout Rocket plugin\"},\"image\":{\"@id\":\"https:\\\/\\\/punchoutrocket.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"API de PunchOut para comercio electr\u00f3nico | PunchOut Rocket","description":"Documentaci\u00f3n para desarrolladores y especificaciones de la API REST para integrar plataformas de comercio electr\u00f3nico con PunchOut Rocket.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/","og_locale":"es_ES","og_type":"article","og_title":"API de PunchOut para comercio electr\u00f3nico | PunchOut Rocket","og_description":"Documentaci\u00f3n para desarrolladores y especificaciones de la API REST para integrar plataformas de comercio electr\u00f3nico con PunchOut Rocket.","og_url":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/","og_site_name":"Punchout Rocket plugin","article_modified_time":"2026-04-24T13:49:05+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/","url":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/","name":"API de PunchOut para comercio electr\u00f3nico | PunchOut Rocket","isPartOf":{"@id":"https:\/\/punchoutrocket.com\/es\/#website"},"datePublished":"2026-03-05T12:08:40+00:00","dateModified":"2026-04-24T13:49:05+00:00","description":"Documentaci\u00f3n para desarrolladores y especificaciones de la API REST para integrar plataformas de comercio electr\u00f3nico con PunchOut Rocket.","breadcrumb":{"@id":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/punchoutrocket.com\/es\/integracion-de-comercio-electronico-personalizada\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/punchoutrocket.com\/es\/"},{"@type":"ListItem","position":2,"name":"Integraci\u00f3n de comercio electr\u00f3nico personalizada"}]},{"@type":"WebSite","@id":"https:\/\/punchoutrocket.com\/es\/#website","url":"https:\/\/punchoutrocket.com\/es\/","name":"Punchout Rocket plugin","description":"","publisher":{"@id":"https:\/\/punchoutrocket.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/punchoutrocket.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/punchoutrocket.com\/es\/#organization","name":"Punchout Rocket plugin","url":"https:\/\/punchoutrocket.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/punchoutrocket.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/punchoutrocket.com\/wp-content\/uploads\/2025\/10\/punchoutrocket.png","contentUrl":"https:\/\/punchoutrocket.com\/wp-content\/uploads\/2025\/10\/punchoutrocket.png","width":552,"height":184,"caption":"Punchout Rocket plugin"},"image":{"@id":"https:\/\/punchoutrocket.com\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/pages\/3225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/comments?post=3225"}],"version-history":[{"count":15,"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/pages\/3225\/revisions"}],"predecessor-version":[{"id":5282,"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/pages\/3225\/revisions\/5282"}],"wp:attachment":[{"href":"https:\/\/punchoutrocket.com\/es\/wp-json\/wp\/v2\/media?parent=3225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}