wiki:WebServiceDraft

Version 32 (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:{{{#!json {"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}],"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.