Lendo e pesquisando sua caixa de entrada de email com uma API REST
Documentação completa pode ser encontrada aqui
Autenticação
Para usar essa API e fazer chamadas para o serviço de mensagens, primeiro você precisa se autenticar e obter seu JSON Web Token (JWT).
curl -X POST "https://api.ijpuk.com/api/v1/authenticate" -H "accept: application/json" -H "authorization: Basic {your base64 encoded username:password}" -d "Content-Length: 0"
No exemplo acima, {your base64 encoded 'username:password'}
, precisa ser substituído pelo token obtido nesta página
Fazer essa solicitação retorna algo semelhante ao mostrado abaixo. O conteúdo do token retornado é necessário ao fazer chamadas futuras para o serviço de mensagens
{
"token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IlVfSUFOXzQwSUpQVUsuQ09NIiwiY2VydHRodW1icHJpbnQiOiI0cW85WjVaTW1QOC9ibm1iKzMrclFBPT0iLCJzdWIiOiJpYW5AaWpwdWsuY29tIiwianRpIjoiODVkaaa3ODQtMjZhZC00Nzk0LWE1NzItZTQzMjRjMWQ1MzUxIiwiaWF0IjoxNTM4MzMwMTI1LCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9wb3N0YWxjb2RlIjoiOTAuMjQwLjcwLjE0MCIsIm5iZiI6MTUzODMzMDEyNSwiZXhwIjoxNTM4MzMzNzI1LCJpc3MiOiJpanB1ay13ZWIuYXp1cmV3ZWJzaXRlcy5uZXQiLCJhdWQiOiJpanB1ay13ZWIuYXp1cmV3ZWJzaXRlcy5uZXQifQ.KwEq01gWlNSqVSnUM1MJp1Y9pRx6wFPR3Mx8MptC-YI"
}
Para listar todas as mensagens na sua caixa de email
Esta chamada retorna uma lista de todos os e-mails da sua caixa de entrada. As informações retornadas devem ser breves. Uma mensagem de email mais detalhada é retornada, consulte "Para recuperar sua mensagem"
curl -X GET "https://api.ijpuk.com/api/v1/message" -H "accept: application/json" -H "mailServerKey: {your mail server key}" -H "Authorization: bearer {your token here}"
Resposta
[
{
"id":"6509",
"subject":"Life 360 - Ian has Just arrived at \"Ian Home\"",
"dateSent":"2018-07-29T16:56:36+00:00"
},
{
"id":"6514",
"subject":"Life 360 - Ian has Just left \"Ian Home\"",
"dateSent":"2018-07-31T16:53:11+00:00"
}
]
Para recuperar sua mensagem de email
Para recuperar mais detalhes de um email específico, basta especificar o Id do email.
curl -X GET "https://api.ijpuk.com/api/v1/message/{email id}" -H "accept: application/json" -H "mailServerKey: {your mail server key}" -H "Authorization: bearer {your token here}"
Resposta
{
"isPlainText":true,
"isHtml":true,
"text":"Just arrived at Ian Home",
"id":"6526",
"subject":"Life 360 - Ian has Just arrived at \"Ian Home\"",
"dateSent":"2018-09-01T11:40:28+00:00"
}
Para excluir um e-mail
Esta chamada excluirá um email específico da sua conta de email. Basta especificar o Id do email.
curl -X DELETE "https://api.ijpuk.com/api/v1/message/{email id}" -H "accept: application/json" -H "mailServerKey: {your mail server key}" -H "Authorization: bearer {your token here}"
Para pesquisar seus e-mails
Essa chamada da API examinará as notificações por email na sua caixa de email e retornará uma lista de correspondências.
curl -X POST "https://api.ijpuk.com/api/v1/message/search" -H "accept: application/json" -H "mailServerKey: {your mail server key}" -H "Authorization: bearer {your token here}" -H "Content-Type: application/json" -d "{ \"matchConditions\": [ { \"regEx\": \"Ian (?'status'.+) Home\", \"type\": \"setPresence\", \"parts\": [ { \"variableName\": \"IanHome\", \"regExGroupName\": \"status\", \"matchConditions\": [ \"left\", \"arrived at\", \"is at\" ] } ] }, { \"regEx\": \"^Weather Report: (?'WeatherCapture'.+) today$\", \"type\": \"setWeather\", \"parts\": [ { \"variableName\": \"Weather\", \"regExGroupName\": \"WeatherCapture\" ] } ]}"