Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice:


Objetivo:


Este documento tem como finalidade, demonstrar o utilização da API Rest HealthCheck evidenciando os serviços:

  • /api/v1/healthcheck/License

Configuração:


     

HTML
<script type="text/javascript" language="javascript">
/* @license ! jQuery-mutate - v0.0.2 - 
* Licensed under the MIT license
* http://www.opensource.org/licenses/mit-license.php
* Date: 2015-04-19 */

!function(t){mutate_event_stack=[{name:"width",handler:function(a){var e=t(a);return e.data("mutate-width")||e.data("mutate-width",e.width()),e.data("mutate-width")&&e.width()!=e.data("mutate-width")?(e.data("mutate-width",e.width()),!0):!1}},{name:"height",handler:function(a){var e=t(a);return e.data("mutate-height")||e.data("mutate-height",e.height()),e.data("mutate-height")&&e.height()!=e.data("mutate-height")?(e.data("mutate-height",e.height()),!0):void 0}},{name:"top",handler:function(a){var e=t(a);return e.data("mutate-top")||e.data("mutate-top",e.css("top")),e.data("mutate-top")&&e.css("top")!=e.data("mutate-top")?(e.data("mutate-top",e.css("top")),!0):void 0}},{name:"bottom",handler:function(a){var e=t(a);return e.data("mutate-bottom")||e.data("mutate-bottom",e.css("bottom")),e.data("mutate-bottom")&&e.css("bottom")!=e.data("mutate-bottom")?(e.data("mutate-bottom",e.css("bottom")),!0):void 0}},{name:"right",handler:function(a){var e=t(a);return e.data("mutate-right")||e.data("mutate-right",e.css("right")),e.data("mutate-right")&&e.css("right")!=e.data("mutate-right")?(e.data("mutate-right",e.css("right")),!0):void 0}},{name:"left",handler:function(a){var e=t(a);return e.data("mutate-left")||e.data("mutate-left",e.css("left")),e.data("mutate-left")&&e.css("left")!=e.data("mutate-left")?(e.data("mutate-left",e.css("left")),!0):void 0}},{name:"hide",handler:function(a){var e=t(a),r=e.is(":hidden"),d=void 0==e.data("prev-hidden")?r:e.data("prev-hidden");return e.data("prev-hidden",r),r&&r!=d?!0:void 0}},{name:"show",handler:function(a){var e=t(a),r=e.is(":visible"),d=void 0==e.data("prev-visible")?r:e.data("prev-visible");return e.data("prev-visible",r),r&&r!=d?!0:void 0}},{name:"scrollHeight",handler:function(a){var e=t(a);return e.data("prev-scrollHeight")||e.data("prev-scrollHeight",e[0].scrollHeight),e.data("prev-scrollHeight")&&e[0].scrollHeight!=e.data("prev-scrollHeight")?(e.data("prev-scrollHeight",e[0].scrollHeight),!0):void 0}},{name:"scrollWidth",handler:function(a){var e=t(a);return e.data("prev-scrollWidth")||e.data("prev-scrollWidth",e[0].scrollWidth),e.data("prev-scrollWidth")&&e[0].scrollWidth!=e.data("prev-scrollWidth")?(e.data("prev-scrollWidth",e[0].scrollWidth),!0):void 0}},{name:"scrollTop",handler:function(a){var e=t(a);return e.data("prev-scrollTop")||e.data("prev-scrollTop",e[0].scrollTop()),e.data("prev-scrollTop")&&e[0].scrollTop()!=e.data("prev-scrollTop")?(e.data("prev-scrollTop",e[0].scrollTop()),!0):void 0}},{name:"scrollLeft",handler:function(a){var e=t(a);return e.data("prev-scrollLeft")||e.data("prev-scrollLeft",e[0].scrollLeft()),e.data("prev-scrollLeft")&&e[0].scrollLeft()!=e.data("prev-scrollLeft")?(e.data("prev-scrollLeft",e[0].scrollLeft()),!0):void 0}}]}(jQuery);
HTML
/* @license ! jQuery-mutate - v0.0.1 - 
* Licensed under the MIT license
* http://www.opensource.org/licenses/mit-license.php
* Date: 2015-04-19 */

