{"id":8806,"date":"2021-08-17T09:57:13","date_gmt":"2021-08-17T14:57:13","guid":{"rendered":"https:\/\/itsoftware.com.co\/content\/?p=8806"},"modified":"2023-03-16T08:49:16","modified_gmt":"2023-03-16T13:49:16","slug":"automatizacion-de-llamadas-con-asterisk-e-issabel-pbx","status":"publish","type":"post","link":"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/","title":{"rendered":"Automatizaci\u00f3n de llamadas con Asterisk e Issabel PBX"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #0645ad;color:#0645ad\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #0645ad;color:#0645ad\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/#1_El_Dialplan_de_Asterisk\" >1. El Dialplan de Asterisk<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/#2_AGI_-_Asterisk_Gateway_Interface\" >2. AGI - Asterisk Gateway Interface<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/#3_Acceso_a_MySQL_desde_el_dialplan\" >3. Acceso a MySQL desde el dialplan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/#4_AMI_-_Asterisk_Manager_Interface\" >4. AMI - Asterisk Manager Interface<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/2\/#5_Llamadas_automaticas\" >5. Llamadas autom\u00e1ticas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/2\/#6_Festival_Text_to_Speech\" >6. Festival Text to Speech<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/2\/#7_Modulos_personalizados_de_Issabel\" >7. M\u00f3dulos personalizados de Issabel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/itsoftware.com.co\/content\/automatizacion-de-llamadas-con-asterisk-e-issabel-pbx\/2\/#%C2%BFQue_se_puede_hacer_con_estas_alternativas_de_automatizacion_de_llamadas_con_Asterisk\" >\u00bfQu\u00e9 se puede hacer con estas alternativas de automatizaci\u00f3n de llamadas con Asterisk?<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Los sistemas de comunicaci\u00f3n de c\u00f3digo abierto basados en Asterisk, como Issabel PBX, Elastix o FreePBX, permiten la automatizaci\u00f3n de llamadas, para interactuar con los usuarios, y adicionalmente recibir o enviar informaci\u00f3n de otras plataformas.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/asterisk-logo-1.png\" alt=\"Automatizaci\u00f3n de llamadas con Asterisk\" class=\"wp-image-8813\" width=\"474\" height=\"180\" srcset=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/asterisk-logo-1.png 600w, https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/asterisk-logo-1-300x114.png 300w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><figcaption class=\"wp-element-caption\">Automatizaci\u00f3n de llamadas con Asterisk<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br>Enseguida vamos a entrar en m\u00e1s detalle sobre las opciones de Asterisk para la automatizaci\u00f3n de llamadas:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_El_Dialplan_de_Asterisk\"><\/span>1. <strong>El Dialplan de Asterisk<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El dialplan es un script propio de Asterisk, con el cual se controla la secuencia de una llamada,&nbsp; y por lo tanto las diferentes decisiones que se pueden tomar, de acuerdo a las respuestas del usuario, u otro sistema integrado a \u00e9l. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por regla general, el dialplan se encuentra en los archivos llamados <em>extensions.conf<\/em>. Seg\u00fan la distribuci\u00f3n de Asterisk, algunos son autom\u00e1ticamente creados o modificados por Issabel (<em>extensions.conf <\/em>y <em>extensions_additional.conf<\/em>), y hay otro que se puede modificar por el usuario manualmente (<em>extensions_custom.conf<\/em>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En general un dialplan est\u00e1 encabezado por un contexto, que se nombre entre los s\u00edmbolos []. Debajo del contexto se tienen las diferentes l\u00edneas del dialplan, conformadas de la siguiente forma:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong><em>[contexto]<\/em><\/strong>\n<em style=\"\"><b>exten =&gt; extensi\u00f3n, prioridad, Comando(<\/b><\/em><strong><em>par\u00e1metros)<\/em><\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Donde la <strong>extensi\u00f3n <\/strong>indica el n\u00famero que marca un usuario, o un n\u00famero que ingresa por una troncal; la <strong>prioridad <\/strong>muestra la secuencia de ejecuci\u00f3n de los comandos, y el <strong>Comando <\/strong>es la aplicaci\u00f3n que se desea ejecutar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo la l\u00ednea:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">exten =&gt; 123,1,SayDigits(485)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Instruye a asterisk para que cuando el usuario marque 123 o se reciba de entrada por troncal el n\u00famero 123, ejecute en primera instancia la acci\u00f3n: lea los d\u00edgitos 485. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. <strong>AGI &#8211; Asterisk Gateway Interface<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>AGI <\/em>es una funci\u00f3n que permite la ejecuci\u00f3n de scripts PHP,&nbsp; Perl o Phyton externos a Asterisk, intercambiando informaci\u00f3n entre Asterisk y otros sistemas, o bases de datos. La aplicaci\u00f3n <em>AGI <\/em>permite el env\u00edo de par\u00e1metros al script, para que \u00e9stos sean sus datos de entrada. El script devuelve datos a Asterisk por medio de variables que se cargan mediante un objeto <em>AGI<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El archivo del script debe ubicarse en el directorio <em>\/var\/lib\/asterisk\/agi-bin<\/em>, con permisos de ejecuci\u00f3n.  Dicho archivo debe contener una estructura tal y como se muestra:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">!\/usr\/bin\/php -q\n\n&lt;?php \n\nrequire(\"\/var\/lib\/asterisk\/agi-bin\/phpagi.php\");\n\n\/\/Recibe par\u00e1metros desde asterisk\n\n$p1 = $arg[1];\n\n\/\/ Ejecuta algunas acciones en PHP \n\n...\n\n\/\/ Retorna valores a asterisk \n\n$agi = new AGI();\n$agi-&gt;answer();\n$agi-&gt;set_variable('salida',$salida);\n\n?&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Las variables devueltas a asterisk por medio del objeto <em>agi<\/em>, son accesibles mediante el formato <em>${var}<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, si contamos con un script en php llamado <em>accion.php<\/em>, se puede llamar desde el dialplan de la siguiente forma:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">exten =&gt; 123,1,ExecIf($[\"${continua}\"=\"1\" ]?AGI(accion.php,${p1},{p2}))<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En este ejemplo, se ejecuta el script <em>accion.php<\/em> con los par\u00e1metros <em>p1 <\/em>y <em>p2, <\/em>cuando la variable <em>continua <\/em>tiene un valor igual a 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora bien, el objeto <em>AGI <\/em>tambi\u00e9n puede realizar toda la secuencia del dialplan desde el propio script, por medio de comandos que ejecutan desde el script hacia el asterisk, por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Obtiene el n\u00famero del llamante\n$cid = $agi-&gt;parse_callerid();\n\n\/\/ Pronuncia un texto a audio\n$agi-&gt;text2wav(\"Hola buenos dias\");\n\n\/\/ Cuelga la llamada\n$agi-&gt; hangup();<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De este modo, toda la secuencia l\u00f3gica de la llamada se controla desde el script, con las facilidades y funciones que los lenguajes de programaci\u00f3n soportados contienen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Acceso_a_MySQL_desde_el_dialplan\"><\/span>3. Acceso a MySQL desde el dialplan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Desde el dialplan es posible conectarse a una base de datos local o externa, mediante la aplicaci\u00f3n MySQL, integrando los resultados de las consultas a variables del dialplan, o ejecutando otras acciones en la base de datos como inserci\u00f3n, actualizaci\u00f3n o borrado de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El uso de esta funci\u00f3n se realiza de la siguiente forma:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">; Conexi\u00f3n a una base del servidor, con un usuario y contrase\u00f1a v\u00e1lidos \nexten =&gt; _X.,n,MYSQL(Connect connid ${serverdb} ${userdb} ${passdb} ${dbname})\n\n; Se ejecuta la consulta MySQL\nexten =&gt; _X.,n,MYSQL(Query r1 ${connid} SELECT p1, p2 FROM tabla where p2='${EXTEN}')\n\n; Se asignar los resultados de la consulta a variables Asterisk\nexten =&gt; _X.,n,MYSQL(Fetch fetchid ${r1} p1 p2)\n\n; Se libera la consulta\nexten =&gt; _X.,n,MYSQL(Clear ${r1})\n\n; Se realiza la desconexi\u00f3n a la base de datos\nexten =&gt; _X.,n,MYSQL(Disconnect ${connid})<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. AMI &#8211; Asterisk Manager Interface<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es una forma de integrar a Asterisk con aplicaciones externas, mediante una interfaz de tipo TCP\/IP, basado en consultas de tipo <em>clave : valor<\/em>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De este modo se pueden enviar comandos a Asterisk, recibir su respuesta y tambi\u00e9n recibir eventos cuando \u00e9stos ocurran.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>AMI <\/em>se habilita en Asterisk en el archivo <em>manager.conf<\/em>. En este archivo se encuentran las credenciales de ingreso y las direcciones IP con permiso o denegaci\u00f3n para ejecutar comandos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, una vez que se estable la conexi\u00f3n TCP a Asterisk, se pueden enviar comandos tales como:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Action: Login\nActionID: 1\nUsername: administrador\nSecret: contrasena1\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Recibiendo una respuesta de Asterisk como:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Response: Success\nActionID: 1\nMessage: Authentication accepted\n<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<!--nextpage-->\n\n\n\n<h2 class=\"wp-block-heading\">5. <strong>Llamadas autom\u00e1ticas<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Asterisk permite la ejecuci\u00f3n de llamadas de forma autom\u00e1tica, por medio de archivos de extesi\u00f3n .call, que se ubican en un directorio espec\u00edfico del servidor Asterisk, para el caso de Centos, el directorio es <em>\/var\/spool\/asterisk\/outgoing<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el archivo .call se pueden incluir opciones como la cantidad de veces que se intentar\u00e1 realizar una llamada, cu\u00e1l ser\u00e1 su troncal de salida, cu\u00e1l va a ser el contexto, extensi\u00f3n y prioridad en el dialplan que va a usar, y tambi\u00e9n se pueden fijar variables que pueda requerir el asterisk en la ejecuci\u00f3n de la secuencia de la llamada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este es un ejemplo de un archivo llamado <em>llamada.call<\/em> para realizar la comunicaci\u00f3n a un n\u00famero celular 3168459103, usando la troncal  <em>TRK1,<\/em> fijando una variable <em>${var1} <\/em>para Asterisk, intentando 3 veces, esperando 2 horas entre llamadas:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Channel: SIP\/TRK1\/3168459103\nMaxRetries: 3\nWaitTime: 7200\nContext: out-pbx\nExtension: s\nPriority: 1\nSet: var1=5<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. <strong>Festival Text to Speech<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Festival es una aplicaci\u00f3n que permite convertir un texto a voz, desde el dialplan o un script externo.<br>Si se desea usar plataformas m\u00e1s potentes de conversi\u00f3n de texto a audio, se puede hacer el proceso mediante una comunicaci\u00f3n por la API del proveedor del servicio.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">7. <strong>M\u00f3dulos personalizados de Issabel<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Issabel PBX permite la creaci\u00f3n de m\u00f3dulos personalizados por medio del Addon Developer, con el cual se crean los men\u00fas necesarios para llamar funciones, que pueden reportar operaciones o realizar cambios de configuraciones en una base de datos.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"600\" height=\"229\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-1.png\" alt=\"Issabel PBX\" class=\"wp-image-8816\" srcset=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-1.png 600w, https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-1-300x115.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption class=\"wp-element-caption\">Issabel PBX<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"600\" height=\"87\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-developer-addon-1.png\" alt=\"Issabel Developer Addon\" class=\"wp-image-8817\" srcset=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-developer-addon-1.png 600w, https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-developer-addon-1-300x44.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption class=\"wp-element-caption\">Issabel Developer Addon<\/figcaption><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><br><strong>\u00bfQu\u00e9 se puede hacer con estas alternativas de automatizaci\u00f3n de llamadas con Asterisk?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><br>La flexibilidad del dialplan y la ejecuci\u00f3n de scripts mediante el AGI o el AMI, permiten la realizaci\u00f3n de llamadas, con interacci\u00f3n de los clientes por medio de un IVR, recibiendo y enviando informaci\u00f3n con otros sistemas, y sus bases de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De este modo se pueden realizar una automatizaci\u00f3n de llamadas, ya sea para atenci\u00f3n de solicitudes en una mesa de ayuda, o para la consulta de estados de vuelos, reservas de hoteles, estados de env\u00edos, alertas de fallas, y en fin, cualquier tipo de interacci\u00f3n que se requiera entre un cliente, y un sistema externo a asterisk, con el cual se quieran exponer  o guardar sus datos de entrada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Si tu empresa requiere automatizar algunos de sus procesos por medio de Asterisk y sus diferentes opciones, no olvides contactarnos a nuestro Whatsapp, ah\u00ed te podemos asesorar y ayudar con tus necesidades.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este art\u00edculo hace parte del sistema de divulgaci\u00f3n de conocimiento de <a href=\"http:\/\/itsoftware.com.co\"><strong>ITSoftware<\/strong><\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Si te gust\u00f3, por favor no olvides compartirlo en las redes sociales. \ud83d\ude42<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los sistemas de comunicaci\u00f3n de c\u00f3digo abierto basados en Asterisk, como Issabel PBX, Elastix o FreePBX, permiten la automatizaci\u00f3n de llamadas, para interactuar con los usuarios, y adicionalmente recibir o[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":8816,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1384,305,1244],"tags":[384,1558,1559,1560],"class_list":["post-8806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asterisk","category-automatizacion","category-telecomunicaciones","tag-asterisk","tag-elastix","tag-freebpx","tag-issabel"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2021\/08\/issabel-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/8806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/comments?post=8806"}],"version-history":[{"count":0,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/8806\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/media\/8816"}],"wp:attachment":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/media?parent=8806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/categories?post=8806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/tags?post=8806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}