From 665f527cf73d467f6b0ebc48c5d609383f3c3053 Mon Sep 17 00:00:00 2001 From: deepshekhardas Date: Thu, 14 May 2026 06:54:54 +0530 Subject: [PATCH 1/2] fix: improve Msg91 error handling to extract API error messages --- src/Utopia/Messaging/Adapter/SMS/Msg91.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Utopia/Messaging/Adapter/SMS/Msg91.php b/src/Utopia/Messaging/Adapter/SMS/Msg91.php index 8c77907c..89bf1f68 100644 --- a/src/Utopia/Messaging/Adapter/SMS/Msg91.php +++ b/src/Utopia/Messaging/Adapter/SMS/Msg91.php @@ -66,14 +66,20 @@ protected function process(SMSMessage $message): array ], ); - if ($result['statusCode'] === 200) { +if ($result['statusCode'] === 200) { $response->setDeliveredTo(\count($message->getTo())); foreach ($message->getTo() as $to) { $response->addResult($to); } } else { + $errorMessage = 'Unknown error'; + if (isset($result['response']['message'])) { + $errorMessage = $result['response']['message']; + } elseif (isset($result['response']['error'])) { + $errorMessage = $result['response']['error']; + } foreach ($message->getTo() as $to) { - $response->addResult($to, 'Unknown error'); + $response->addResult($to, $errorMessage); } } From 48d9e523235ccc048c4a31394a7c75c5fd3f9c0a Mon Sep 17 00:00:00 2001 From: deepshekhardas Date: Fri, 19 Jun 2026 08:05:47 +0530 Subject: [PATCH 2/2] fix: guard Msg91 error extraction against non-scalar response fields --- src/Utopia/Messaging/Adapter/SMS/Msg91.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Utopia/Messaging/Adapter/SMS/Msg91.php b/src/Utopia/Messaging/Adapter/SMS/Msg91.php index 89bf1f68..b331ead7 100644 --- a/src/Utopia/Messaging/Adapter/SMS/Msg91.php +++ b/src/Utopia/Messaging/Adapter/SMS/Msg91.php @@ -66,7 +66,7 @@ protected function process(SMSMessage $message): array ], ); -if ($result['statusCode'] === 200) { + if ($result['statusCode'] === 200) { $response->setDeliveredTo(\count($message->getTo())); foreach ($message->getTo() as $to) { $response->addResult($to); @@ -74,9 +74,13 @@ protected function process(SMSMessage $message): array } else { $errorMessage = 'Unknown error'; if (isset($result['response']['message'])) { - $errorMessage = $result['response']['message']; + $errorMessage = \is_string($result['response']['message']) + ? $result['response']['message'] + : \json_encode($result['response']['message']); } elseif (isset($result['response']['error'])) { - $errorMessage = $result['response']['error']; + $errorMessage = \is_string($result['response']['error']) + ? $result['response']['error'] + : \json_encode($result['response']['error']); } foreach ($message->getTo() as $to) { $response->addResult($to, $errorMessage);