!function(a){function b(){var c=mutate;"undefined"!=c.event_stack&&c.event_stack.length&&a.each(c.event_stack,function(a,b){mutate.add_event(b)}),c.event_stack=[],a.each(c.stack,function(b,d){a(d.selector).each(function(a,b){c.events[d.event_name](b)===!0?d.callback&&d.callback(b,d):d.false_callback&&d.false_callback(b,d)})}),setTimeout(b,mutate.speed)}mutate={speed:100,event_stack:mutate_event_stack,stack:[],events:{},add_event:function(a){mutate.events[a.name]=a.handler},add:function(a,b,c,d){mutate.stack[mutate.stack.length]={event_name:a,selector:b,callback:c,false_callback:d}}},b(),a.fn.extend({mutate:function(){var b=!1,c=arguments[1],d=this,e=arguments[2]?arguments[2]:function(){};return"extend"==arguments[0].toLowerCase()?(mutate.add_event(c),this):(a.each(a.trim(arguments[0]).split(" "),function(a,f){b=f,mutate.add(b,d,c,e)}),this)}})}(jQuery);
</script>
HTML
<style type="text/css">
.expand-container{
margin-top:5px !important;
font-weight: normal !important;
}

.expand-control{
margin-bottom: 5px !important;
}

pre{
white-space: inherit !important;
}

table tr:nth-child(odd), table tr:nth-child(odd) > *{
   background: transparent !important;
border: 0 !important;
}

.pdl .codeContent .gutter{
    border-right: 1px solid #ccc !important;
}

.wiki-content .innerCell {
    overflow-y: hidden;
}

.HiddenDiv .confluence-information-macro {
    width: calc(100% - 25px);
    background: #fff !important; 
    border: 0 !important;
    -moz-border-radius: 0px !important;
    -webkit-border-radius: 0px !important;
    border-radius: 0px !important;
    color: #333;
    margin: 10px 0 1em 0;
    min-height: 20px;
    padding: 10px;
    position: relative;
}

.HiddenDiv .confluence-information-macro .confluence-information-macro pre{
    display: none;
}
.HiddenDiv .wiki-content a:link, .HiddenDiv .wiki-content a, .HiddenDiv .tab-nav-link, .HiddenDiv .current{
     color: #000 !important; 
}

.wiki-content a:link {
    color: #000 !important;
}

.lastDiv + pre{
    font-family: inherit;
}

.white-container{
    -moz-box-shadow: 2px 2px 2px #aaa;
    -webkit-box-shadow: 2px 2px 2px #aaa;
    box-shadow: 2px 2px 2px #aaa;
}

.confluence-embedded-file-wrapper .confluence-embedded-image{
    max-width: 100% !important;
    max-height: 100%;
}

</style>
HTML
<div style="border:1px solid #aab8c6;padding:5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;background: #f7f7f7">      
      <div style="background:#f7f7f7;width:calc(100% - 10px);height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 1px solid #aab8c6;margin-bottom:14px">
           <span style="float:left"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/149881483/settings.png?version=1&modificationDate=1509720640465&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px">Configuração</span>
     </div>
<div style="border: 1px solid #aab8c6">      
       <div style="background:#f7f7f7;width:calc(100% - 10px);height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 0px;">
           <span style="float:left;margin-top: 4px"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/190516500/info.png?version=1&modificationDate=1509568958717&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 3px">Informações Gerais</span>
      </div>
<div style="background:#f0f0f0;width:calc(100% - 10px);height:auto;min-height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 0px;">
           <div><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/190516500/programming-code-signs.png?version=1&modificationDate=1509568429032&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Serviço <b>/License/</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv22', 'img22');"><img id="img22" name="img22" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
      </div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv22" class="HiddenDiv" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;">
<strong>Objetivo:</strong> Testar a conexão com o License Server<br>
<strong>Detalhamento:</strong> Para consumir o serviço <b>/License/</b> utilize a seguinte rota: <b>/api/v1/healthcheck/license/</b>.<br>
<strong>Exemplo de Utilização:</strong>
HTML
<div style="background: #fff; padding:10px;text-align:center;width:calc(100% - 25px);margin:10px 0px;">

HTML
</div>
</div>
</div>
</div>
<div style="padding:7px"></div>
<div style="border: 1px solid #aab8c6">      
       <div style="background:#f7f7f7;width:calc(100% - 10px);height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 0px;">
           <span style="float:left;margin-top: 4px"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/preference.png?version=1&modificationDate=1509369965368&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 3px">Retorno</span>
      </div>
<div style="background:#f0f0f0;width:calc(100% - 10px);height:auto;min-height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 0px;">
           <div><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/190516500/programming-code-signs.png?version=1&modificationDate=1509568429032&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Retorno</span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv6', 'img6');"><img id="img6" name="img6" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
      </div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv6" class="HiddenDiv" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;">
<strong>Descrição:</strong> Retorno do serviço <b>/License/</b>.<br>
<strong>Tipo:</strong> Cadeia de Caracteres (String)
<div style="background: #fff; padding:10px;text-align:center;width:calc(100% - 25px);margin:10px 0px">

