Ndihmësit dhe konstantet
Çfarë tjetër përcakton gem-i përveç klientit.
Metodat e modulit
| Metoda | Çfarë është |
|---|---|
| OpenEmail.init, OpenEmail.client | Konfiguroni klientin e përbashkët një herë, pastaj arrijeni nga kudo. Ai ndërtohet vetë nga OPENEMAIL_API_KEY nëse init nuk u ekzekutua kurrë. |
| OpenEmail.emails, OpenEmail.threads dhe çdo hapësirë tjetër emrash | Shkurtore për hapësirat e emrave të klientit të përbashkët. |
| OpenEmail.reset_client | Heq klientin e përbashkët, ndaj thirrja e radhës ndërton një të ri, që është ajo që do një test midis rasteve. |
| OpenEmail.create_client, OpenEmail::Client.new, OpenEmail.new | Një klient më vete. create_client lexon mjedisin për çdo gjë që lini jashtë, ndërsa Client.new (ose OpenEmail.new) merr vetëm atë që jepni. |
| OpenEmail.create_temp_mail | Një klient për kutitë e përkohshme që nuk mbart çelës API. |
| OpenEmail.verify_webhook_signature | Kontrollon nënshkrimin e një dërgese në kohë konstante, me një dritare kundër riluajtjes. Kthen ngjarjen e analizuar, dhe ngre OpenEmail::WebhookSignatureError në çdo dështim. |
| OpenEmail.to_base64 | Base64 për bajtet e bashkëngjitjeve, nga një String binar, një IO ose një Pathname. |
| OpenEmail.api_key? | Nëse një String ka formën oe_live_ ose oe_test_. Një kontroll i formës, jo provë se çelësi funksionon ende. |
| OpenEmail.access_token? | Nëse një String ka formën e një token-i aksesi OAuth: 1 deri në 512 karaktere, pa nisur me oe_. |
| OpenEmail.sealed? | Nëse trupi i një mesazhi është tekst i shifruar. Është false për dy formatet e nënshkruara, trupat e të cilave mbërritën të hapur. |
| OpenEmail.resolve_language, OpenEmail.language_by_code, OpenEmail.rtl_language? | Kërkimet që i duhen një zgjedhësi gjuhe, mbi tabelën e përfshirë OpenEmail::LANGUAGES. |
Konstantet
Çdo bashkësi vlerash që eksporton SDK-ja TypeScript është një Hash i ngrirë te OpenEmail, me të njëjtat emra si çelësa, ndaj OpenEmail::WEBHOOK_EVENTS[:EMAIL_DELIVERED] është "email.delivered". Përdorni .values aty ku ju duhet lista, dhe .value? për të kontrolluar një vlerë që erdhi nga jashtë.
events = OpenEmail::WEBHOOK_EVENTS.values scopes = [OpenEmail::API_SCOPES[:EMAILS_SEND], OpenEmail::API_SCOPES[:THREADS_READ]] puts events.size, scopes.join(","), OpenEmail::PAGE_LIMITS[:MAX_LIMIT]| Konstantja | Çfarë mban |
|---|---|
| OpenEmail::VERSION | Versioni i gem-it. |
| OpenEmail::API_SCOPES | Fjalori i scope-ve, për një ekran krijimi çelësash. |
| OpenEmail::WEBHOOK_EVENTS, OpenEmail::WEBHOOK_SIGNATURE_HEADERS | Ngjarjet te të cilat mund të abonohet një endpoint dhe emrat e header-ave që mbart një dërgesë. |
| OpenEmail::ERROR_TYPES | Fjalori i gabimeve që merr ApiError#type. |
| OpenEmail::PAGE_LIMITS | limit: më i madh dhe ai i parazgjedhur në shumicën e listave të faqosura: 100 dhe 25. Disa lista pranojnë më shumë, dhe referenca e secilës metodë e thotë këtë. |
| OpenEmail::RULE_FIELDS, OpenEmail::RULE_OPERATORS, OpenEmail::RULE_ACTIONS | Fjalori nga i cili ndërtohen kushtet dhe veprimet e një rregulli. |
| OpenEmail::MESSAGE_ENCRYPTION_FORMATS | Pesë zarfet që mund të emërtojë përpunimi i postës hyrëse. Tre prej tyre janë të vulosur. |
| OpenEmail::CREDENTIAL_KINDS, OpenEmail::STEP_UP_METHODS, OpenEmail::STEP_UP_ERROR_CODES | Cilin kredencial përshkruajnë me.get dhe me.ping, si kontrollohet një kod verifikimi, dhe kodet me të cilat mund të dështojë një verifikim. |
| OpenEmail::THREAD_SORTS, OpenEmail::PEOPLE_SORTS, OpenEmail::FILE_SORTS dhe *_SORTS të tjera | Renditjet sipas të cilave mund të renditet një listë. |
| OpenEmail::FORM_STATUSES, OpenEmail::BROADCAST_STATUSES, OpenEmail::SUPPRESSION_REASONS dhe bashkësitë e tjera | Vlerat që mund të marrë një fushë e një burimi. Çdo bashkësi emërtohet sipas asaj që mban. |
Objektet
Një përgjigje është JSON-i i analizuar si Hash me çelësa Symbol. Gem-i ndërton një objekt të vetin vetëm aty ku i jep formë përgjigjes, dhe secili është një Data i pandryshueshëm.
| Klasa | Çfarë mbart |
|---|---|
| OpenEmail::Page | items, has_more? dhe next_cursor, nga çdo list i faqosur. |
| OpenEmail::PeoplePage | Të njëjtat plus seen, nga contacts.list_people. |
| OpenEmail::TempMessagesPage | Të njëjtat plus expires_at, nga temp_mail.list_messages. |
| OpenEmail::AddressBookPage, OpenEmail::AddressBook | unrestricted, addresses dhe domains, nga addresses.list (me has_more? dhe next_cursor) dhe addresses.list_all. |
| OpenEmail::BatchResult | items, sent dhe failed, nga emails.send_batch. |
| OpenEmail::TemplateSends | items, total, page dhe page_size, nga templates.list_sends. |
| OpenEmail::HttpRequest, OpenEmail::HttpResponse | Çfarë merr dhe kthen një adapter:. Një kërkesë e shfaq header-in e saj Authorization si [redacted]. |
Çdo gabim që gem-i ngre qëllimisht trashëgon nga OpenEmail::Error: ApiError dhe nënklasat e tij, NetworkError dhe WebhookSignatureError. Një argument i gabuar është në vend të kësaj një ArgumentError, sepse është gabim në kodin që thërret dhe jo diçka që duhet kapur.
Një endpoint që kjo ende nuk e mbështjell
Një version i ri i gem-it nuk duhet të jetë kurrë ajo që qëndron mes jush dhe një endpoint-i që funksionon tashmë. client.raw.request merr një shteg dhe opsione me fjalë kyçe dhe kthen trupin e analizuar, me kredencialin, URL-në bazë, kohën maksimale dhe politikën e riprovimeve të klientit të zbatuara.
result = client.raw.request( "/something-new", method: :post, query: {dryRun: true}, body: {name: "Invoices"}, repeatable: true) p resultNjë GET riprovohet si çdo lexim tjetër. Çdo metodë tjetër dërgohet një herë, veç nëse jepni repeatable: true, që është pohimi juaj se mund të dërgohet dy herë. query: i anashkalon vlerat që janë nil ose bosh, dhe api_key: funksionon si në çdo metodë tjetër.
Çfarë nuk bën me qëllim
- Nuk validon asnjë trup kërkese. Skema e serverit është kopja e vetme e rregullave, dhe një kopje e dytë këtu do të refuzonte herët a vonë një adresë që një server më i ri e pranon, në një version që dikush e fiksoi dy vjet më parë.
- Nuk ka varësi në kohën e ekzekutimit, as edhe një gem JSON ose HTTP përtej bibliotekës standarde.
- E riformëson një përgjigje vetëm në një mënyrë: array-i
datai një koleksioni nxirret nga zarfi i tij në njërin nga objektet më lart. Çdo përgjigje tjetër kthehet ashtu siç e dërgoi API-ja, me çelësat camelCase të API-së.
Kontrolli i barazisë së gem-it e mban këtë të ndershëm. Ai e dështon build-in kur një metodë TypeScript nuk ka binjak Ruby, merr opsione të ndryshme ose dërgon një kërkesë tjetër.