Saltar para a documentação
Java

Auxiliares e constantes

O que mais o pacote define além dos métodos do cliente.

Métodos estáticos

MétodoO que é
new OpenEmail(), OpenEmail.builder()Um cliente. Ambos leem o ambiente para tudo o que omitir.
OpenEmail.createTempMail()Um cliente de caixas descartáveis que não leva chave de API.
OpenEmail.verifyWebhookSignature()Verifica a assinatura de uma entrega em tempo constante, com uma janela de cinco minutos que uma Duration altera, e devolve o evento.
OpenEmail.toBase64()Texto base64 para os bytes de um anexo.
OpenEmail.isApiKey()Se um valor tem a forma oe_live_ ou oe_test_. Uma verificação de forma, não uma prova de que a chave ainda funciona.
OpenEmail.isAccessToken()Se um valor tem a forma de um token de acesso OAuth: de 1 a 512 caracteres, sem começar por oe_.
OpenEmail.isSealed()Se o corpo de uma mensagem é texto cifrado. É false para os dois formatos assinados, cujos corpos chegaram em claro.
OpenEmail.resolveLanguage(), OpenEmail.languageByCode(), OpenEmail.isRtlLanguage()As pesquisas de que um seletor de idioma precisa, sobre a tabela Languages.ALL incluída.
client.raw().request()Chama um caminho que nenhum método envolve ainda, com a credencial e a política de novas tentativas do cliente.

Constantes

Cada conjunto de valores que o SDK de TypeScript exporta é uma classe final em uk.openemail.constants, com uma constante por membro sob os mesmos nomes, por isso WebhookEvents.EMAIL_DELIVERED é email.delivered. values() devolve o conjunto inteiro, que é também a forma de verificar um valor que veio de fora.

Constants.java
List<String> events = WebhookEvents.values();List<String> scopes = List.of(ApiScopes.EMAILS_SEND, ApiScopes.THREADS_READ);boolean known = events.contains("email.delivered"); System.out.println(events.size() + " " + String.join(",", scopes) + " " + PageLimits.MAX_LIMIT + " " + known);
ConstanteO que contém
OpenEmail.VERSIONA versão do pacote.
ApiScopesO vocabulário de âmbitos, para um ecrã de criação de chaves.
WebhookEvents, WebhookSignatureHeadersOs eventos que um endpoint pode subscrever, e os nomes dos cabeçalhos que uma entrega transporta.
ErrorTypesO vocabulário de erros que ApiException.type() devolve.
PageLimitsO limit máximo e o predefinido na maioria das listas paginadas, MAX_LIMIT e DEFAULT_LIMIT: 100 e 25. Algumas listas aceitam mais, e a referência de cada método di-lo.
RuleFields, RuleOperators, RuleActionsO vocabulário a partir do qual as condições e as ações de uma regra são construídas.
MessageEncryptionFormatsOs cinco envelopes que a ingestão pode indicar. Três deles são selados.
CredentialKinds, StepUpMethods, StepUpErrorCodesQue credencial me().get e me().ping descrevem, como é verificado um código de verificação e os códigos com que uma verificação pode falhar.
ThreadSorts, PeopleSorts, FileSorts e os outros *SortsAs ordens pelas quais uma lista pode ser ordenada.
FormStatuses, BroadcastStatuses, SuppressionReasons e os outros conjuntosOs valores que um campo de um recurso pode assumir. Cada conjunto tem o nome do que contém.
Languages.ALLCada idioma que um envio ou uma pré-visualização traduzidos aceitam, com o seu código, os seus nomes e a sua direção.

Objetos

Uma resposta é o JSON descodificado como um Map<String, Object>. O pacote só constrói um tipo próprio onde dá forma à resposta. Cada um é um record imutável em uk.openemail.result, e um ciclo for percorre as suas linhas.

ClasseO que contém
Pageitems, hasMore e nextCursor, de cada list paginado.
PeoplePageO mesmo mais seen, de contacts().listPeople.
TempMessagesPageO mesmo mais expiresAt, de tempMail().listMessages.
AddressBookPage, AddressBookunrestricted, addresses e domains, de addresses().list (com hasMore e nextCursor) e addresses().listAll.
BatchResultitems, sent e failed, de emails().sendBatch.
TemplateSendsitems, total, page e pageSize, de templates().listSends.
PagedIterableUm percurso por todas as páginas, de cada iterate: um ciclo for, stream() ou toList().
Body, RequestOptionsO que uma chamada recebe: um corpo de pedido que mantém a sua ordem e aceita valores null, e as opções de uma chamada.

Todas as exceções que o pacote lança são uma OpenEmailException: ApiException e as suas subclasses, NetworkException e WebhookSignatureException. Um erro na própria chamada lança IllegalArgumentException antes de se enviar seja o que for.

O que deliberadamente não faz

  • Não valida nenhum corpo de pedido. O esquema do servidor é a única cópia das regras, e uma segunda cópia aqui acabaria por recusar um endereço que um servidor mais recente aceita, numa versão que alguém fixou há dois anos.
  • Só altera a forma de uma resposta de uma maneira: a lista data de uma coleção é retirada do seu envelope para um dos tipos acima. Qualquer outra resposta regressa tal como a API a enviou, com as chaves camelCase da API.
  • Não tem métodos assíncronos. Uma chamada bloqueia a sua thread até a resposta chegar, o que custa pouco numa thread virtual.