Estrutura de retorno [FI001 - Sucesso]:

Informações
iconfalse
Bloco de código
languagejs
firstline1
titleRetorno (Sucesso)
linenumberstrue
{
    "status": "Servidor do License Server Ativo",
    "returnCode": 2014,
    "message": {
        "code": "FI001",
        "message": "Sucesso",
        "detailedMessage": "Tentativa de conexão com o servidor do License Server realizado com sucesso!",
        "details": []
    }
}

Estrutura de retorno [FW001 - Alerta]:

Informações
iconfalse
Bloco de código
languagejs
firstline1
titleRetorno (Sucesso)
linenumberstrue
{
    "status": "Servidor do License Server Ativo",
    "returnCode": -9,
    "message": {
        "code": "FW001",
        "message": "Alerta",
        "detailedMessage": "A data do servidor de Aplicação difere da data do servidor de Licenças. Procure o Administrador do Sistema.",
        "details": [
            {
                "code": "FE007",
                "message": "Stack Trace",
                "detailedMessage": "   em RM.Lib.Server.RMSLicenseServerCloud.GetVersion(String serverIP, Int32 serverPort, String clientIP, Int32 clientPort, Int32 MDIThreadId) na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\LicenseServer\\RMSLicenseServerCloud.cs:linha 428\r\n   em RM.Lib.LicenceServer.RMSLicenseClientCloud.GetVersion() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib\\LicenceServer\\RMSLicenseClientCloud.cs:linha 297\r\n   em RM.Lib.LicenceServer.RMSLicenseClientBase.get_Version() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib\\LicenceServer\\RMSLicenseClientBase.cs:linha 124\r\n   em RM.Lib.RMSLicence.get_Version() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib\\LicenceServer\\RMSLicence.cs:linha 60\r\n   em RM.Lib.Server.RMSHealthCheckMod.CheckLicense() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\HealthCheck\\Modules\\RMSHealthCheckMod.cs:linha 30",
                "details": []
            }
        ]
    }
}

Estrutura de retorno [FW002 - Alerta]:

Informações
iconfalse
Bloco de código
languagejs
firstline1
titleRetorno (Erro)
linenumberstrue
{
    "status": "Servidor do License Server Inativo",
    "returnCode": -10008,
    "message": {
        "code": "FW002",
        "message": "Alerta",
        "detailedMessage": "Falha ao abrir uma conexão socket com Licence Server no endereço 10.31.0.0:5555. Verificar se a rede está conectada e/ou o Licence Server está ativo.\r\nUma tentativa de conexão falhou porque o componente conectado não respondeu\r\ncorretamente após um período de tempo ou a conexão estabelecida falhou\r\nporque o host conectado não respondeu 10.31.0.0:5555 ",
        "details": [
            {
                "code": "FE007",
                "message": "Stack Trace",
                "detailedMessage": "   em TOTVS.Licence.LSCloud.LSCloudClientSocket.Connect()\r\n   em TOTVS.Licence.LSCloud.LSCloudClientSocket.LSGetVersion()\r\n   em RM.Lib.Server.RMSLicenseServerCloud.GetVersion(String serverIP, Int32 serverPort, String clientIP, Int32 clientPort, Int32 MDIThreadId) na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\LicenseServer\\RMSLicenseServerCloud.cs:linha 404\r\n   em RM.Lib.LicenceServer.RMSLicenseClientCloud.GetVersion() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib\\LicenceServer\\RMSLicenseClientCloud.cs:linha 297\r\n   em RM.Lib.LicenceServer.RMSLicenseClientBase.get_Version() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib\\LicenceServer\\RMSLicenseClientBase.cs:linha 124\r\n   em RM.Lib.RMSLicence.get_Version() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib\\LicenceServer\\RMSLicence.cs:linha 60\r\n   em RM.Lib.Server.RMSHealthCheckMod.CheckLicense() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\HealthCheck\\Modules\\RMSHealthCheckMod.cs:linha 30",
                "details": []
            },
            {
                "code": "FE007",
                "message": "Stack Trace",
                "detailedMessage": "   em System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)\r\n   em System.Net.Sockets.Socket.Connect(EndPoint remoteEP)\r\n   em System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP)\r\n   em System.Net.Sockets.TcpClient.Connect(IPAddress address, Int32 port)\r\n   em TOTVS.Licence.LSCloud.LSCloudClientSocket.Connect()",
                "details": []
            }
        ]
    }
}

Estrutura de retorno [FE006 - Erro]:

