PHP
Changelog
Jedes Release des Pakets, neueste zuerst.
0.0.1
Das erste Release. Es deckt das gesamte TypeScript-SDK ab, wie es zum Zeitpunkt dieses Releases stand: 430 Methoden in 41 Namespaces, jede unter ihrem TypeScript-Namen, und jede davon sendet Byte für Byte die Anfrage, die ihr TypeScript-Gegenstück sendet.
OpenEmail\OpenEmailhat eine Eigenschaft für jeden Namespace, vonemails,threadsundtemplatesbisproviderImports,dnsConnectionsundaccount, und die Methoden darauf behalten ihre TypeScript-Namen.- Ein Request-Body ist ein assoziatives Array, dessen Schlüssel die camelCase-Namen der API behalten, und Optionen sind benannte Argumente wie
idempotencyKey:undapiKey:. Eine Antwort kommt als decodiertes assoziatives Array zurück. - Jede Ressource mit Seiten hat
list, das einePagezurückgibt,listAll, das alle Einträge als Array zurückgibt, unditerate, das einen Generator zurückgibt, der die nächste Seite erst holt, wenn er dort ankommt.PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResultundTemplateSendstragen die Antworten, die mehr als eine Liste enthalten. - Eine Ablehnung durch die API wirft
ApiExceptionoder deren Unterklasse für den Fehlertyp, mitstatus,type,errorCode,param,docUrl,requestId,retryAfterSeconds,fieldsundbodysowie Methoden wieisValidation()undisStepUpRequired(). Gar keine Antwort wirftNetworkException, mitisTimeout(), wenn die Frist abgelaufen ist. Ein Fehler im Aufruf selbst wirftInvalidArgumentException, bevor etwas gesendet wird. Jede davon implementiertOpenEmailException. new OpenEmail()undOpenEmail::createClient()lesenOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENundOPENEMAIL_BASE_URLfür alles, was Sie weglassen, undOpenEmail::init(),OpenEmail::getClient()undOpenEmail::resetClient()verwalten einen gemeinsamen Client.OpenEmail::createTempMail()öffnet Wegwerf-Postfächer ohne Zugangsdaten.accessToken:nimmt ein OAuth-Zugriffstoken oder ein Callable, das eines zurückgibt, aufgerufen vor jeder Anfrage. Jede Methode nimmtapiKey:, um für einen Aufruf mit einem anderen Schlüssel zu handeln, und dietempMail-Methoden nehmeninboxToken:. Jeder Parameter, der Zugangsdaten trägt, ist mit#[\SensitiveParameter]markiert.OpenEmail::verifyWebhookSignature()prüft eine Zustellung in konstanter Zeit, lehnt eine ab, die älter als fünf Minuten ist, und gibt das decodierte Event zurück. Es liest die Signatur aus einem Array von Headern in beliebiger Schreibweise, aus$_SERVER, aus einem Header-Bag von Symfony oder Laravel oder aus einem PSR-7-Request.OpenEmail::toBase64(),isApiKey(),isAccessToken(),isSealed(),resolveLanguage(),languageByCode()undisRtlLanguage()sind die Helfer des TypeScript-SDK, und jede Wertemenge, die dessen Paketwurzel exportiert, ist eine Klasse inOpenEmail\Constants.- Es braucht PHP 8.2 oder neuer mit den Erweiterungen curl und json und sonst nichts. Anfragen laufen über ein cURL-Handle pro Client, das seine Verbindung zwischen Anfragen offen hält und nach
pcntl_forkeine neue öffnet, undtimeout:begrenzt einen ganzen Versuch.Psr18HttpClientsendet sie stattdessen über Guzzle, Symfony HttpClient oder einen anderen PSR-18-Client. - Lesevorgänge, Versände und jeder Schreibvorgang, der gefahrlos wiederholt werden kann, werden bei 408, 500, 502, 503 und 504 mit Backoff wiederholt und bei einem 429 nur, wenn dessen
Retry-Aftereine Minute oder weniger beträgt. Jeder Versand trägt einen Idempotency-Key, den seine Wiederholungen weiterverwenden. - Der Client weigert sich, Zugangsdaten über einfaches
http:an etwas anderes als diesen Rechner zu senden, lehnt eine Basis-URL auf0.0.0.0ab, lehnt einen Header ab, der eine Anfrage aufspalten würde, und lässtraw->request()nie den Origin der Basis-URL verlassen.