Pāriet uz dokumentāciju
Zināšanu bāze

Tipizēti SDK

Vispirms TypeScript klients, tad pārējie.

Detaļas

  • Publicēts npm un tiek lietots. @openemail/sdk ir pilnīgs TypeScript klients bez atkarībām, publicēts gan kā ESM, gan CommonJS, ar vienu metodi katrai dokumentētajai operācijai, ko API apkalpo, plus diviem neautentificētiem meta galapunktiem, kas vajadzīgi klientu ģeneratoram, ar atslēgu, kas nolasīta no OPENEMAIL_API_KEY, 30 sekunžu noildzi katram mēģinājumam, diviem atkārtotiem mēģinājumiem, apiKey pārrakstīšanu katram izsaukumam procesam, kas apkalpo vairākas darbvietas, un emails.iterate(), lai lapotu sarakstu, nerakstot kursora ciklu. Tas darbojas Node 18 un jaunākā, Workers, Deno, Bun un pārlūkā. Atslēga ar nepareizu prefiksu izmet kļūdu jau izveides brīdī, nevis atgriež 401 pirmajā izsaukumā; pārbaude ir tikai prefikss un nekas vairāk, tāpēc pareizas formas atslēga, kas ir atsaukta, joprojām krīt tikai pieprasījuma brīdī.
  • Pie servera to satur atbilstības pārbaude, kas katrā būvējumā nolasa OpenAPI dokumentu un krīt, ja abi sāk atšķirties: metode, kas norāda uz operāciju, kuras specifikācijā nav; dokumentēta operācija bez metodes; tvērumu saraksts, kas neatbilst operācijas prasītajam; nosaukumtelpa ar metodēm un bez ieraksta atsaucē; vai metode, kas nesūta to pieprasījumu, kuru nosauc tās pašas manifests. Tā izdrukā, ko ir pierādījusi, un šodien tas skan: 116 SDK metodes, kas aptver visas 104 dokumentētās operācijas. Blakus stāv divi ģeneratoru skripti, kas atsakās izdot operāciju, kura nav klasificēta vai uzrakstīta ar garo domuzīmi. Tāpēc klients nav pēc fakta uzrakstīts apvalks. Tas nevar atpalikt no API par vienu laidienu.
  • Trūkst laidienu infrastruktūras. Pakotne ir npm, tāpēc bun add @openemail/sdk darbojas, bet laidienu darbplūsmas nav: publicēšana ir manuāla pārbaudes, būvējuma un bun publish palaišana, kas nozīmē, ka versija nonāk npm tad, kad kāds atceras, nevis tad, kad izmaiņa ir gatava. API, uz kuru tas norāda pēc noklusējuma, ir ieslēgts un atbild.
  • TypeScript ir vienīgā valoda, un OpenAPI dokuments apzināti ir atbilde pārējām, nevis pieci ar roku rakstīti klienti, kas atpaliek katrs savā tempā. Repozitorijā nav Python, Go vai Ruby klienta, un tāda nebūs, kamēr dokuments nebūs tas, no kā tie tiek ģenerēti.