wiki:WebServiceDraft

Version 27 (modified by pereira.jair, 12 years ago) (diff)

--

Expresso Web Service

Este Draft é destinado à especificação dos requisitos referentes à implementação do Web Service do Expresso. Todas as informações contidas neste documento poderão sofrer alterações sem aviso prévio, até o fechamento do escopo deste subprojeto do Expresso.


1. Objetivo


2. Compatibilidade

API: Versões > 2.2

ExpressoMail?: Versões > 2.2

ContactCenter?: Versões > 2.2


3. Arquitetura


4. Protocolo de Comunicação

JSON-RPC versão 1.0


5. Recursos disponíveis

Método:Expresso.loginCriar sessão autenticada no Expresso
Parâmetros:-user
-password
-auth
-Login do Usuario.
-Senha do usuario.
-Autenticacao existente, caso ja esteja logado.
Retorno:-auth-auth: Chave de autenticacao do expresso (KP3 do usuario).



Método:Expresso.logoutFinalizar sessão autenticada no Expresso
Parâmetros:-auth-Autenticacao existente, necessaria para destruir a sessao do usuario.
Retorno:-hasLogout-hasLogout:(Boolean 0 ou 1 indicando se o logout foi realizado com sucesso)



Método:Mail.getUserFoldersListar pastas de Email
Parâmetros:-auth
-search
-page
-resultsPerPage
auth:Autenticacao do usuario.
search:filtro por nome de pasta
page:pagina atual
resultsPerPage:Numero de resultados a retornar por pagina.
Retorno:-folders array(
folderName,
folderID,
folderType,
folderParentID,
folderHasChildren,
qtdMessages,
qtdUnreadMessages,
percentUsageOfTotalQuota,
diskSize
)
-folders:Array com todas as pastas retornadas.
folderName:Nome da pasta.
folderID:Caminho da pasta
folderType:(1-Caixa de Entrada,2-Enviadas,3-Rascunhos,4-Lixeira,5-Pasta Comum,6-Pasta Compartilhada)
folderHasChildren:(Boolean 0 ou 1)Indica se a pasta possui sub-pastas ou nao.
qtdMessages:Quantidade de Mensagens na pasta.
qtdUnreadMessages:Quantidade de Mensagens nao lidas.
percentUsageOfTotalQuota:Percentual utilizado da quota do usuario para esta pasta.
diskSize:Tamanho total da pasta utilizado do disco em Bytes.
Exemplo de Retorno:{"result":{"folders":[{"folderName":"Caixa de Entrada","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":1176,"folderID":"INBOX","folderType":0,"diskSizeUsed":"43526754","diskSizePercent":0.297},{"folderName":"Enviado","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":412,"folderID":"INBOX\/Enviado","folderType":1,"diskSizeUsed":"4898464","diskSizePercent":0.033},{"folderName":"Spam","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"INBOX\/Spam","folderType":2,"diskSizeUsed":"0","diskSizePercent":0},{"folderName":"Lixeira","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":135,"qtdMessages":135,"folderID":"INBOX\/Lixeira","folderType":3,"diskSizeUsed":"133650","diskSizePercent":0.001},{"folderName":"Rascunhos","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"INBOX\/Rascunhos","folderType":4,"diskSizeUsed":"0","diskSizePercent":0},{"folderName":"Drafts","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"INBOX\/Drafts","folderType":"5","diskSizeUsed":"0","diskSizePercent":0},{"folderName":"Deleted Messages","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":2,"folderID":"INBOX\/Deleted Messages","folderType":"5","diskSizeUsed":"15587","diskSizePercent":0},{"folderName":"Devocional","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":6,"qtdMessages":411,"folderID":"INBOX\/Devocional","folderType":"5","diskSizeUsed":"3081288","diskSizePercent":0.021},{"folderName":"Divulgacao","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":40,"qtdMessages":322,"folderID":"INBOX\/Divulgacao","folderType":"5","diskSizeUsed":"1094510","diskSizePercent":0.007},{"folderName":"Expresso - Trac","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":279,"qtdMessages":279,"folderID":"INBOX\/Expresso - Trac","folderType":"5","diskSizeUsed":"736320","diskSizePercent":0.005},{"folderName":"Fran","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":1,"qtdMessages":319,"folderID":"INBOX\/Fran","folderType":"5","diskSizeUsed":"6203897","diskSizePercent":0.042},{"folderName":"Funcel","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":1,"qtdMessages":113,"folderID":"INBOX\/Funcel","folderType":"5","diskSizeUsed":"1048339","diskSizePercent":0.007},{"folderName":"GRH","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":17,"folderID":"INBOX\/GRH","folderType":"5","diskSizeUsed":"132071","diskSizePercent":0.001},{"folderName":"KT","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":8,"folderID":"INBOX\/KT","folderType":"5","diskSizeUsed":"42531","diskSizePercent":0},{"folderName":"LinkedIn","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"INBOX\/LinkedIn","folderType":"5","diskSizeUsed":"0","diskSizePercent":0},{"folderName":"Newarq","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":85,"folderID":"INBOX\/Newarq","folderType":"5","diskSizeUsed":"20127348","diskSizePercent":0.137},{"folderName":"Notes","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"INBOX\/Notes","folderType":"5","diskSizeUsed":"0","diskSizePercent":0},{"folderName":"Ordem Servico","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":4,"folderID":"INBOX\/Ordem Servico","folderType":"5","diskSizeUsed":"21346","diskSizePercent":0},{"folderName":"Organiza\u00e7\u00e3o","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"INBOX\/Organiza\u00e7\u00e3o","folderType":"5","diskSizeUsed":"0","diskSizePercent":0},{"folderName":"RAs","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":563,"folderID":"INBOX\/RAs","folderType":"5","diskSizeUsed":"6017239","diskSizePercent":0.041},{"folderName":"SOS - Parana","folderParentID":"","folderHasChildren":1,"qtdUnreadMessages":1,"qtdMessages":5,"folderID":"INBOX\/SOS - Parana","folderType":"5","diskSizeUsed":"7330","diskSizePercent":0},{"folderName":"Casa civil","folderParentID":"INBOX\/SOS - Parana","folderHasChildren":1,"qtdUnreadMessages":0,"qtdMessages":1,"folderID":"INBOX\/SOS - Parana\/Casa civil","folderType":"5","diskSizeUsed":"3671","diskSizePercent":0},{"folderName":"Teste de Sub-Pasta","folderParentID":"INBOX\/SOS - Parana\/Casa civil","folderHasChildren":0,"qtdUnreadMessages":36,"qtdMessages":36,"folderID":"INBOX\/SOS - Parana\/Casa civil\/Teste de Sub-Pasta","folderType":"5","diskSizeUsed":"60702","diskSizePercent":0},{"folderName":"Cohapar","folderParentID":"INBOX\/SOS - Parana","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":20,"folderID":"INBOX\/SOS - Parana\/Cohapar","folderType":"5","diskSizeUsed":"218352","diskSizePercent":0.001},{"folderName":"Dioe","folderParentID":"INBOX\/SOS - Parana","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":10,"folderID":"INBOX\/SOS - Parana\/Dioe","folderType":"5","diskSizeUsed":"44373","diskSizePercent":0},{"folderName":"Hri","folderParentID":"INBOX\/SOS - Parana","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":9,"folderID":"INBOX\/SOS - Parana\/Hri","folderType":"5","diskSizeUsed":"24438","diskSizePercent":0},{"folderName":"Mppr","folderParentID":"INBOX\/SOS - Parana","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":10,"folderID":"INBOX\/SOS - Parana\/Mppr","folderType":"5","diskSizeUsed":"43634","diskSizePercent":0},{"folderName":"Seed","folderParentID":"INBOX\/SOS - Parana","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":8,"folderID":"INBOX\/SOS - Parana\/Seed","folderType":"5","diskSizeUsed":"26227","diskSizePercent":0},{"folderName":"Sascar","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":33,"folderID":"INBOX\/Sascar","folderType":"5","diskSizeUsed":"341511","diskSizePercent":0.002},{"folderName":"Senhas","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":1,"folderID":"INBOX\/Senhas","folderType":"5","diskSizeUsed":"3084","diskSizePercent":0},{"folderName":"Sent Messages","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":52,"folderID":"INBOX\/Sent Messages","folderType":"5","diskSizeUsed":"396049","diskSizePercent":0.003},{"folderName":"Sindicato","folderParentID":"","folderHasChildren":0,"qtdUnreadMessages":1,"qtdMessages":134,"folderID":"INBOX\/Sindicato","folderType":"5","diskSizeUsed":"6878515","diskSizePercent":0.047},{"folderName":"expressolivre-webmaster","folderParentID":"user","folderHasChildren":1,"qtdUnreadMessages":34,"qtdMessages":34,"folderID":"user\/expressolivre-webmaster","folderType":"6","diskSizeUsed":null,"diskSizePercent":0},{"folderName":"Trash","folderParentID":"user\/expressolivre-webmaster","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"user\/expressolivre-webmaster\/Trash","folderType":"6","diskSizeUsed":null,"diskSizePercent":0},{"folderName":"111","folderParentID":"user\/expressolivre-webmaster","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"user\/expressolivre-webmaster\/111","folderType":"6","diskSizeUsed":null,"diskSizePercent":0},{"folderName":"Enviados","folderParentID":"user\/expressolivre-webmaster","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"user\/expressolivre-webmaster\/Enviados","folderType":"6","diskSizeUsed":null,"diskSizePercent":0},{"folderName":"Lixeira","folderParentID":"user\/expressolivre-webmaster","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"user\/expressolivre-webmaster\/Lixeira","folderType":"6","diskSizeUsed":null,"diskSizePercent":0},{"folderName":"Rascunhos","folderParentID":"user\/expressolivre-webmaster","folderHasChildren":0,"qtdUnreadMessages":0,"qtdMessages":0,"folderID":"user\/expressolivre-webmaster\/Rascunhos","folderType":"6","diskSizeUsed":null,"diskSizePercent":0},{"folderName":"Retornados","folderParentID":"user\/expressolivre-webmaster","folderHasChildren":0,"qtdUnreadMessages":34,"qtdMessages":34,"folderID":"user\/expressolivre-webmaster\/Retornados","folderType":"6","diskSizeUsed":null,"diskSizePercent":0}],"diskSizeUsed":95126528,"diskSizeLimit":146800640,"diskSizePercent":0.64},"error":null,"id":"3"}?



