Ruby
Registro de cambios
Todas las versiones de la gema, de la más reciente a la más antigua.
0.0.1
La primera versión. Cubre todo el SDK de TypeScript tal como estaba cuando se publicó esta versión, 0.0.8 más los cambios previstos después: 430 métodos en 41 espacios de nombres, cada uno con el nombre de TypeScript en snake_case, y cada uno de ellos envía, byte a byte, la solicitud que envía su gemelo de TypeScript.
OpenEmail::Clienttiene un lector para cada espacio de nombres, desdeemails,threadsytemplateshastaprovider_imports,dns_connectionsyaccount.listAllpasa a serlist_all,getActivepasa a serget_activeytempMailpasa a sertemp_mail.- Un cuerpo de solicitud se pasa como argumentos nombrados o como un solo Hash, y sus claves conservan los nombres en camelCase de la API. Una respuesta vuelve como un Hash con claves Symbol.
- Cada recurso paginado tiene
list, que devuelve unaOpenEmail::Page,list_all, que devuelve todos los elementos como un Array, eiterate, que pasa cada elemento a un bloque o devuelve un Enumerator que solo obtiene la página siguiente cuando llega a ella.PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResultyTemplateSendsllevan las respuestas que contienen algo más que una lista. - Un rechazo de la API lanza
OpenEmail::ApiErroro su subclase para el tipo de error, constatus,type,code,param,doc_url,request_id,retry_after_seconds,fieldsybody, y predicados comovalidation?ystep_up_required?. La falta total de respuesta lanzaOpenEmail::NetworkError, contimeout?cuando venció el plazo. Un error en la propia llamada lanzaArgumentErrorantes de enviar nada. OpenEmail.create_clientconstruye un cliente a partir deOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENyOPENEMAIL_BASE_URL, yOpenEmail.init,OpenEmail.clientyOpenEmail.reset_clientgestionan un cliente compartido a través del cual accedenOpenEmail.emailsy todos los demás espacios de nombres.OpenEmail.create_temp_mailabre buzones desechables sin credencial.access_token:acepta un token de acceso OAuth, o cualquier objeto que responda acally devuelva uno, invocado antes de cada solicitud. Cada método aceptaapi_key:para actuar con otra clave en una sola llamada, y los métodos detemp_mailaceptaninbox_token:.OpenEmail.verify_webhook_signaturecomprueba una entrega en tiempo constante, rechaza una con más de cinco minutos de antigüedad y devuelve el evento analizado. Lee la firma de un Hash con cualquier combinación de mayúsculas y minúsculas, de un env de Rack o de losrequest.headersde Rails.OpenEmail.to_base64,api_key?,access_token?,sealed?,resolve_language,language_by_codeyrtl_language?son las utilidades del SDK de TypeScript, y cada conjunto de valores que exporta la raíz de su paquete es un Hash congelado enOpenEmail.- No tiene dependencias en tiempo de ejecución. Las solicitudes pasan por Net::HTTP con un pool de conexiones persistentes que un cliente comparte entre hilos de ejecución y reconstruye tras un fork, y
timeout:acota un intento completo. - Las lecturas, los envíos y cada escritura que se puede repetir sin riesgo se reintentan ante un 408, 500, 502, 503 y 504 con backoff, y ante un 429 solo cuando su
Retry-Afteres de un minuto o menos. Cada envío lleva una clave de idempotencia que reutilizan sus reintentos. - El cliente se niega a enviar una credencial por
http:sin cifrar a cualquier cosa que no sea esta máquina, rechaza unabase_urlen0.0.0.0, rechaza una cabecera que partiría una solicitud y nunca deja queraw.requestsalga del origen de la URL base.