freeclimbapi / php-sdk
FreeClimb 是一个基于云的应用程序编程接口 (API),将 Vail 平台的力量掌握在你手中。FreeClimb 简化了创建应用程序的过程,这些应用程序可以使用一系列电话功能,而无需专门的或现场的电话设备。使用
Requires
- php: ^7.3 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.12
- phpunit/phpunit: ^8.0 || ^9.0
- dev-master
- 4.5.0
- 4.4.2
- 4.4.1
- 4.4.0
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.2.0
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 1.1.3
- 1.1.2
- 1.0.1
- dev-VCSWP-19122
- dev-VCSWP-22702-regen
- dev-VCSWP-22703
- dev-VCSWP-22718
- dev-VCSWP-22535
- dev-VCSWP-21889
- dev-VCSWP-19764
- dev-VCSWP-20372
- dev-VCSWP-20273
- dev-VCSWP-20150
- dev-VCSWP-19961
- dev-VCSWP-18414
- dev-VCSWP-19571
- dev-VCSWP-19258-feature
- dev-VCSWP-19521
- dev-VCSWP-19101
- dev-VCSWP-19258
- dev-VCSWP-19213-changelog-update
- dev-VCSWP-19213
- dev-VCSWP-18905
- dev-VCSWP-18939
- dev-VCSWP-18112
- dev-VCSWP-17763
- dev-ngarg-vail-patch-1
- dev-VCSWP-16885
- dev-VCSWP-16072
- dev-VCSWP-15725
- dev-VCSWP-14055-signing-secrets
This package is auto-updated.
Last update: 2024-09-12 19:32:58 UTC
README
FreeClimb 是一个基于云的应用程序编程接口 (API),将 Vail 平台的力量掌握在你手中。FreeClimb 简化了创建应用程序的过程,这些应用程序可以使用一系列电话功能,而无需专门的或现场的电话设备。使用 FreeClimb REST API 编写应用程序非常简单!您可以选择使用您喜欢的语言或直接调用 API。您的应用程序可以通过向 FreeClimb API 发送 RESTful 请求来执行命令。向 FreeClimb REST API 发送 HTTP 请求的基本 URL 是:/apiserver。FreeClimb 验证并处理您的请求。
有关更多信息,请访问 https://www.freeclimb.com/support/。
安装和用法
要求
PHP 7.3 及更高版本。也应与 PHP 8.0 兼容,但尚未进行测试。
Composer
要使用 Composer 安装绑定,请将以下内容添加到 composer.json
{
"repositories": [
{
"type": "vcs",
"url": "https://https://github.com/freeclimbapi/php-sdk.git"
}
],
"require": {
"freeclimbapi/php-sdk": "*@dev"
}
}
然后运行 composer install
手动安装
下载文件并包含 autoload.php
<?php require_once('/path/to/FreeClimbAPI/vendor/autoload.php');
入门
请按照 安装说明 进行操作,然后运行以下命令
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure HTTP basic authorization: fc $config = FreeClimb\Api\Configuration::getDefaultConfiguration() ->setUsername('YOUR_ACCOUNT_ID') ->setPassword('YOUR_API_KEY'); $apiInstance = new FreeClimb\Api\Api\DefaultApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client(), $config ); $buy_incoming_number_request = new \FreeClimb\Api\Model\BuyIncomingNumberRequest(); // \FreeClimb\Api\Model\BuyIncomingNumberRequest | Incoming Number transaction details try { $result = $apiInstance->buyAPhoneNumber($buy_incoming_number_request); print_r($result); } catch (Exception $e) { echo 'Exception when calling DefaultApi->buyAPhoneNumber: ', $e->getMessage(), PHP_EOL; }
使用 PerCL
PerclScript 类提供了一个方便的包装器,用于在响应中处理 PerCL 生成。只需使用 json_encode 执行带有 PerclScript 类实例的调用,您就会得到按您需要的方式序列化和格式化的 PerclCommands。
<?php require_once(__DIR__ . '/vendor/autoload.php'); $say = new \FreeClimb\Api\Model\Say(); $sms = new \FreeClimb\Api\Model\Sms(); $script = new \FreeClimb\Api\Model\PerclScript(); $say->setText("hello world"); $sms->setFrom("from number"); $sms->setTo("to number"); $sms->setText("hello world SMS"); $script->setCommands(array($say, $sms)); json_encode($script); /** * [ * { * "Say": { * "text": "hello world" * } * }, * { * "Sms": { * "from": "from number", * "to": "to number", * "text": "hello world SMS" * } * } * ] */ ?>
API 端点
所有 URI 都相对于 https://www.freeclimb.com/apiserver
模型
- AccountRequest
- AccountResult
- AccountResultAllOf
- AccountStatus
- AccountType
- AddToConference
- AddToConferenceAllOf
- AnsweredBy
- ApplicationList
- ApplicationListAllOf
- ApplicationRequest
- ApplicationResult
- ApplicationResultAllOf
- AvailableNumber
- AvailableNumberList
- AvailableNumberListAllOf
- BuyIncomingNumberRequest
- CallDirection
- CallList
- CallListAllOf
- CallResult
- CallResultAllOf
- CallStatus
- Capabilities
- ConferenceList
- ConferenceListAllOf
- ConferenceParticipantList
- ConferenceParticipantListAllOf
- ConferenceParticipantResult
- ConferenceParticipantResultAllOf
- ConferenceResult
- ConferenceResultAllOf
- ConferenceStatus
- CreateConference
- CreateConferenceAllOf
- CreateConferenceRequest
- CreateWebRTCToken
- Dequeue
- Enqueue
- EnqueueAllOf
- FilterLogsRequest
- GetDigits
- GetDigitsAllOf
- GetSpeech
- GetSpeechAllOf
- GetSpeechReason
- GrammarFileBuiltIn
- GrammarType
- Hangup
- HangupAllOf
- IfMachine
- IncomingNumberList
- IncomingNumberListAllOf
- IncomingNumberRequest
- IncomingNumberResult
- IncomingNumberResultAllOf
- Language
- LogLevel
- LogList
- LogListAllOf
- LogResult
- MachineType
- MakeCallRequest
- 消息方向
- 消息请求
- 消息请求全部
- 消息结果
- 消息结果全部
- 消息状态
- 消息列表
- 消息列表全部
- 可变资源模型
- 外拨
- 外拨全部
- 分页模型
- 停车场
- 停车场全部
- 暂停
- 暂停全部
- Percl命令
- Percl脚本
- 播放
- 播放全部
- 播放蜂鸣声
- 播放早期媒体
- 播放早期媒体全部
- 队列列表
- 队列列表全部
- 队列成员
- 队列成员列表
- 队列成员列表全部
- 队列请求
- 队列结果
- 队列结果全部
- 队列结果状态
- 录制话语
- 录制话语全部
- 录制话语术语原因
- 录制列表
- 录制列表全部
- 录制结果
- 录制结果全部
- 重定向
- 重定向全部
- 拒绝
- 拒绝全部
- 从会议中删除
- 请求类型
- 短信TenDLC品牌
- 短信TenDLC品牌列表结果
- 短信TenDLC品牌列表结果全部
- 短信TenDLC活动
- 短信TenDLC活动列表结果
- 短信TenDLC活动列表结果全部
- 短信TenDLC合作伙伴活动
- 短信TenDLC合作伙伴活动品牌
- 短信TenDLC合作伙伴活动列表结果
- 短信TenDLC合作伙伴活动列表结果全部
- 短信免费电话活动
- 短信免费电话活动列表结果
- 短信免费电话活动列表结果全部
- 说
- 说全部
- 发送数字
- 发送数字全部
- 设置监听
- 设置监听全部
- 设置说话
- 设置说话全部
- 短信
- 短信全部
- 开始录制通话
- TFN
- 终止会议
- 转录话语
- 转录话语全部
- 转录话语全部记录
- 解封
- 更新呼叫请求
- 更新呼叫请求状态
- 更新会议参与者请求
- 更新会议请求
- 更新会议请求状态
授权
fc
- 类型:HTTP基本认证
测试
运行测试,使用
composer install vendor/bin/phpunit
用于验证请求签名的文档
-
要验证请求签名,我们需要使用请求验证器类中的verifyRequestSignature方法
RequestVerifier::verifyRequestSignature($requestBody, $requestHeader, $signingSecret, $tolerance);
这是一个可以直接从请求验证器类中调用的方法,它将根据请求签名是否全部有效抛出异常,否则将根据哪个请求签名部分导致问题抛出特定的错误信息
此方法需要一个字符串类型的requestBody、字符串类型的requestHeader、字符串类型的signingSecret和一个整型tolerance值
下面的示例代码
<?php namespace FreeClimb\Example; use FreeClimb\Api\Util\RequestVerifier; class Example { public function verifyRequestSignatureExample() { $tolerance = 5 * 60; $requestHeader = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"; $requestBody = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"; $signingSecret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7794"; RequestVerifier::verifyRequestSignature($requestBody, $requestHeader, $signingSecret, $tolerance); } }
作者
关于本包
此PHP包由OpenAPI Generator项目自动生成
- API版本:
1.0.0- 包版本:
4.5.0
- 包版本:
- 构建包:
org.openapitools.codegen.languages.PhpClientCodegen