Informações
iconfalse
Bloco de código
languagejs
firstline1
titleRetorno (Erro)
linenumberstrue
{
    "code": "FE006",
    "message": "Erro",
    "detailedMessage": "RMSHealthCheck - Método CheckLicense()",
    "helpUrl": "",
    "details": [
        {
            "code": "FE007",
            "message": "Stack Trace",
            "detailedMessage": "   em RM.Lib.Server.RMSSecurityUtilsMod.GetDbAlias(String alias) na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\RMSSecurityUtilsMod.Login.cs:linha 145\r\n   em RM.Lib.Server.RMSLoginServer.GetDbAlias(String alias) na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\RMSLoginServer.cs:linha 81\r\n   em RM.Lib.Server.RMSLoginServer.ExecuteService(String alias, String serviceId) na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\RMSLoginServer.cs:linha 198\r\n   em RM.Lib.Server.RMSHealthCheckServer.ServiceAuthenticate(String aliasName) na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\HealthCheck\\Servers\\RMSHealthCheckServer.cs:linha 66\r\n   em RM.Lib.Server.RMSHealthCheckServer.CheckLicense() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\HealthCheck\\Servers\\RMSHealthCheckServer.cs:linha 21\r\n   em RM.Lib.Server.healthcheck.CheckLicense() na C:\\RM\\Atual\\Release\\Lib\\RM.Lib.Server\\HealthCheck\\Api's\\healthcheck.cs:linha 31",
            "helpUrl": "",
            "details": []
        }
    ]
}
HTML
</div>
</div>
</div>
</div>
<div style="padding:7px"></div>
<div style="border: 1px solid #aab8c6">      
       <div style="background:#f7f7f7;width:calc(100% - 10px);height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 0px;">
           <span style="float:left;margin-top: 4px"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/preference.png?version=1&modificationDate=1509369965368&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 3px">Atributos de Retorno</span>
      </div>
      <div style="background:#f0f0f0;width:calc(100% - 10px);height:auto;min-height:30px;color: #000;font-weight:bold;font-size: 16px;padding:5px;border-bottom: 0px;">
           <div style="width:100%;height: 30px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Status <b>(Sucesso e Alertas)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv3', 'img3');"><img id="img3" name="img3" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv3" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Situação do License Server.<br>
