infobip-community / infobip-api-php-sdk
Infobip API 的 PHP SDK 包
Requires
- php: ^7.2.5 || ^8.0
- guzzlehttp/guzzle: ^7.4
- myclabs/php-enum: ^1.7
Requires (Dev)
- ergebnis/phpstan-rules: ^1.0
- fakerphp/faker: ^1.19
- friendsofphp/php-cs-fixer: 3.4.*
- illuminate/support: 7.*
- mockery/mockery: ^1.3
- overtrue/phplint: ^3.0
- phpoption/phpoption: ^1.8
- phpstan/phpstan: ^1.4
- phpstan/phpstan-mockery: ^1.0
- phpunit/phpunit: ^8.5
- vlucas/phpdotenv: ^4.2
This package is not auto-updated.
Last update: 2024-09-12 01:47:18 UTC
README
这是一个 Infobip API 的 PHP SDK,您可以使用它作为依赖项将 Infobip API 添加到您的应用程序中。要使用此 SDK,您需要一个 Infobip 账户。如果您还没有,您可以在 这里 创建一个免费账户。
目录
一般信息
对于 infobip-api-php-sdk
版本控制,我们使用 语义版本控制 方案。
许可证
在 MIT 许可证 下发布。
兼容性图表
安装
要开始使用 infobip-api-php-sdk
库,请将其添加到您的 composer.json
项目依赖项
composer require infobip-community/infobip-api-php-sdk
或者您可以直接在 composer.json
文件中添加它
"require": { "infobip-community/infobip-api-php-sdk": "1.*" }
然后简单地运行 composer install
以下载依赖项。
基本用法
以下是如何创建 InfobipClient
实例的示例。您也可以在您的 DI 容器中定义它,并从 env()
或配置文件中获取配置数据。
$infobipClient = new Infobip\InfobipClient( 'apiKey', 'baseUrl', 3 // timeout in seconds, optional parameter );
示例
使用 InfobipClient
调用的简单示例
// example 1 $resource = new \Infobip\Resources\WhatsApp\WhatsAppTextMessageResource( '441134960000', '441134960001', new \Infobip\Resources\WhatsApp\Models\TextContent('text message') ); $response = $infobipClient ->whatsApp() ->sendWhatsAppTextMessage($resource);
异常
在使用 InfobipClient
时可能会遇到一些 Infobip 异常
- 无效请求 (400)
- 未经授权 (401)
- 禁止 (403)
- 未找到 (404)
- 不可处理的实体 (422)
- 请求过多 (429)
- 内部服务器错误 (500)
当然,有处理这些异常的方法
try { $resource = new WhatsAppTextMessageResource(); $response = $infobipClient ->whatsApp() ->sendWhatsAppTextMessage($resource); } catch (InfobipException $exception) { $exception->getMessage(); // error message $exception->getCode(); // http status code $exception->getValidationErrors(); // array of validation errors, only available on 400 Bad request and 422 Unprocessable entity exceptions }
Laravel
在您的 config/app.php
配置文件中注册 InfobipServiceProvider
'providers' => [ // Application Service Providers... // ... // Other Service Providers... Infobip\Support\Laravel\InfobipServiceProvider::class, // ... ],
然后运行以下命令将 Infobip 配置文件复制到您的 config
目录
php artisan vendor:publish --provider="Infobip\Support\Laravel\InfobipServiceProvider"
之后,您就可以开始在 Laravel 项目中使用 Infobip API PHP SDK 包了,只需将 InfobipClient
注入到代码库中
<?php namespace App\Http\Controllers; use Infobip\InfobipClient; use Infobip\Resources\WhatsApp\WhatsAppTextMessageResource; use Infobip\Resources\WhatsApp\Models\TextContent; final class InfobipController { public function sendTextMessage(Request $request, InfobipClient $infobipClient) { $resource = new WhatsAppTextMessageResource( $request->input('from'), $request->input('to'), new TextContent($request->input('message')) ); $response = $infobipClient ->whatsApp() ->sendWhatsAppTextMessage($resource); return $response; } }
Symfony
将 InfobipClient
添加并绑定到您的 config/services.yaml
文件
services: Infobip\InfobipClient: arguments: $apiKey: '%infobip.api_key%' $baseUrl: '%infobip.base_url%' $timeout: '%infobip.timeout%'
文档
Infobip API 文档可以在这里找到 这里。
开发
欢迎参与这个开源项目。以下是一些可以帮助您进行开发的控制台命令,如代码检查、静态分析和代码规范修复器
vendor/bin/php-cs-fixer fix src vendor/bin/php-cs-fixer fix tests vendor/bin/phplint vendor/bin/phpstan
要运行 PHPunit 测试
vendor/bin/phpunit