source: sandbox/webservice/restclient_new/index.html @ 7817

Revision 7817, 11.3 KB checked in by alexandrecorreia, 11 years ago (diff)

Ticket #2507 - Ajustando o help da página index.html

  • Property svn:executable set to *
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2<html>
3        <head>
4                <title>.:: ExpressoLivre - API REST ::.</title>
5                <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
6                <meta name="author" content="Equipe Expresso Livre" />
7                <meta name="keywords" content="rest, json, javascript" />
8                <meta name="description" content="Cliente para demonstra&ccedil;&atilde;o do RECURSO REST" />
9                <!--CSS-->
10                <link rel="stylesheet" href="./css/styles.css"/>
11                <link rel="stylesheet" href="./css/smoothness/jquery-ui-1.9.2.custom.css"/>
12                <link rel="stylesheet" href="./plugins/prettify/prettify.css"/>
13
14                <!--JavaScript-->
15                <script type="text/javascript" src="./plugins/jquery/jquery-1.9.0.min.js"></script>
16                <script type="text/javascript" src="./plugins/jquery/jquery-ui-1.9.2.custom.min.js"></script>
17                <script type="text/javascript" src="./plugins/ejs/ejs.js"></script>
18                <script type="text/javascript" src="./plugins/ejs/ejs_production.js"></script>
19                <script type="text/javascript" src="./plugins/ejs/view.js"></script>
20                <script type="text/javascript" src="./plugins/prettify/prettify.js"></script>
21                <script type="text/javascript" src="./js/functions.js"></script>
22                <script type="text/javascript" src="./js/resources.js"></script>
23                <script type="text/javascript" src="./js/execute.js"></script>
24
25        </head>
26        <body>
27               
28                <div id="page_header"></div>
29               
30                <h2>Documenta&ccedil;&atilde;o da API REST do Expresso</h2>
31
32                <div id="tabs_content">
33                        <ul>
34                                <li><a href="#content">Sobre a API</a></li>
35                                <li><a href="#resources">Recursos</a></li>
36                                <li><a href="#exemplos_uso">Exemplos de uso</a></li>
37                                <li><a href="#links_rel">Links Relacionados</a></li>
38                        </ul>
39                        <div id="content">
40                                <div id="content_1">
41                                        <h3>RECURSOS DISPON&Iacute;VEIS NA API</h3>
42                                        <div>
43                                                <p>
44                                                        Atrav&eacute;s da lista de recursos abaixo, voc&ecirc; poder&aacute; realizar testes no ambiente de demonstra&ccedil;&atilde;o
45                                                        da API REST disponibilizada pelo Expresso.
46                                                </p>
47
48                                                <p>
49                                                        Atualmente os seguintes recursos est&atilde;o disponibilizados:
50                                                </p>
51
52                                                <ul>
53                                                        <li>Login - Realiza a autentica&ccedil;&atilde;o do usu&aacute;rio, gerando uma chave de autentica&ccedil;&atilde;o;</li>
54                                                        <li>Logout - Desloga o usu&aacute;rio, invalidando a chave de autentica&ccedil;&atilde;o;</li>
55                                                        <li>ExpressionVersion - para verificar a vers&atilde;o atual do Expresso;</li>
56                                                        <li>Mail/Folders - Lista a Pasta do Usu&aacute;rio;</li>
57                                                        <li>Mail/AddFolder - Adiciona uma nova pasta;</li>
58                                                        <li>Mail/Messages - Retornas as mensagens do usu&aacute;rio;</li>
59                                                        <li>Mail/Attachment - Retorna o anexo da mensagem para o download;</li>
60                                                        <li>Mail/Send - Envia uma mensagem de email;</li>
61                                                        <li>Mail/RenameFolder - Renomeia uma pasta;</li>
62                                                        <li>Mail/DelFolder - Exclui uma pasta;</li>
63                                                        <li>Mail/CleanTrash - Limpa a lixeira;</li>
64                                                        <li>Mail/SendSupportFeedback - Envia uma mensagem de sugest&atilde;o para o administrador do Expresso;</li>
65                                                        <li>Catalog/Contacts - Retorna os contatos do cat&aacute;logo pessoal e geral;</li>
66                                                        <li>Catalog/ContactPicture - Retorna a foto de um contato em BASE64;</li>
67                                                        <li>Calendar/Events - Retorna os eventos do calend&aacute;rio;</li>
68                                                        <li>Admin/CreateUser - Cria&ccedil;&atilde;o de usu&aacute;rios (necess&aacute;rio ter permiss&atilde;o de acesso no m&oacute;dulo expressoAdmin).</li>
69                                                        <li>Admin/SearchUser - Procura de usu&aacute;rios (necess&aacute;rio ter permiss&atilde;o de acesso no m&oacute;dulo expressoAdmin).</li>
70                                                        <li>Admin/DeleteUser - Exclus&atilde;o de usu&aacute;rios (necess&aacute;rio ter permiss&atilde;o de acesso no m&oacute;dulo expressoAdmin).</li>
71                                                        <li>Admin/EditUser - Edi&ccedil;&atilde;o de usu&aacute;rios (necess&aacute;rio ter permiss&atilde;o de acesso no m&oacute;dulo expressoAdmin).</li>
72                                                        <li>Admin/RenameUser - Renomea&ccedil;&atilde;o de usu&aacute;rios (necess&aacute;rio ter permiss&atilde;o de acesso no m&oacute;dulo expressoAdmin).</li>
73                                                        <li>Admin/UpdateUser - Atualiza&ccedil;&atilde;o de usu&aacute;rios (necess&aacute;rio ter permiss&atilde;o de acesso no m&oacute;dulo expressoAdmin).</li>
74                                                </ul>
75                                        </div>
76                                </div>
77
78                                <div id="content_2">
79                                        <h3>COMO FUNCIONA A API REST</h3>
80                                        <div>
81                                                <p>
82                                                        Para ter acesso a um dos recursos listados acima, &eacute; necess&aacute;rio que sua aplica&ccedil;&atilde;o realize uma
83                                                        requisi&ccedil;&atilde;o HTTP pelos m&eacute;todos( GET, POST ), para a URL que &eacute; formado pelo
84                                                        endere&ccedil;o do servidor Expresso mais o nome do recurso que deseja utilizar.
85                                                </p>
86
87                                                <p>
88                                                        Cada recurso possui um conjunto de par&acirc;metros que s&atilde;o necess&aacute;rios para atender as requisi&ccedil;&otilde;es enviadas
89                                                        ao servidor do Expresso.
90                                                </p>
91
92                                                <p>
93                                                        Com exce&ccedil;&atilde;o do recurso <i><b>ExpressionVersion</b></i>, todos os outros recursos necessitam de uma
94                                                        autentica&ccedil;&atilde;o ( usu&aacute;rio e senha, que retornar&aacute; uma chave de acesso ).
95                                                </p>
96
97                                        </div>
98                                </div>
99                        </div>
100
101                        <div id="resources">
102                                <p>
103                                        Informe a URL de contexto da sua API:
104                                </p>
105
106                                <p>
107                                        <input id="serverAPI" type="text" size="70" value="" name="serverAPI">
108                                </p>
109
110
111                                <p>Chave de Autentica&ccedil;&atilde;o</p>
112
113                                <p>
114                                        <div id="key_auth_server_expresso">
115                                                <span style="font-weight:bold;color:red">USU&Aacute;RIO N&Atilde;O AUTENTICADO</span>
116                                                <input type="hidden">
117                                        </div>
118                                </p>
119
120                                <div id="resources_expresso"></div>
121
122                        </div>
123
124                        <div id="exemplos_uso">
125
126                                <p>
127                                        Um exemplo de c&oacute;digo de uma chamada AJAX, utilizando a Jquery. Este trecho de c&oacute;digo abaixo representa
128                                        uma chamada para o Resource ExpressoVersion.
129                                </p>
130
131                                <p>     
132                                        Este m&eacute;todo retorna a vers&atilde;o do Expresso. Veja este exemplo funcionando em sua m&aacute;quina baixando este projeto <a href="javascript:alert('Criar projeto')">PROJETO.ZIP</a>.
133                                </p>
134
135                                <p>
136                                        <h3>Enviando as informa&ccedil;&otilde;es com Javascript</h3>
137
138                                        <pre class='prettyprint'>
139                        $.ajax(
140                        {
141                            type        : "POST",
142                            url         : "client_rest.php",
143                            data        :
144                            {
145                                params          : {},
146                                serverUrl       : "http://expresso.pr.gov.br/api/rest/ExpressoVersion",
147                                methodType      : "POST"
148                            },
149                            beforeSend: function()
150                            {
151                                // Coloque aqui seu c&oacute;digo;
152                            },
153                            success: function(response)                         
154                            {
155                                //Coloque aqui seu c&oacute;digo;
156                            },
157                            error: function(response)
158                            {
159                                //Coloque aqui seu c&oacute;digo;
160                            }
161                        };
162                    </pre>
163
164                                </p>
165
166                                <p>
167                                        <h3>Recebendo as informa&ccedil;&otilde;es no PHP</h3>
168
169                                        <pre class='prettyprint'>
170                        &lt;?php
171
172                            $serverUrl  = $_REQUEST['serverUrl'];
173                            $methodType = $_REQUEST['methodType'];
174                            $params     = $_REQUEST['params'];
175                            $id         = ( $_REQUEST['id'] ) ? $_REQUEST['id'] : time();
176                           
177                            $data = "id=".$id."&amp;params=" . stripslashes($params);
178
179                            function callJSONRPC($url, $data, $method)
180                            {
181                                $ch = curl_init();
182                                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
183                               
184                                if($method == "POST"){
185                                    curl_setopt($ch, CURLOPT_POST, 1);
186                                    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
187                                }
188                               
189                                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
190                                curl_setopt($ch, CURLOPT_URL, $url);
191                                curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded"));
192                               
193                                $result     = curl_exec($ch);
194                                $errorCode  = curl_getinfo($ch,CURLINFO_HTTP_CODE);
195                                $lastURL    = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
196                               
197                                curl_close($ch);
198                               
199                                switch($errorCode)
200                                {
201                                    case 200:
202                                        break;
203
204                                    case 404:
205                                        $result = json_encode(array("error" => array("code" => 404, "message" => "RECURSO NAO ENCONTRADO => $lastURL")));
206                                        break;
207                               
208                                    case 500:
209                                        $result = json_encode(array("error" => array("code" => 500, "message" => "ERRO INTERNO. CONSULTE O LOG DO SERVIDOR")));
210                                        break;
211                                   
212                                    default:
213                                        $result = json_encode(array("error" => array("code" => -1, "message" => "ERRO DESCONHECIDO. CONSULTE O LOG DO SERVIDOR")));
214                                        break;
215                                }
216                               
217                                return $result;
218                            }
219
220                            $result = callJSONRPC($serverUrl, $data, $methodType);
221
222                            echo $result;
223                        ?&gt;
224
225                    </pre>
226
227                                </p>
228
229                        </div>
230                       
231                        <div id="links_rel"> 
232                               
233                                <p> Refer&ecirc;ncias sobre o protocolo de Comunica&ccedil;&atilde;o JSON-RPC</p>
234
235                                <p> Vers&atilde;o utilizada no desenvolvimento desta API do Expresso &eacute; a 2.0 </p>
236
237                                <ul>
238                                        <li><a href='http://www.jsonrpc.org/specification'>JSON-RPC 2.0 Specification</a></li>
239                                        <li><a href='http://json-rpc.org/wiki/specification'>JSON-RPC 1.0 Specification</a></li>
240                                        <li><a href='http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php'>Specification for Fault Code Interoperability</a></li>
241                                        <li><a href='http://en.wikipedia.org/wiki/JSON-RPC#Implementations'>JSON-RPC Implementations</a></li>
242                                </ul>
243
244                                <p>Bibliotecas JavaScript Utilizadas</p>
245
246                                <ul>
247                                        <li><a href='http://www.jquery.com'>JQuery-CORE</a></li>
248                                        <li><a href='http://www.jqueryui.com'>JQuery-UI</a></li>
249                                        <li><a href='http://embeddedjs.com'>EJS</a></li>
250                                </ul>
251
252                                <p>Linguagem de programa&ccedil;&atilde;o Server Side</p>
253                                <ul>
254                                        <li><a href='http://www.php.net'>PHP</a></li>
255                                </ul>
256
257                                <p>Servidor WEB</p>
258                                <ul>
259                                        <li><a href='http://www.apache.org'>Apache</a></li>
260                                </ul>
261
262                        </div>
263
264                </div>
265        </body>
266</html>
Note: See TracBrowser for help on using the repository browser.