{"id":304,"date":"2019-03-25T17:30:13","date_gmt":"2019-03-25T20:30:13","guid":{"rendered":"http:\/\/xexeu.elipse.com.br\/pt\/armazenamento-de-eventos\/"},"modified":"2019-12-05T14:11:03","modified_gmt":"2019-12-05T17:11:03","slug":"armazenamento-de-eventos","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/armazenamento-de-eventos\/","title":{"rendered":"Armazenamento de Eventos."},"content":{"rendered":"<div style=\"text-align: justify;\">\n<p><span style=\"font-weight: bold;\">1) Introdu\u00e7\u00e3o<\/span><\/p>\n<p>Embora o Elipse E3 j\u00e1 possua diversos eventos que podem ser armazenados automaticamente, tamb\u00e9m \u00e9 poss\u00edvel que o integrador\/programador gere seus pr\u00f3prios eventos, permitindo assim uma completa rastreabilidade do sistema. Desta forma, este aplicativo tem o objetivo de registrar todo o tipo de interven\u00e7\u00e3o ocorrida entre o operador\/sistema e o processo\/sistema, adicionando ao projeto ferramentas de armazenamento de dados.<\/p>\n<p><br style=\"font-weight: bold;\" \/><span style=\"font-weight: bold;\">2) Implementa\u00e7\u00e3o<\/span><\/p>\n<p>Por padr\u00e3o, o E3 permite o registro de diversos eventos, entre eles nomes de usu\u00e1rios, logouts, troca de servidores, etc. Esta configura\u00e7\u00e3o \u00e9 feita diretamente no Dom\u00ednio, sendo acessada atrav\u00e9s do E3Server no menu <span style=\"font-weight: bold;\">Dom\u00ednio&#8211;Op\u00e7\u00f5es<\/span>, aba <span style=\"font-weight: bold;\">Registro de Eventos<\/span>.<\/p>\n<p>Caso seja necess\u00e1rio armazenar eventos em situa\u00e7\u00f5es diferentes das dispon\u00edveis, \u00e9 poss\u00edvel utilizar o m\u00e9todo <span style=\"font-style: italic;\">TrackEvent()<\/span> (para maiores informa\u00e7\u00f5es, consulte o manual de <a href=\"http:\/\/www.elipse.com.br\/port\/download_e3.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Refer\u00eancia de Scripts<\/a>), que tem como fun\u00e7\u00e3o armazenar dados na mesma tabela utilizada pelo <span style=\"font-weight: bold;\">Registro de Eventos<\/span>.<\/p>\n<p>A estrutura do m\u00e9todo \u00e9 a seguinte:<\/p>\n<p><span style=\"font-family: Courier New; color: #000000;\">TrackEvent(EventMessage, Comment, TimeStamp)<\/span><br style=\"font-family: Courier New; color: #000000;\" \/>Onde: <span style=\"font-style: italic;\">EventMessage <\/span>recebe o tipo de evento que ser\u00e1 armazenado, <span style=\"font-style: italic;\">Comment <\/span>\u00e9 um coment\u00e1rio geral a respeito do evento, e <span style=\"font-style: italic;\">TimeStamp <\/span>\u00e9 o hor\u00e1rio em que o evento ocorreu.<\/p>\n<p>Um exemplo simples da utiliza\u00e7\u00e3o deste m\u00e9todo seria:<br \/>\n<br style=\"font-family: Courier New; color: #000000;\" \/><\/p>\n<div style=\"text-align: left;\"><span style=\"font-family: Courier New; color: #000000;\">Application.TrackEvent &#8220;Envio de comando no Motor X&#8221;, &#8220;Usu\u00e1rio An\u00f4nimo&#8221;, &#8220;4\/6\/2007 14:00:00&#8221;<\/span><\/div>\n<p><span style=\"font-weight: bold;\">3) Aplica\u00e7\u00e3o<\/span><\/p>\n<p>Anexada a este artigo est\u00e1 uma aplica\u00e7\u00e3o exemplo que ilustra como utilizar o m\u00e9todo <span style=\"font-style: italic;\">TrackEvent() <\/span>para inserir os eventos no banco de dados, al\u00e9m de tamb\u00e9m mostrar os registros j\u00e1 armazenados.<\/p>\n<p>Basicamente, esta aplica\u00e7\u00e3o controla um conjunto de motores, onde o usu\u00e1rio tem permiss\u00e3o de ligar\/desligar o motor, e tamb\u00e9m de configurar uma rota\u00e7\u00e3o de trabalho para ele. Seu objetivo \u00e9 armazenar em disco qualquer comando enviado pelo operador, e tamb\u00e9m registrar quando este comando foi efetivamente realizado.<\/p>\n<p>Inicialmente deve-se habilitar o Registro de Eventos diretamente no <span style=\"font-weight: bold;\">E3Server<\/span>, escolhendo, caso desejado, quais os eventos pr\u00e9-definidos ser\u00e3o armazenados. Para esta aplica\u00e7\u00e3o, foram escolhidos somente os eventos referentes ao login dos usu\u00e1rios.<\/p>\n<p>A seguir, foi adicionado o m\u00e9todo <span style=\"font-style: italic;\">TrackEvent() <\/span>em todos os comandos que o operador pode executar e diretamente na propriedade que est\u00e1 sofrendo altera\u00e7\u00e3o. Como a aplica\u00e7\u00e3o \u00e9 baseada em bibliotecas, \u00e9 suficiente inserir estes comandos diretamente na defini\u00e7\u00e3o dos objetos XControl e XObject.<\/p>\n<p>O XObject chamado <span style=\"font-weight: bold;\">XOMotor <\/span>possui diversas propriedades, entre elas STATUS e VELOCIDADE, e a cada uma destas foi adicionado um script no evento <span style=\"font-style: italic;\">OnPropertyChanged <\/span>armazenando a altera\u00e7\u00e3o de valor.<\/p>\n<p>O mesmo foi feito no XControl chamado <span style=\"font-weight: bold;\">XCMotor<\/span>, onde o m\u00e9todo foi adicionado a cada um dos bot\u00f5es de comandos dispon\u00edveis ao operador, e configurado para armazenar a informa\u00e7\u00e3o de que o usu\u00e1rio logado enviou um comando de altera\u00e7\u00e3o de valor.<\/p>\n<p><br style=\"font-weight: bold;\" \/><span style=\"font-weight: bold;\">4) Intera\u00e7\u00e3o dos objetos da aplica\u00e7\u00e3o<\/span><\/p>\n<p>A seguir, \u00e9 demonstrado como os objetos da aplica\u00e7\u00e3o interagem entre si. Tomamos como exemplo a altera\u00e7\u00e3o de velocidade do Motor XZ11:<\/p>\n<div style=\"text-align: center;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID34\/Figura1.PNG\" alt=\"\" width=\"507\" height=\"336\" align=\"Baseline\" border=\"0\" \/><\/div>\n<p>Para configurar o novo valor de velocidade at\u00e9 que ela seja efetivamente alterada pelo sistema, siga estes procedimentos:<\/p>\n<p><span style=\"font-weight: bold;\">1)<\/span> O operador altera o valor configurado para a velocidade e clica o bot\u00e3o <span style=\"font-weight: bold;\">Set<\/span>.<br \/>\n<span style=\"font-weight: bold;\">a<\/span>. Neste momento, \u00e9 utilizado o m\u00e9todo <span style=\"font-style: italic;\">Application.TrackEvent<\/span> para o banco de dados,\u00a0 informando que o usu\u00e1rio logado no sistema enviou um comando de altera\u00e7\u00e3o de velocidade<br \/>\n<span style=\"font-weight: bold;\">b.<\/span> O objeto XOMotor1 \u00e9 acessado, e o novo valor de velocidade \u00e9 enviado para a propriedade <span style=\"font-style: italic;\">SetaVelocidade()<\/span><\/p>\n<p><span style=\"font-weight: bold;\">2)<\/span> O objeto XOMotor1, por meio de seus eventos e propriedades, dispara o script para realiza\u00e7\u00e3o efetiva deste comando.<br \/>\n<span style=\"font-weight: bold;\">a.<\/span> Assim que o comando \u00e9 realizado com sucesso, uma segunda propriedade do objeto Motor1 \u00e9 atualizada: a propriedade <span style=\"font-style: italic;\">Velocidade<\/span>, que recebeu o valor atual de campo.<br \/>\n<span style=\"font-weight: bold;\">b.<\/span> Nesta aplica\u00e7\u00e3o, foi gerada uma programa\u00e7\u00e3o no objeto (para fins did\u00e1ticos) que tem a fun\u00e7\u00e3o de receber a nova programa\u00e7\u00e3o de velocidade, contar um determinado tempo, e ent\u00e3o repassar esta nova velocidade.<br \/>\n<span style=\"font-weight: bold;\">c.<\/span> Quando o objeto receber esta atualiza\u00e7\u00e3o de valor, um novo dado ser\u00e1 enviado para o banco de dados, informando que a velocidade do motor em quest\u00e3o foi alterada.<\/p>\n<p><span style=\"font-weight: bold;\">3)<\/span> Neste momento, o objeto de tela &#8211; <span style=\"font-weight: bold;\">XCMotor <\/span>&#8211; recebe seu novo valor de velocidade e atualiza a tela.<\/p>\n<p><span style=\"font-weight: bold;\">5) Considera\u00e7\u00f5es finais<\/span><\/p>\n<p>A uitiliza\u00e7\u00e3o do m\u00e9todo <span style=\"font-style: italic;\">TrackEvent()<\/span> facilita bastante a cria\u00e7\u00e3o de rastreabilidade no sistema. Este m\u00e9todo permite definir uma mensagem e um coment\u00e1rio a ser armazenado no banco somente com uma linha de comando.<\/p>\n<p>Esta facilidade \u00e9 ainda mais aparente quando a aplica\u00e7\u00e3o \u00e9 baseada em bibliotecas, sendo poss\u00edvel utilizar estes comandos diretamente na defini\u00e7\u00e3o de cada objeto.<\/p>\n<h3>Anexos:<\/h3>\n<p><a href=\"\/wp-content\/uploads\/2019\/03\/E3Project.zip\">E3Project<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>1) Introdu\u00e7\u00e3o Embora o Elipse E3 j\u00e1 possua diversos eventos que podem ser armazenados automaticamente, tamb\u00e9m \u00e9 poss\u00edvel que o integrador\/programador gere seus pr\u00f3prios eventos, permitindo assim uma completa rastreabilidade&hellip;<\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[578,617],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Armazenamento de Eventos. - Elipse Knowledgebase<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Armazenamento de Eventos.\" \/>\n<meta property=\"og:description\" content=\"1) Introdu\u00e7\u00e3o Embora o Elipse E3 j\u00e1 possua diversos eventos que podem ser armazenados automaticamente, tamb\u00e9m \u00e9 poss\u00edvel que o integrador\/programador gere seus pr\u00f3prios eventos, permitindo assim uma completa rastreabilidade&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-25T20:30:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-05T17:11:03+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID34\/Figura1.PNG\" \/>\n<meta name=\"author\" content=\"Jer\u00f4nimo Mulinari Neto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jer\u00f4nimo Mulinari Neto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\"},\"author\":{\"name\":\"Jer\u00f4nimo Mulinari Neto\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d84d93b89444e774594683d022bf2bef\"},\"headline\":\"Armazenamento de Eventos.\",\"datePublished\":\"2019-03-25T20:30:13+00:00\",\"dateModified\":\"2019-12-05T17:11:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\"},\"wordCount\":1565,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"Elipse E3\",\"Outros\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\",\"url\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\",\"name\":\"[:pt]Armazenamento de Eventos.[:en]Armazenamento de Eventos.[:] - Elipse Knowledgebase\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2019-03-25T20:30:13+00:00\",\"dateModified\":\"2019-12-05T17:11:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Armazenamento de Eventos.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d84d93b89444e774594683d022bf2bef\",\"name\":\"Jer\u00f4nimo Mulinari Neto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ef4a47d01af296803baa8b2db33df9fe?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ef4a47d01af296803baa8b2db33df9fe?s=96&d=mm&r=g\",\"caption\":\"Jer\u00f4nimo Mulinari Neto\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/jeronimo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Armazenamento de Eventos. - Elipse Knowledgebase","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:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/","og_locale":"en_US","og_type":"article","og_title":"[:pt]Armazenamento de Eventos.[:en]Armazenamento de Eventos.[:] - Elipse Knowledgebase","og_description":"1) Introdu\u00e7\u00e3o Embora o Elipse E3 j\u00e1 possua diversos eventos que podem ser armazenados automaticamente, tamb\u00e9m \u00e9 poss\u00edvel que o integrador\/programador gere seus pr\u00f3prios eventos, permitindo assim uma completa rastreabilidade&hellip;","og_url":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2019-03-25T20:30:13+00:00","article_modified_time":"2019-12-05T17:11:03+00:00","og_image":[{"url":"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID34\/Figura1.PNG"}],"author":"Jer\u00f4nimo Mulinari Neto","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jer\u00f4nimo Mulinari Neto","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/"},"author":{"name":"Jer\u00f4nimo Mulinari Neto","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d84d93b89444e774594683d022bf2bef"},"headline":"Armazenamento de Eventos.","datePublished":"2019-03-25T20:30:13+00:00","dateModified":"2019-12-05T17:11:03+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/"},"wordCount":1565,"commentCount":3,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["Elipse E3","Outros"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/","url":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/","name":"[:pt]Armazenamento de Eventos.[:en]Armazenamento de Eventos.[:] - Elipse Knowledgebase","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2019-03-25T20:30:13+00:00","dateModified":"2019-12-05T17:11:03+00:00","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/armazenamento-de-eventos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Armazenamento de Eventos."}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/d84d93b89444e774594683d022bf2bef","name":"Jer\u00f4nimo Mulinari Neto","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ef4a47d01af296803baa8b2db33df9fe?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ef4a47d01af296803baa8b2db33df9fe?s=96&d=mm&r=g","caption":"Jer\u00f4nimo Mulinari Neto"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/jeronimo\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/304"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=304"}],"version-history":[{"count":5,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":9629,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/304\/revisions\/9629"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}