Ruby
Registo de alterações
Todas as versões da gem, da mais recente para a mais antiga.
0.0.1
A primeira versão. Abrange todo o SDK de TypeScript tal como estava quando esta versão foi lançada, a 0.0.8 mais as alterações em fila depois dela: 430 métodos em 41 espaços de nomes, cada um com o nome de TypeScript em snake_case, e cada um deles envia, byte a byte, o pedido que o seu equivalente em TypeScript envia.
OpenEmail::Clienttem um leitor para cada espaço de nomes, deemails,threadsetemplatesaprovider_imports,dns_connectionseaccount.listAllélist_all,getActiveéget_activeetempMailétemp_mail.- Um corpo de pedido é passado como argumentos nomeados ou como um único Hash, e as suas chaves mantêm os nomes em camelCase da API. Uma resposta volta como um Hash com chaves Symbol.
- Cada recurso paginado tem
list, que devolve umaOpenEmail::Page,list_all, que devolve todos os itens como um Array, eiterate, que passa cada item a um bloco ou devolve um Enumerator que só obtém a página seguinte quando lá chega.PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResulteTemplateSendstransportam as respostas que contêm mais do que uma lista. - Uma recusa da API lança
OpenEmail::ApiErrorou a sua subclasse para o tipo de erro, comstatus,type,code,param,doc_url,request_id,retry_after_seconds,fieldsebody, e predicados comovalidation?estep_up_required?. A ausência total de resposta lançaOpenEmail::NetworkError, comtimeout?quando o prazo expirou. Um erro na própria chamada lançaArgumentErrorantes de qualquer envio. OpenEmail.create_clientconstrói um cliente a partir deOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENeOPENEMAIL_BASE_URL, eOpenEmail.init,OpenEmail.clienteOpenEmail.reset_clientgerem um único cliente partilhado, pelo qual passamOpenEmail.emailse todos os outros espaços de nomes.OpenEmail.create_temp_mailabre caixas descartáveis sem credencial.access_token:aceita um token de acesso OAuth, ou qualquer objeto que responda acalle devolva um, chamado antes de cada pedido. Todos os métodos aceitamapi_key:para agir com outra chave numa única chamada, e os métodos detemp_mailaceitaminbox_token:.OpenEmail.verify_webhook_signatureverifica uma entrega em tempo constante, recusa uma com mais de cinco minutos e devolve o evento analisado. Lê a assinatura de um Hash com o nome do cabeçalho em maiúsculas ou minúsculas, de um env do Rack ou dorequest.headersdo Rails.OpenEmail.to_base64,api_key?,access_token?,sealed?,resolve_language,language_by_codeertl_language?são os auxiliares do SDK de TypeScript, e cada conjunto de valores que a raiz do seu pacote exporta é um Hash congelado emOpenEmail.- Não tem dependências em tempo de execução. Os pedidos passam pelo Net::HTTP com um pool de ligações persistentes que um mesmo cliente partilha entre threads e reconstrói depois de um fork, e
timeout:limita uma tentativa inteira. - As leituras, os envios e todas as escritas que é seguro repetir são repetidos perante um 408, 500, 502, 503 ou 504, com espera progressiva, e perante um 429 apenas quando o seu
Retry-Afteré de um minuto ou menos. Cada envio leva uma chave de idempotência que as suas repetições reutilizam. - O cliente recusa enviar uma credencial por
http:simples para outro destino que não esta máquina, recusa umbase_urlem0.0.0.0, recusa um cabeçalho que dividiria um pedido e nunca deixaraw.requestsair da origem do URL base.