PHP
Journal des versions
Toutes les versions du paquet, de la plus récente à la plus ancienne.
0.0.1
La première version. Elle couvre tout le SDK TypeScript tel qu'il était au moment de cette version : 430 méthodes dans 41 espaces de noms, chacune sous son nom TypeScript, et chacune envoie, octet pour octet, la requête qu'envoie sa jumelle TypeScript.
OpenEmail\OpenEmaila une propriété pour chaque espace de noms, deemails,threadsettemplatesjusqu'àproviderImports,dnsConnectionsetaccount, et les méthodes de chacun gardent leurs noms TypeScript.- Un corps de requête est un tableau associatif dont les clés gardent les noms en camelCase de l'API, et les options sont des arguments nommés comme
idempotencyKey:etapiKey:. Une réponse revient sous forme du tableau associatif décodé. - Chaque ressource paginée a
list, qui renvoie unePage,listAll, qui renvoie tous les éléments dans un tableau, etiterate, qui renvoie un Generator qui ne récupère la page suivante qu'une fois arrivé à elle.PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResultetTemplateSendsportent les réponses qui contiennent plus qu'une liste. - Un refus de l'API lève
ApiExceptionou sa sous-classe pour le type d'erreur, avecstatus,type,errorCode,param,docUrl,requestId,retryAfterSeconds,fieldsetbody, et des méthodes commeisValidation()etisStepUpRequired(). L'absence totale de réponse lèveNetworkException, avecisTimeout()quand le délai est dépassé. Une erreur dans l'appel lui-même lèveInvalidArgumentExceptionavant que rien ne soit envoyé. Toutes implémententOpenEmailException. new OpenEmail()etOpenEmail::createClient()lisentOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENetOPENEMAIL_BASE_URLpour tout ce que vous omettez, etOpenEmail::init(),OpenEmail::getClient()etOpenEmail::resetClient()gèrent un client partagé.OpenEmail::createTempMail()ouvre des boîtes jetables sans identifiant.accessToken:prend un jeton d'accès OAuth, ou un callable qui en renvoie un, appelé avant chaque requête. Chaque méthode prendapiKey:pour agir avec une autre clé le temps d'un appel, et les méthodestempMailprennentinboxToken:. Chaque paramètre qui porte un identifiant est marqué#[\SensitiveParameter].OpenEmail::verifyWebhookSignature()vérifie une livraison en temps constant, refuse celle qui date de plus de cinq minutes et renvoie l'événement décodé. Elle lit la signature dans un tableau d'en-têtes quelle que soit la casse, dans$_SERVER, dans un header bag Symfony ou Laravel, ou dans une requête PSR-7.OpenEmail::toBase64(),isApiKey(),isAccessToken(),isSealed(),resolveLanguage(),languageByCode()etisRtlLanguage()sont les utilitaires du SDK TypeScript, et chaque ensemble de valeurs qu'exporte la racine de son paquet est une classe dansOpenEmail\Constants.- Elle nécessite PHP 8.2 ou plus récent avec les extensions curl et json, et rien d'autre. Les requêtes passent par un handle cURL par client, qui garde sa connexion ouverte entre les requêtes et en ouvre une nouvelle après
pcntl_fork, ettimeout:borne une tentative entière.Psr18HttpClientles envoie à la place via Guzzle, Symfony HttpClient ou tout autre client PSR-18. - Les lectures, les envois et chaque écriture qu'on peut répéter sans risque sont réessayés sur 408, 500, 502, 503 et 504 avec un backoff, et sur un 429 seulement quand son
Retry-Afterest d'une minute ou moins. Chaque envoi porte une clé d'idempotence que ses réessais réutilisent. - Le client refuse d'envoyer un identifiant en
http:simple vers autre chose que cette machine, refuse une URL de base sur0.0.0.0, refuse un en-tête qui scinderait une requête, et ne laisse jamaisraw->request()sortir de l'origine de l'URL de base.