PHP
Registo de alterações
Todas as versões do pacote, da mais recente para a mais antiga.
0.0.1
A primeira versão. Abrange todo o SDK de TypeScript tal como estava quando esta versão foi lançada: 430 métodos em 41 espaços de nomes, cada um com o seu nome de TypeScript, e cada um deles envia, byte a byte, o pedido que o seu equivalente em TypeScript envia.
OpenEmail\OpenEmailtem uma propriedade para cada espaço de nomes, deemails,threadsetemplatesaproviderImports,dnsConnectionseaccount, e os métodos de cada um mantêm os seus nomes de TypeScript.- O corpo de um pedido é um array associativo cujas chaves mantêm os nomes em camelCase da API, e as opções são argumentos nomeados como
idempotencyKey:eapiKey:. Uma resposta volta como o array associativo descodificado. - Cada recurso paginado tem
list, que devolve umaPage,listAll, que devolve todos os itens como um array, eiterate, que devolve um Generator que só obtém a página seguinte quando lá chega.PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResulteTemplateSendstransportam as respostas que contêm mais do que uma lista. - Uma recusa da API lança
ApiExceptionou a sua subclasse para o tipo de erro, comstatus,type,errorCode,param,docUrl,requestId,retryAfterSeconds,fieldsebody, e métodos comoisValidation()eisStepUpRequired(). A ausência total de resposta lançaNetworkException, comisTimeout()quando o prazo expirou. Um erro na própria chamada lançaInvalidArgumentExceptionantes de qualquer envio. Todas implementamOpenEmailException. new OpenEmail()eOpenEmail::createClient()leemOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENeOPENEMAIL_BASE_URLpara tudo o que deixar de fora, eOpenEmail::init(),OpenEmail::getClient()eOpenEmail::resetClient()gerem um único cliente partilhado.OpenEmail::createTempMail()abre caixas descartáveis sem credencial.accessToken:aceita um token de acesso OAuth, ou um invocável que devolva um, chamado antes de cada pedido. Todos os métodos aceitamapiKey:para agir com outra chave numa única chamada, e os métodos detempMailaceitaminboxToken:. Todos os parâmetros que levam uma credencial estão marcados com#[\SensitiveParameter].OpenEmail::verifyWebhookSignature()verifica uma entrega em tempo constante, recusa uma com mais de cinco minutos e devolve o evento descodificado. Lê a assinatura de um array de cabeçalhos com o nome em maiúsculas ou minúsculas, de$_SERVER, de um header bag do Symfony ou do Laravel, ou de um pedido PSR-7.OpenEmail::toBase64(),isApiKey(),isAccessToken(),isSealed(),resolveLanguage(),languageByCode()eisRtlLanguage()são os auxiliares do SDK de TypeScript, e cada conjunto de valores que a raiz do seu pacote exporta é uma classe emOpenEmail\Constants.- Precisa de PHP 8.2 ou superior com as extensões curl e json, e de nada mais. Os pedidos passam por um único handle cURL por cliente, que mantém a sua ligação aberta entre pedidos e abre uma nova depois de
pcntl_fork, etimeout:limita uma tentativa inteira.Psr18HttpClientenvia-os antes pelo Guzzle, pelo Symfony HttpClient ou por qualquer outro cliente PSR-18. - As leituras, os envios e todas as escritas que é seguro repetir são repetidos perante um 408, 500, 502, 503 ou 504, com espera progressiva, e perante um 429 apenas quando o seu
Retry-Afteré de um minuto ou menos. Cada envio leva uma chave de idempotência que as suas repetições reutilizam. - O cliente recusa enviar uma credencial por
http:simples para outro destino que não esta máquina, recusa um URL base em0.0.0.0, recusa um cabeçalho que dividiria um pedido e nunca deixaraw->request()sair da origem do URL base.