messagemedia / messages-sdk
MessageMedia Messages API 提供了多个端点,用于构建强大的双向消息应用程序。
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: >=1.3.0
- mashape/unirest-php: ~3.0.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-08 10:24:04 UTC
README
MessageMedia Messages API 提供了多个端点,用于构建强大的双向消息应用程序。
目录
🔐 身份验证
身份验证通过 API 密钥完成。请前往 https://hub.messagemedia.com/register 注册以获取您的 API 密钥。
请求通过 HTTP Basic Auth 或 HMAC 进行身份验证。对于 Basic Auth,您的 API 密钥将是 basicAuthUserName,API 密码将是 basicAuthPassword。对于 HMAC,您的 API 密钥将是 hmacAuthUserName,API 密码将是 hmacAuthPassword。以下 发送 SMS 示例 中进行了演示。
⁉️ 错误
我们的 API 返回标准的 HTTP 成功或错误状态码。对于错误,我们还会在响应中包含有关错误信息的额外信息,以 JSON 格式编码。以下列出了最常见的状态码。
HTTP 状态码
📰 信息
邮件列表
如果您有任何问题、评论或关注事项,请通过以下邮箱联系我们: developers@messagemedia.com
错误报告
如果您发现 SDK 中存在问题,我们希望了解情况。您可以通过 问题 提出或发送邮件至: developers@messagemedia.com
贡献
我们欢迎您就我们如何最好地为您提供 SDK 以简化您在应用程序中使用我们的服务提出意见。您可以 提出问题 或为任何您希望看到的特性创建拉取请求。请注意,大量文件是由我们的后端工具自动生成的。
⭐ 安装
运行 Composer 命令以安装 Messages SDK 的最新稳定版本
composer require messagemedia/messages-sdk
🎬 开始使用
开始使用很简单。只需将您从 MessageMedia 开发者门户 获得的 API 密钥和密码以及您希望发送短信的移动号码输入到以下代码片段中。
发送 SMS
目标号码(destinationNumber
)应采用 E.164 格式。例如,+61491570156
NOT 0491570156
。以下代码片段仅包含发送消息所需的最基本参数。您可以在 此处 查看参数的完整列表。或者,您可以参考具有所有参数的 此 代码片段。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $messagesController = $client->getMessages(); $body = new Models\SendMessagesRequest; $body->messages = array(); $body->messages[0] = new Models\Message; $body->messages[0]->content = 'My first message'; $body->messages[0]->destinationNumber = '+61491570156'; try { $result = $messagesController->sendMessages($body); print_r($result); } catch (Exceptions\SendMessages400Response $e) { echo 'Caught SendMessages400Response: ', $e->getMessage(), "\n"; } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
发送 MMS
目标号码(destinationNumber
)应使用E.164格式。例如,+61491570156
NOT 0491570156
。下面的代码片段只包含了发送消息所需的最小参数。您可以在这里查看参数的完整列表。或者,您也可以查看使用所有参数的代码片段。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $messagesController = $client->getMessages(); $body = new Models\SendMessagesRequest; $body->messages = array(); $body->messages[0] = new Models\Message; $body->messages[0]->content = 'My second message'; $body->messages[0]->destinationNumber = '+61491570156'; $body->messages[0]->format = Models\FormatEnum::MMS; $body->messages[0]->media = array('https://images.pexels.com/photos/1018350/pexels-photo-1018350.jpeg?cs=srgb&dl=architecture-buildings-city-1018350.jpg'); $body->messages[0]->subject = 'This is an MMS message'; try { $result = $messagesController->sendMessages($body); print_r($result); } catch (Exceptions\SendMessages400Response $e) { echo 'Caught SendMessages400Response: ', $e->getMessage(), "\n"; } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
获取消息状态
您可以通过查看上述示例的响应中的message_id
来从已发送的消息中获取消息ID。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $messagesController = $client->getMessages(); $messageId = '877c19ef-fa2e-4cec-827a-e1df9b5509f7'; try { $result = $messagesController->getMessageStatus($messageId); print_r($result); } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
获取消息回复
您可以检查发送到您的消息的回复。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $repliesController = $client->getReplies(); try { $result = $repliesController->checkReplies(); print_r($result); } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
检查投递报告
此端点允许您检查入站和出站消息的投递报告。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $deliveryReportsController = $client->getDeliveryReports(); try { $result = $deliveryReportsController->checkDeliveryReports(); print_r($result); } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
确认投递报告
此端点允许您标记投递报告为已确认,这样它们就不再由“检查投递报告”函数返回。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $deliveryReportsController = $client->getDeliveryReports(); $body = new Models\ConfirmDeliveryReportsAsReceivedRequest; $body->deliveryReportIds = array('011dcead-6988-4ad6-a1c7-6b6c68ea628d', '3487b3fa-6586-4979-a233-2d1b095c7718', 'ba28e94b-c83d-4759-98e7-ff9c7edb87a1'); try { $result = $deliveryReportsController->confirmDeliveryReportsAsReceived($body); print_r($result); } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
检查剩余余额(仅限预付费账户)
此端点允许您检查您的预付费账户上剩余的余额。
<?php require_once "vendor/autoload.php"; use MessageMediaMessagesLib\Models; use MessageMediaMessagesLib\Exceptions; $authUserName = 'API_KEY'; $authPassword = 'API_SECRET'; /* You can change this to true when the above keys are HMAC */ $useHmacAuthentication = false; $client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication); $messagesController = $client->getMessages(); try { $result = $messagesController->checkCreditsRemaining(); print_r($result); } catch (MessageMediaMessagesLib\APIException $e) { echo 'Caught APIException: ', $e->getMessage(), "\n"; } ?>
📕 API参考文档
请查看完整的API文档以获取更详细的信息。
😕需要帮助?
请联系开发者支持developers@messagemedia.com或查看开发者门户developers.messagemedia.com
📃许可证
Apache许可证。请参阅LICENSE文件。