Método:Mail.getUserMessagesListar mensagens de uma pasta de Email
Parâmetros:-auth
-folderID
-msgID
-search
-page
-resultsPerPage
auth:Autenticacao do usuario.
folderID:Filtro por pastas (so retornara mensagens da pasta informada)

search:filtro por assunto da mensagem, conteudo.
page:pagina atual
resultsPerPage:Numero de resultados a retornar por pagina.
Retorno:-messages array(
msgID,
folderID,
msgDate,
msgFrom array(fullName,mailAddress),
msgTo array(array(fullName,mailAddress)),
msgReplyTo array(array(fullName,mailAddress)),
msgCC array(array(fullName,mailAddress)),
msgBCC array(array(fullName,mailAddress)),
msgBodyResume,
msgBody,
msgSeen,
msgHasAttachments,
msgAnswered,
msgFlagged,
msgDeleted,
msgDraft,
msgForwarded,
msgSize
)
-messages:Array com todas as mensagens retornadas.
msgID:Identificador da mensagem.
folderID:Identificador da Pasta da Mensagem.
msgDate:(YYYY-mm-dd H:i:s)
msgFrom: Array com o Nome do contato e email (fullName,mailAddress)
msgReplyTo,msgTo,msgCC,msgBCC: Sao arrays e retornam N arrays contendo (fullName,mailAddress)
msgBodyResume:Resumo do conteudo da mensagem (sem tags html)
msgBody:Conteudo da Mensagem, campo somente retorna valores quando e passado o parametro msgID que especifica qual mensagem sera exibida.
msgSeen:Boolean indicando se a mensagem foi marcada como lida.
msgHasAttachments:Boolean - indica se tem anexos ou nao.
msgAnswered:Boolean - flag do imap para Respondida
msgFlagged:Boolean - flag do imap para importantes
msgDeleted:Boolean - flag do imap para Deleted.
msgDraft:Boolean - flag do imap para Drafts.
msgForwarded:
msgSize:Tamanho da mensagem em Bytes.