{"id":11963,"date":"2023-08-05T09:06:16","date_gmt":"2023-08-05T09:06:16","guid":{"rendered":"https:\/\/wooshpay.com\/?post_type=docs&#038;p=11963"},"modified":"2023-08-05T09:06:16","modified_gmt":"2023-08-05T09:06:16","password":"","slug":"webhook-signatures","status":"publish","type":"docs","link":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/docs\/webhook-signatures\/","title":{"rendered":"Compruebe las firmas del webhook"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"h-overview\">Visi\u00f3n general<\/h2>\n\n\n\n<p>Verifique los eventos que Wooshpay env\u00eda a sus puntos finales de webhook.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-wooshpay-signature-header\">Encabezado de la firma Wooshpay<\/h3>\n\n\n\n<p>En <code>Wooshpay-Firma<\/code> incluido en cada evento firmado contiene una marca de tiempo y una firma.<\/p>\n\n\n\n<p>El prefijo de la marca de tiempo es <code>t=<\/code>y cada firma lleva como prefijo <code>v1<\/code>.<\/p>\n\n\n\n<p><strong><em>Por ejemplo:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Wooshpay-Signature:t=1492774577,v1=6fdfb9c357542b8ee07277f5fca2c6f728bae2dce9be2f91412f4de922c1bae4<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-webhook-secret-key\">Clave secreta del webhook<\/h3>\n\n\n\n<p>Wooshpay genera un \u00fanico <strong>clave secreta<\/strong> para cada webhook. <code>whsec_<\/code><\/p>\n\n\n\n<p>Antes de verificar las firmas, debe recuperar el secreto de su webhook de <code>webhook.secreto<\/code> en el objeto webhook.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/api.apifox.cn\/api\/v1\/projects\/1296482\/resources\/388595\/image-preview\" alt=\"webhook-secret-key\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-verifying-signatures\">Verificaci\u00f3n de firmas<\/h2>\n\n\n\n<p>Comparando el <strong>firma en la cabecera<\/strong> a la <strong>firma esperada<\/strong>Puede verificar que los pares fueron enviados por Wooshpay y no por un tercero.<\/p>\n\n\n\n<p>Para verificar la firma paso a paso, puede seguir la siguiente gu\u00eda:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-extract-the-timestamp-and-signatures-from-the-header\">Paso 1: Extraer la marca de tiempo y las firmas de la cabecera<\/h3>\n\n\n\n<p>Dividir la cabecera, utilizando la tecla <code>,<\/code> como separador, para obtener una lista de elementos. A continuaci\u00f3n, dividir cada elemento, utilizando el <code>=<\/code> como separador, para obtener un par de prefijo y valor.<\/p>\n\n\n\n<p>El valor del prefijo <code>t<\/code> corresponde a la marca de tiempo, y <code>v1<\/code> corresponde a la firma. Puede descartar todos los dem\u00e1s elementos.<\/p>\n\n\n\n<p><strong><em>Por ejemplo:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>t=1687845304,v1=6fdfb9c357542b8ee07277f5fca2c6f728bae2dce9be2f91412f4de922c1bae4<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-2-prepare-the-signed-payload-string\">Paso 2: Preparar el <code>carga_firmada<\/code> cadena<\/h3>\n\n\n\n<p>En <code>carga_firmada<\/code> se crea concatenando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La marca de tiempo (en forma de cadena)<\/li>\n\n\n\n<li>El personaje <code>.<\/code><\/li>\n\n\n\n<li>La carga \u00fatil JSON real (el cuerpo de la solicitud)<\/li>\n<\/ul>\n\n\n\n<p><strong><em>Por ejemplo:<\/em><\/strong><\/p>\n\n\n\n<p><em><code>1687845304<\/code><strong>+<\/strong><code>.<\/code><strong>+<\/strong><code>Carga \u00fatil JSON<\/code><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1687845304.{\n  \"id\": \"evt_1NNUrjL6kclEVx6Mb1x5dKJ3\",\n  \"object\": \"event\",\n  \"api_version\": \"2022-11-15\",\n  \"created\": 1687845303,\n  \"data\": {\n    \"objeto\": {\n      \"id\": \"prod_O9oUVgsSaordCT\",\n      \"object\": \"producto\",\n      \"active\": true,\n      \"livemode\": true,\n      \"name\": \"test\",\n      \"type\": \"service\",\n  \"livemode\": true,\n  \"pending_webhooks\": 1,\n  \"type\": \"producto.creado\"\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-determine-the-expected-signature\">Paso 3: Determinar la firma prevista<\/h3>\n\n\n\n<p>Calcula un HMAC con la funci\u00f3n hash SHA256.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilice el secreto del webhook del endpoint como el <strong>clave<\/strong>que puede obtener en <code>webhook.secreto<\/code> en objeto webhook<\/li>\n\n\n\n<li>Utiliza el <code>carga_firmada<\/code> como la cadena <strong>mensaje<\/strong> que ya prepar\u00f3 en el paso 2.<\/li>\n<\/ul>\n\n\n\n<p>A trav\u00e9s de la <strong>clave<\/strong> + <strong>mensaje<\/strong>se puede calcular una cadena HMAC, que es <strong>firma esperada<\/strong><\/p>\n\n\n\n<p><strong><em>Por ejemplo:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> public static void main(String[] args) {\n        String webhookSecret = \"whsec_261V2mfsXt1BsOjJbHaQOxnTzhWZKrUE\";\n        String timestamp = \"1687845304\";\n        String requestBody = \"{\\\"id\\\":\\\"evt_1NNUrjL6kclEVx6Mb1x5dKJ3\\\",\\\"object\\\":\\\"event\\\",\\\"api_version\\\":\\\"2022-11-15\\\",\\\"created\\\":1687845303,\\\"data\\\":{\\\"object\\\":{\\\"id\\\":\\\"prod_O9oUVgsSaordCT\\\",\\\"object\\\":\\\"product\\\",\\\"active\\\":true,\\\"livemode\\\":true,\\\"name\\\":\\\"test\\\",\\\"type\\\":\\\"service\\\",\\\"livemode\\\":true,\\\"pending_webhooks\\\":1,\\\"type\\\":\\\"product.created\"}\";\n        String signedPayload = timestamp+\". \"+requestBody;\n        String signature = hmacSha256(webhookSecret,signedPayload);\n        String WooshpaySignature = \"t=\"+timestamp+\",v1=\"+firma;\n    }\n\n    \/**\n     * HMAC-SHA256\n     *\/\n    public static String hmacSha256(String secreto, String mensaje) {\n        String res;\n        try {\n            Mac mac = Mac.getInstance(\"HmacSHA256\");\n            SecretKey secretKey = new SecretKeySpec(secret.getBytes(), \"HmacSHA256\");\n            mac.init(secretKey);\n            byte[] hash = mac.doFinal(message.getBytes());\n            res = Hex.encodeHexString(hash);\n        } catch (Exception e) {\n            return null;\n        }\n        return res;\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-4-compare-the-signatures\">Paso 4: Comparar las firmas<\/h3>\n\n\n\n<p>Compare el <strong>firma en la cabecera<\/strong> a la <strong>firma esperada<\/strong>.<\/p>\n\n\n\n<p>Para una coincidencia de igualdad, calcule la diferencia entre el <strong>hora actual<\/strong> y el <strong>hora de recepci\u00f3n<\/strong>y luego decide si la diferencia est\u00e1 dentro de tu tolerancia.<\/p>\n\n\n\n<p>Para protegerse de los ataques de sincronizaci\u00f3n, puede utilizar una comparaci\u00f3n de cadenas en tiempo constante para comparar la firma esperada con cada una de las firmas recibidas.<\/p>","protected":false},"excerpt":{"rendered":"<p>Overview Verify the events that Wooshpay sends to your webhook endpoints. Wooshpay signature header The Wooshpay-Signature header included in each signed event contains a timestamp and signature. The timestamp is prefixed by t=, and each signature is prefixed by v1. For example: Webhook secret key Wooshpay generates a unique secret key for each webhook. whsec_ [&hellip;]<\/p>","protected":false},"author":1,"featured_media":11965,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"doc_category":[316],"doc_tag":[324,323,319],"class_list":["post-11963","docs","type-docs","status-publish","has-post-thumbnail","hentry","doc_category-after-the-payments","doc_tag-open-api","doc_tag-payment","doc_tag-payment-flow"],"year_month":"2026-04","word_count":520,"total_views":"2212","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"wooshpaysite\u7ba1\u7406\u5458","author_nicename":"wooshpaysiteadmin","author_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/author\/wooshpaysiteadmin\/"},"doc_category_info":[{"term_name":"After the payments","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/docs-category\/after-the-payments\/"}],"doc_tag_info":[{"term_name":"open api","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/docs-tag\/open-api\/"},{"term_name":"payment","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/docs-tag\/payment\/"},{"term_name":"Payment Flow","term_url":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/docs-tag\/payment-flow\/"}],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.8 (Yoast SEO v24.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Check the webhook signatures - WooshPay<\/title>\n<meta name=\"description\" content=\"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Check the webhook signatures\" \/>\n<meta property=\"og:description\" content=\"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\" \/>\n<meta property=\"og:site_name\" content=\"WooshPay\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1016\" \/>\n\t<meta property=\"og:image:height\" content=\"1036\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\",\"url\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\",\"name\":\"Check the webhook signatures - WooshPay\",\"isPartOf\":{\"@id\":\"https:\/\/www.wooshpay.com\/zh\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\",\"datePublished\":\"2023-08-05T09:06:16+00:00\",\"description\":\"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.\",\"breadcrumb\":{\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage\",\"url\":\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\",\"contentUrl\":\"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png\",\"width\":1016,\"height\":1036,\"caption\":\"webhook signatures\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.wooshpay.com\/zh\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/wooshpay.com\/fr\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Check the webhook signatures\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wooshpay.com\/zh\/#website\",\"url\":\"https:\/\/www.wooshpay.com\/zh\/\",\"name\":\"WooshPay\",\"description\":\"One-stop payment platform\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wooshpay.com\/zh\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comprobar las firmas del webhook - WooshPay","description":"Verifique los eventos que Wooshpay env\u00eda a sus puntos finales de webhook.Encabezado de firma de WooshpayEl encabezado Wooshpay-Signature incluido en cada evento firmado contiene una marca de tiempo y una firma.","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:\/\/wooshpay.com\/docs\/webhook-signatures\/","og_locale":"es_ES","og_type":"article","og_title":"Check the webhook signatures","og_description":"Verify the events that Wooshpay sends to your webhook endpoints.Wooshpay signature headerThe Wooshpay-Signature header included in each signed event contains a timestamp and signature.","og_url":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","og_site_name":"WooshPay","og_image":[{"width":1016,"height":1036,"url":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","url":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/","name":"Comprobar las firmas del webhook - WooshPay","isPartOf":{"@id":"https:\/\/www.wooshpay.com\/zh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage"},"image":{"@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage"},"thumbnailUrl":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","datePublished":"2023-08-05T09:06:16+00:00","description":"Verifique los eventos que Wooshpay env\u00eda a sus puntos finales de webhook.Encabezado de firma de WooshpayEl encabezado Wooshpay-Signature incluido en cada evento firmado contiene una marca de tiempo y una firma.","breadcrumb":{"@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wooshpay.com\/docs\/webhook-signatures\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#primaryimage","url":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","contentUrl":"https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png","width":1016,"height":1036,"caption":"webhook signatures"},{"@type":"BreadcrumbList","@id":"https:\/\/wooshpay.com\/docs\/webhook-signatures\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.wooshpay.com\/zh\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/wooshpay.com\/fr\/docs\/"},{"@type":"ListItem","position":3,"name":"Check the webhook signatures"}]},{"@type":"WebSite","@id":"https:\/\/www.wooshpay.com\/zh\/#website","url":"https:\/\/www.wooshpay.com\/zh\/","name":"WooshPay","description":"Plataforma de pago \u00fanica","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wooshpay.com\/zh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"uagb_featured_image_src":{"full":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png",1016,1036,false],"thumbnail":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-150x150.png",150,150,true],"medium":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-294x300.png",294,300,true],"medium_large":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-768x783.png",768,783,true],"large":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-1004x1024.png",1004,1024,true],"1536x1536":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png",1016,1036,false],"2048x2048":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945.png",1016,1036,false],"trp-custom-language-flag":["https:\/\/wooshpay-official-img.oss-accelerate.aliyuncs.com\/wp-content\/uploads\/2023\/08\/1db8719e-9e38-4e27-b4bb-3f0b5ef40945-12x12.png",12,12,true]},"uagb_author_info":{"display_name":"wooshpaysite\u7ba1\u7406\u5458","author_link":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/author\/wooshpaysiteadmin\/"},"uagb_comment_info":0,"uagb_excerpt":"Overview Verify the events that Wooshpay sends to your webhook endpoints. Wooshpay signature header The Wooshpay-Signature header included in each signed event contains a timestamp and signature. The timestamp is prefixed by t=, and each signature is prefixed by v1. For example: Webhook secret key Wooshpay generates a unique secret key for each webhook. whsec_&hellip;","_links":{"self":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/docs\/11963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/comments?post=11963"}],"version-history":[{"count":0,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/docs\/11963\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/media\/11965"}],"wp:attachment":[{"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/media?parent=11963"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/doc_category?post=11963"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/d2jcf4noflr1cd.cloudfront.net\/es\/wp-json\/wp\/v2\/doc_tag?post=11963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}