From 7c2e0ac211a0478fafad84305454f1eaa8de8dbd 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 660ccfe..6e89223 100644 --- a/src/Utopia/Messaging/Adapter/SMS/Msg91.php +++ b/src/Utopia/Messaging/Adapter/SMS/Msg91.php @@ -94,14 +94,20 @@ protected function process(SMSMessage $message): array body: $body, ); - 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 a5a921b8479c5ae1443c52475e14e821879b376d 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 6e89223..1ba7274 100644 --- a/src/Utopia/Messaging/Adapter/SMS/Msg91.php +++ b/src/Utopia/Messaging/Adapter/SMS/Msg91.php @@ -94,7 +94,7 @@ protected function process(SMSMessage $message): array body: $body, ); -if ($result['statusCode'] === 200) { + if ($result['statusCode'] === 200) { $response->setDeliveredTo(\count($message->getTo())); foreach ($message->getTo() as $to) { $response->addResult($to); @@ -102,9 +102,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);