Lendo e pesquisando sua caixa de entrada de email com uma API REST

Documentação completa pode ser encontrada aqui

Imagem mostrando o código

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\" ] } ]}"