Ves a la documentació
Base de coneixement

SDK tipats

Primer un client TypeScript, i després la resta.

Detalls

  • Publicat a npm i en ús. @openemail/sdk és un client TypeScript complet i sense dependències, publicat tant com a ESM com a CommonJS, amb un mètode per a cada operació documentada que serveix l'API, més els dos punts finals de metadades sense autenticació que necessita un generador de clients, i amb la clau llegida d'OPENEMAIL_API_KEY, un temps d'espera de 30 segons per intent, dos reintents, una substitució d'apiKey per crida per a un procés que atén diversos espais de treball, i emails.iterate() per paginar una llista sense escriure el bucle del cursor. Funciona a Node 18 i superior, Workers, Deno, Bun i el navegador. Una clau amb el prefix equivocat llança un error en construir-se en comptes de retornar un 401 a la primera crida; la comprovació és un prefix i res més, de manera que una clau ben formada que s'hagi revocat continua fallant a la xarxa.
  • Es manté lligat al servidor per una comprovació de paritat que llegeix el document OpenAPI a cada compilació i falla si tots dos divergeixen: un mètode que apunta a una operació que l'especificació no té, una operació documentada sense mètode, una llista d'àmbits que no coincideix amb la que exigeix l'operació, un espai de noms amb mètodes i sense entrada a la referència, o un mètode que no envia la sol·licitud que el seu propi manifest indica. Imprimeix què ha demostrat, i avui això diu 116 mètodes de l'SDK que cobreixen les 104 operacions documentades. Al seu costat hi ha dos scripts generadors que es neguen a emetre una operació sense classificar o escrita amb una ratlla llarga. Per això el client no és un embolcall escrit a posteriori. No pot anar una versió per darrere de l'API.
  • El que falta és la lampisteria de publicació. El paquet és a npm, de manera que bun add @openemail/sdk funciona, però no hi ha cap flux de treball de publicació: publicar és una execució manual de la comprovació prèvia, la compilació i bun publish, cosa que vol dir que una versió arriba a npm quan algú se'n recorda i no pas quan aterra el canvi. L'API que fa servir per defecte està activa i responent.
  • TypeScript és l'únic llenguatge, i el document OpenAPI és deliberadament la resposta per a la resta, en comptes de cinc clients escrits a mà que es van endarrerint a ritmes diferents. Al repositori no hi ha cap client de Python, Go ni Ruby, i no n'hi haurà cap abans que el document sigui allò a partir del qual es generin.