PHP
चेंजलॉग
पैकेज का हर रिलीज़, नवीनतम पहले।
0.0.1
पहली रिलीज़। यह पूरे TypeScript SDK को कवर करती है, जैसा वह इस रिलीज़ के समय था: 41 नेमस्पेस में 430 मेथड, हर एक अपने TypeScript नाम से, और उनमें से हर एक बाइट-दर-बाइट वही रिक्वेस्ट भेजता है जो उसका TypeScript जुड़वाँ भेजता है।
OpenEmail\OpenEmailमें हर नेमस्पेस के लिए एक property है,emails,threadsऔरtemplatesसे लेकरproviderImports,dnsConnectionsऔरaccountतक, और हर एक के मेथड अपने TypeScript नाम रखते हैं।- रिक्वेस्ट बॉडी एक associative array है जिसकी कुंजियाँ API के camelCase नाम रखती हैं, और options
idempotencyKey:औरapiKey:जैसे named आर्ग्युमेंट हैं। जवाब डिकोड किए गए associative array के रूप में लौटता है। - हर पेज होने वाले resource में
listहै, जो एकPageलौटाता है,listAll, जो हर आइटम एक array के रूप में लौटाता है, औरiterate, जो एक Generator लौटाता है जो अगला पेज तभी लाता है जब वहाँ पहुँचता है।PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResultऔरTemplateSendsउन जवाबों को रखते हैं जिनमें सूची से ज़्यादा कुछ होता है। - API का अस्वीकार
ApiExceptionया error टाइप के लिए उसकी subclass throw करता है,status,type,errorCode,param,docUrl,requestId,retryAfterSeconds,fieldsऔरbodyके साथ, औरisValidation()औरisStepUpRequired()जैसे मेथड के साथ। कोई जवाब न आने परNetworkExceptionthrow होता है, समय-सीमा बीत जाने परisTimeout()के साथ। कॉल की अपनी ग़लती कुछ भी भेजे जाने से पहलेInvalidArgumentExceptionthrow करती है। हर एकOpenEmailExceptionको implement करता है। new OpenEmail()औरOpenEmail::createClient()जो कुछ आप छोड़ देते हैं उसके लिएOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENऔरOPENEMAIL_BASE_URLपढ़ते हैं, औरOpenEmail::init(),OpenEmail::getClient()औरOpenEmail::resetClient()एक साझा क्लाइंट संभालते हैं।OpenEmail::createTempMail()बिना क्रेडेंशियल के डिस्पोज़ेबल इनबॉक्स खोलता है।accessToken:एक OAuth access टोकन लेता है, या उसे लौटाने वाला callable, जो हर रिक्वेस्ट से पहले कॉल होता है। हर मेथड एक कॉल के लिए दूसरी कुंजी से काम करने के लिएapiKey:लेता है, औरtempMailके मेथडinboxToken:लेते हैं। क्रेडेंशियल ले जाने वाले हर पैरामीटर पर#[\SensitiveParameter]लगा है।OpenEmail::verifyWebhookSignature()delivery को स्थिर समय में जाँचता है, पाँच मिनट से पुरानी delivery को अस्वीकार करता है और डिकोड किया गया event लौटाता है। यह signature को किसी भी case वाले हेडर के array से,$_SERVERसे, Symfony या Laravel के header bag से, या PSR-7 रिक्वेस्ट से पढ़ता है।OpenEmail::toBase64(),isApiKey(),isAccessToken(),isSealed(),resolveLanguage(),languageByCode()औरisRtlLanguage()TypeScript SDK के helpers हैं, और उसके पैकेज root द्वारा export किया गया हर मान समूहOpenEmail\Constantsमें एक क्लास है।- इसे curl और json एक्सटेंशन वाले PHP 8.2 या बाद के संस्करण के सिवा कुछ नहीं चाहिए। रिक्वेस्ट हर क्लाइंट के एक cURL handle से जाती हैं, जो रिक्वेस्ट के बीच अपना कनेक्शन खुला रखता है और
pcntl_forkके बाद नया खोलता है, औरtimeout:पूरे प्रयास की सीमा तय करता है।Psr18HttpClientइसके बजाय उन्हें Guzzle, Symfony HttpClient या किसी भी दूसरे PSR-18 क्लाइंट से भेजता है। - reads, sends और दोहराने में सुरक्षित हर write पर 408, 500, 502, 503 और 504 पर backoff के साथ पुनः प्रयास होता है, और 429 पर सिर्फ़ तब जब उसका
Retry-Afterएक मिनट या उससे कम हो। हर send में एक idempotency कुंजी होती है जिसे उसके पुनः प्रयास दोबारा इस्तेमाल करते हैं। - क्लाइंट इस मशीन के अलावा किसी को सादे
http:पर क्रेडेंशियल भेजने से इनकार करता है,0.0.0.0पर बेस URL को अस्वीकार करता है, रिक्वेस्ट को विभाजित कर देने वाले हेडर को अस्वीकार करता है, औरraw->request()को कभी बेस URL के origin से बाहर नहीं जाने देता।