<strong>Tipo:</strong> String<br>
<strong>Possíveis Valores:</strong><br>
&bull; Servidor do License Server Ativo<br>
&bull; Servidor do License Server Inativo<br>
<strong>Informações relevantes:</strong> O status se refere a situação do License Server. Caso a conexão com o License Server tenha sido realizada com sucesso o status de Ativo será apresentado, caso contrário o status de Inativo será apresentado.<br>
</div>
</div>
<div style="width:100%;height: 30px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;padding-top:5px"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">ReturnCode<b> (Sucesso e Alertas)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv99', 'img99');"><img id="img99" name="img99" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv99" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Código Enviado pelo License Server<br>
<strong>Tipo:</strong> int<br>
<strong>Possíveis Valores:</strong><br>
&bull; 2014 (Sucesso)<br>
&bull; -99 (Alerta - Versão Incompativel)<br>
&bull; -9 (Alerta - Data conflitante)<br>
&bull; -1505 (Alerta - Numero de Licenças excedidas)<br>
&bull; -10008 (Alerta - License Server Offline)<br>
Entre muitos outros valores...<br>
<strong>Informações relevantes:</strong> O ReturnCode se refere ao código retornado pelo License Server. Os códigos apresentados indicam a situação do License Server, se ele está ativo, inativo, se algum erro de conexão aconteceu, se o ERP está com uma versão incompatível do License Server e etc....
</div>
</div>
<div style="width:100%;height: 30px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;padding-top:5px"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Message - Code <b>(Sucesso, Alertas e Erros)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv4', 'img4');"><img id="img4" name="img4" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv4" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Código da Mensagem<br>
<strong>Tipo:</strong> String<br>
<strong>Possíveis Valores:</strong><br>
&bull; FI00X (Informação)<br>
&bull; FW00X (Alerta)<br>
&bull; FE00X (Erro)<br>
<strong>Informações relevantes:</strong> O status se refere ao código da mensagem retornado pela api. Os códigos apresentados podem ser de informação (no caso de sucesso), de alerta (no caso de algum erro de negócio acontecer) e de erro (no caso de alguma exceção não tratada.
</div>
</div>
<div style="width:100%;height: 30px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;padding-top:5px"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Message - Message <b>(Sucesso, Alertas e Erros)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv5', 'img5');"><img id="img5" name="img5" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv5" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Descrição do Código<br>
<strong>Tipo:</strong> String<br>
<strong>Possíveis Valores:</strong><br>
&bull; Sucesso<br>
&bull; Alerta<br>
&bull; Erro<br>
<strong>Informações relevantes:</strong> O atributo message, nada mais é do que a descrição do código apresentado. O código FI00X indica sucesso ao consumir a api e sucesso ao aplicar corretamente a regra de negócio, o código FW00X indica sucesso ao consumir a api, porém falha na aplicação da regra de negócio e o código FE00X indica falha no consumo da api.
</div>
</div>
<div style="width:100%;height: 30px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;padding-top:5px"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Message - DetailedMessage <b>(Sucesso, Alertas e Erros)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv90', 'img90');"><img id="img90" name="img90" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv90" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Mensagem detalhada<br>
<strong>Tipo:</strong> String<br>
<strong>Possíveis Valores:</strong><br>
&bull; No caso de sucesso: Tentativa de conexão com o servidor do License Server realizado com sucesso!<br>
&bull; No caso de alertas e erros: Variados valores.<br>
<strong>Informações relevantes:</strong> O atributo detailedMessage trás uma descrição mais amigável do resultado do consumo da api. A mensagem de sucesso é unica e padronizada, enquanto que as mensagens de alerta e de erro podem ser variadas, devido as variadas possibilidades de retorno.
</div>
</div>
<div style="width:100%;height: 30px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;padding-top:5px"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Message - HelpUrl <b>(Erros)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv91', 'img91');"><img id="img91" name="img91" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv91" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Url de Ajuda<br>
<strong>Tipo:</strong> String<br>
<strong>Possíveis Valores:</strong><br>
&bull; Uma Url qualquer<br>
<strong>Informações relevantes:</strong> O atributo helpUrl é uma página da internet que explique melhor uma funcionalidade, ou um erro apresentado, afim de ajudar o usuário a entender melhor uma funcionalidade para o correto uso da mesma, ajudá-lo a reportar à Totvs algum erro evidenciado pela api.
</div>
</div>
<div style="width:100%;height: 30px;padding-top:5px"><span style="float:left;margin-top: 4px;font-weight:normal !important"><img style="width: 16px; height: 16px; margin-top:3px" src="/download/attachments/309398329/cube.png?version=1&modificationDate=1509370590936&api=v2" /></span>
           <span style="float:left;font-size:inherit;padding-left:5px;margin-top: 4px;font-weight:normal !important">Message - Details <b>(Sucesso, Alertas e Erros)</b></span><span style="float:right;margin-top: 4px;padding-right:5px;cursor:pointer" onclick="Show('hiddenDiv92', 'img92');"><img id="img92" name="img92" style="width: 16px; height: 16px; margin-top: 3px" src="/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2"></span></div>
<div style="background: #e2e2e2;">
<div id="hiddenDiv92" style="visibility:hidden;height: 0px; line-height: 30px; padding-left: 5px; background: #e2e2e2;font-weight:normal">
<strong>Descrição:</strong> Detalhes sobre a mensagem apresentada.<br>
<strong>Tipo:</strong> Cadeia de Caracteres (String)<br>
<strong>Possíveis Valores:</strong><br>
&bull; Um conjunto qualquer de mensagens.<br>
<strong>Informações relevantes:</strong> O atributo Details é uma lista de mensagens que corroboram com a mensagem detalhada. Essas mensagens, por exemplo, podem ser o trecho de código onde o erro aconteceu.
</div>
</div>
</div>
</div>
</div>
HTML
<script type="text/javascript" language="javascript">

Show = function(divName, imgName){
window["currentElement"] = divName;
if(typeof divName === "string"){
	if(document.getElementById(divName).offsetHeight < 2){
     $("#" + divName).animate({height: $("#" + divName).get(0).scrollHeight + 7});
     $("#" + divName).css("visibility", "visible")
     $("#" + imgName).attr('src', '/download/attachments/309398329/remove.png?version=1&modificationDate=1509386912062&api=v2');  
     $(".HiddenDiv .tab-nav-link").on("click", function(){
          window["currentElement"] = $(this).parents().find(".HiddenDiv").attr("id");
     });  
	 $(".HiddenDiv .confluence-information-macro").mutate('height',function (element,info){
          this.selector.each(function(index, element){
             if($(this).parent().attr("id") == window["currentElement"])
             $(this).parent().height($(this).outerHeight() + 61);
          });		
     });
    }
    else{
     $("#" + divName).animate({height: "0px"});
     $("#" + divName).css("visibility", "hidden")
     $("#" + imgName).attr('src', '/download/attachments/309398329/add.png?version=1&modificationDate=1509382756808&api=v2');
    }
}
}
</script>