7. SAPO Mail - Webservices
Arquitectura
Aspectos Gerais
Credenciais
Mail
Contactos
Exemplos Práticos
8. Mail Webservices - Credenciais - Objecto ESBCredentials
1
ESBCredentials
• ESBUsername
• ESBPassword
Usado para a autenticação nos webservices do mail;
Todas as operações dos webservices do mail requerem a definição
de um SOAP Header com as credenciais do utilizador.
class ESBCredentials {
public $ESBUsername; //string
public $ESBPassword; //string
}
9. SAPO Mail - Webservices
Arquitectura
Aspectos Gerais
Credenciais
Mail
Contactos
Exemplos Práticos
10. Mail Webservices - Mail - Objectos
1
Mailbox
• Status
• ArrayOfLastMail
ArrayOfLastMail
• PageInfo
• LastMail
Status PageInfo LastMail
• Total • PageNumber • MessageId • Recent
• Unseen • RecordsCount • FromName • Answered
• Recent • MaxRecords • FromEMail • Deleted
• Subject • Flagged
• Date • Size (in bytes)
• Seen
11. Mail Webservices - Mail - Operações (1)
GetStatus
GetStatus
class Status {
public $Total; //int
public $Unseen; //int
public $Recent; //int
}
12. Mail Webservices - Mail - Operações (2)
GetLastMails
GetLastMails • page (1 by default)
• limit (10 by default, max 50)
Headers das mensagens pedidas;
Ordenação: ARRIVAL DATE DESC
class ArrayOfLastMail {
public $PageInfo;
public $LastMail = array(); class LastMail {
} public $MessageId; //int (imap uid)
public $FromName; //string
public $FromEMail; //string
public $Subject; //string
public $Date; //string
class PageInfo { public $Seen; //boolean
public $PageNumber; //int public $Recent; //boolean
public $RecordsCount; //int public $Answered; //boolean
public $MaxRecords; //int public $Deleted; //boolean
} public $Flagged; //booelan
public $Size; //int (in bytes)
}
13. Mail Webservices - Mail - Operações (3)
GetMailbox
GetMailbox • page (1 by default)
• limit (10 by default, max 50)
class Mailbox {
public $Status;
public $ArrayOfLastMail;
class ArrayOfLastMail {
} public $PageInfo; //PageInfo
public $LastMail = array(); //LastMail
}
class Status {
public $Total; //int
Headers das mensagens pedidas;
public $Unseen; //int
public $Recent; //int
Ordenação: ARRIVAL DATE DESC
}
17. Mail Webservices - Contactos - Operações (1)
ListAllContacts
ListAllContacts
class Contact {
public $ContactId; //string
public $Name; //string
class ArrayOfContact {
public $Alias; //string
public $ContactInfo;
public $Email; //string
public $Contact = array(); public $HomeAddress; //string
} public $WorkAddress; //string
public $HomePhone; //string
public $WorkPhone; //string
public $CellPhone; //string
public $Fax; //string
public $Title; //string
class ContactInfo {
public $Company; //string
public $RecordsCount; //int
public $Notes; //string
public $SearchExpression; //string
public $PGPPublicKey; //string
}
public $SMimePublicKey; //string
public $FreeBusyURL; //string
}
18. Mail Webservices - Contactos - Operações (2)
GetContact
GetContact • ContactID (string)
class Contact {
public $ContactId; //string
public $Name; //string
public $Alias; //string
public $Email; //string
public $HomeAddress; //string
public $WorkAddress; //string
public $HomePhone; //string
public $WorkPhone; //string
public $CellPhone; //string
public $Fax; //string
public $Title; //string
public $Company; //string
public $Notes; //string
public $PGPPublicKey; //string
public $SMimePublicKey; //string
public $FreeBusyURL; //string
}
19. Mail Webservices - Contactos - Operações (3)
AddContact
AddContact • Contact (object)
Campo gerado pelo webservice:
ContactId;
Obrigatório:
Name.
057259c0271b5cf71bb8e9be7ace49e2
ContactId (hash md5)
20. Mail Webservices - Contactos - Operações (4)
SetContact
SetContact • ContactID (string)
• Contact (object)
Campo ignorado pelo webservice:
ContactId;
true false
Sucesso Erro
21. Mail Webservices - Contactos - Operações (5)
SearchContact
SearchContact • SearchExpression (string != ‘’) Nome
E-mail
class Contact {
class ArrayOfContact {
public $ContactId; //string
public $ContactInfo; public $Name; //string
public $Contact = array(); public $Alias; //string
} public $Email; //string
public $HomeAddress; //string
public $WorkAddress; //string
public $HomePhone; //string
public $WorkPhone; //string
public $CellPhone; //string
class ContactInfo {
public $Fax; //string
public $RecordsCount; //int
public $Title; //string
public $SearchExpression; //string
public $Company; //string
}
public $Notes; //string
public $PGPPublicKey; //string
public $SMimePublicKey; //string
public $FreeBusyURL; //string
}
22. Mail Webservices - Contactos - Operações (6)
DeleteContact
DeleteContact • ContactID (string)
true false
Sucesso Erro
31. Mail Webservices - Exemplos Práticos - Em Acção (1)
Agora é tempo de ver tudo isto em acção:
Listagem de Mails e Contactos:
Webservices:
GetMailbox;
ListAllContacts;
Importação de contactos para o webmail:
Webservices:
AddContact;
Ferramentas:
Microformatos;
Operator (extensão Firefox);
32. Mail Webservices - Exemplos Práticos - Em Acção (2)
Screencasts de demos de utilização:
ListAllContacts:
http://services.mail.sapo.pt/codebits/swf/ListAllContacts.swf
GetMailbox:
http://services.mail.sapo.pt/codebits/swf/GetMailbox.swf
Screencast de instalação e uso de um user-script para a extensão
para Firefox Operator:
Adicionar hCard de uma página ao webmail do SAPO:
http://services.mail.sapo.pt/codebits/swf/Operator.swf