Auxiliares e constantes
O que mais o pacote define além dos métodos do cliente.
Métodos estáticos
| Método | O 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.
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);| Constante | O que contém |
|---|---|
| OpenEmail.VERSION | A versão do pacote. |
| ApiScopes | O vocabulário de âmbitos, para um ecrã de criação de chaves. |
| WebhookEvents, WebhookSignatureHeaders | Os eventos que um endpoint pode subscrever, e os nomes dos cabeçalhos que uma entrega transporta. |
| ErrorTypes | O vocabulário de erros que ApiException.type() devolve. |
| PageLimits | O 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, RuleActions | O vocabulário a partir do qual as condições e as ações de uma regra são construídas. |
| MessageEncryptionFormats | Os cinco envelopes que a ingestão pode indicar. Três deles são selados. |
| CredentialKinds, StepUpMethods, StepUpErrorCodes | Que 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 *Sorts | As ordens pelas quais uma lista pode ser ordenada. |
| FormStatuses, BroadcastStatuses, SuppressionReasons e os outros conjuntos | Os valores que um campo de um recurso pode assumir. Cada conjunto tem o nome do que contém. |
| Languages.ALL | Cada 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.
| Classe | O que contém |
|---|---|
| Page | items, hasMore e nextCursor, de cada list paginado. |
| PeoplePage | O mesmo mais seen, de contacts().listPeople. |
| TempMessagesPage | O mesmo mais expiresAt, de tempMail().listMessages. |
| AddressBookPage, AddressBook | unrestricted, addresses e domains, de addresses().list (com hasMore e nextCursor) e addresses().listAll. |
| BatchResult | items, sent e failed, de emails().sendBatch. |
| TemplateSends | items, total, page e pageSize, de templates().listSends. |
| PagedIterable | Um percurso por todas as páginas, de cada iterate: um ciclo for, stream() ou toList(). |
| Body, RequestOptions | O 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
datade 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.