kureikain / bandwidth-alpaca
PHP带宽API库客户端
Requires
- ext-json: *
- guzzle/guzzle: 3.7.*
README
PHP带宽API库客户端
此库由alpaca生成
安装
请确保已安装composer。
将以下内容添加到您的composer.json中
{ "require": { "kureikain/bandwidth-alpaca": "*" } }
更新您的依赖项
$ php composer.phar update
此包遵循其类名的
PSR-0约定名称,这意味着您可以轻松地将这些类加载到您自己的自动加载器中。
版本
支持 [ 5.4 / 5.5 ]
用法
<?php // This file is generated by Composer require_once 'vendor/autoload.php'; // Then we instantiate a client (as shown below)
构建客户端
未经身份验证使用此api将引发错误
基本身份验证
$auth = array('username' => 'pksunkara', 'password' => 'password'); $client = new Bandwidth\Client($auth, $clientOptions);
授权头令牌
$client = new Bandwidth\Client('1a2b3', $clientOptions);
客户端选项
在实例化客户端时,以下选项是可用的
- base:API的基础URL
- api_version:API的默认版本(用于URL)
- user_agent:所有请求的默认用户代理
- headers:所有请求的默认标题
- request_type:请求体的默认格式
响应信息
提供的所有回调都将接收以下所示的响应
$response = $client->klass('args')->method('args', $methodOptions); $response->code; // >>> 200 $response->headers; // >>> array('x-server' => 'apache')
JSON响应
当服务器发送的响应是json时,它被解码成数组
$response->body; // >>> array('user' => 'pksunkara')
方法选项
在调用API的方法时,以下选项是可用的
- api_version:API版本(用于URL)
- headers:请求的标题
- query:URL的查询参数
- body:请求体
- request_type:请求体的格式
请求体信息
将选项中的request_type设置为修改体
原始请求
当值设置为raw时,不要修改体。
$body = 'username=pksunkara'; // >>> 'username=pksunkara'
表单请求
当值设置为form时,对体进行urlencode。
$body = array('user' => 'pksunkara'); // >>> 'user=pksunkara'
JSON请求
当值设置为json时,对体进行JSON编码。
$body = array('user' => 'pksunkara'); // >>> '{"user": "pksunkara"}'
账户信息API
检索当前余额、交易列表、账户类型以及与您的平台账户相关的所有元素。
以下参数是必需的
- user_id:执行API调用的账户的user_id
$account = $client->account("u-account_id_in_bandwidth");
获取您的账户信息(GET /users/:user_id/account)
获取您的账户信息:余额、账户类型。
$response = $account->show($options);
获取对您的账户进行的交易列表(GET /users/:user_id/account/transactions)
获取用户的账户交易...
$response = $account->transactions($options);
消息资源API
允许您发送短信文本消息和查看以前发送或接收的消息
以下参数是必需的
- user_id:执行API调用的账户的user_id
$messages = $client->messages("u-account_id_in_bandwidth");
获取以前发送或接收的消息列表(GET /users/:user_id/messages)
获取以前发送或接收的消息列表
$response = $messages->fetch($options);
发送文本消息(POST /users/:user_id/messages)
发送文本消息
$response = $messages->create($options);
读取一条消息(GET /users/:user_id/messages/:id)
获取发送或接收的消息信息
以下参数是必需的
- id:消息id
$response = $messages->show("111111", $options);
此资源提供CNAM号码信息API
CNAM是一个缩写,代表呼叫者ID名称。CNAM可用于在电话号码旁边显示呼叫方的名称,以帮助用户轻松识别呼叫方。CNAM API允许用户获取特定号码的CNAM信息
以下参数是必需的
- number:要获取信息的电话号码
$numberInfo = $client->numberInfo("14084442222 //or 408444222 is ok");
获取号码的CNAM(GET /phoneNumbers/numberInfo/:number)
获取号码的CNAM
$response = $numberInfo->show($options);
用户错误API
用户错误资源让您可以查看您的API调用和应用程序回调期间发生的错误信息。这些错误信息在调试应用程序时非常有用。由于错误信息可能很大,并且过去的错误信息不如新的有用,因此Bandwidth API限制了保留的用户错误数量。
$errors = $client->errors("u-account_id_in_bandwidth");
获取一个用户错误的详细信息(GET /users/:user_id/errors/:error_id)
获取一个用户错误的详细信息
以下参数是必需的
- error_id:错误ID
$response = $errors->show("error_id", $options);
获取一个用户的全部用户错误(GET /users/:user_id/errors)
获取一个用户的全部用户错误
$response = $errors->fetch($options);
查找和购买可用号码API
可用号码资源允许您搜索可用于您应用程序的号码。
$availableNumbers = $client->availableNumbers("u-account_id_in_bandwidth");
搜索可用的本地号码(GET /availableNumbers/local)
搜索和购买可用的本地号码
以下参数是必需的
$response = $availableNumbers->searchLocal("San Jose", "CA", 95111, 408, "4083", true, 10, "*2%3F9", $options);
购买一个本地号码(POST /availableNumbers/local)
搜索和订购可用的本地号码
以下参数是必需的
$response = $availableNumbers->createLocal("San Jose", "CA", 95111, 408, "4083", true, 10, $options);
搜索可用的长途免费号码(GET /availableNumbers/tollFree)
搜索可用的长途免费号码
$response = $availableNumbers->searchTollFree($options);
搜索和订购可用的长途免费号码(POST /availableNumbers/tollFree)
搜索和订购可用的长途免费号码
$response = $availableNumbers->createTollFree($options);
调用操作API
调用资源允许您进行电话呼叫并查看之前传入和传出的呼叫信息。
以下参数是必需的
- user_id:执行API调用的账户的user_id
$calls = $client->calls("u-account_id_in_bandwidth");
发送DTMF(POST /users/:user_id/calls/:call_id/dtmf)
向一个呼叫发送DTMF
以下参数是必需的
- call_id:呼叫ID
$response = $calls->dtmf("111111", $options);
检索与呼叫相关的所有录音(GET /users/:user_id/calls/:call_id/recordings)
检索与呼叫相关的所有录音
以下参数是必需的
- call_id:呼叫ID
$response = $calls->recordings("111111", $options);
更新收集DTMF(停止收集)(POST /users/:user_id/calls/:call_id/gather/:gather_id)
更新收集DTMF(停止收集)
以下参数是必需的
- call_id:呼叫ID
- gather_id:收集ID
$response = $calls->updateGather("111111", "222222", $options);
获取您已发起或接收的活跃和历史呼叫列表(GET /users/:user_id/calls)
获取您已发起或接收的活跃和历史呼叫列表
$response = $calls->fetch($options);
发起一个电话呼叫。(POST /users/:user_id/calls)
发起一个电话呼叫。
以下参数是必需的
- to:我们要拨打的号码
- from:我们从哪个号码拨打
$response = $calls->create("4081112244", "6501112222", $options);
获取一个活跃或完成的呼叫的详细信息(GET /users/:user_id/calls/:call_id)
获取一个活跃或完成的呼叫的详细信息。不支持查询参数
以下参数是必需的
- call_id:呼叫ID
$response = $calls->show("111111", $options);
更改一个活跃电话呼叫的属性(POST /users/:user_id/calls/:call_id)
更改一个活跃电话呼叫的属性
以下参数是必需的
- call_id:呼叫ID
$response = $calls->update("111111", $options);
在通话中播放音频或说出一句话(POST /users/:user_id/calls/:call_id/audio)
在通话中播放音频或说出一句话
以下参数是必需的
- call_id:呼叫ID
$response = $calls->audio("111111", $options);
收集用户按下的DTMF数字(POST /users/:user_id/calls/:call_id/gather)
收集用户按下的DTMF数字。
以下参数是必需的
- call_id:呼叫ID
$response = $calls->createGather("111111", $options);
获取收集DTMF的参数和结果(GET /users/:user_id/calls/:call_id/gather/:gather_id)
获取收集DTMF的参数和结果
以下参数是必需的
- call_id:呼叫ID
- gather_id:收集ID
$response = $calls->gather("111111", "222222", $options);
电话号码资源允许您获取用于您程序的电话号码并管理您已经拥有的号码API
电话号码资源允许您获取用于您程序的电话号码并管理您已经拥有的号码
以下参数是必需的
- user_id:执行API调用的账户的user_id
$phoneNumbers = $client->phoneNumbers("u-account_id_in_bandwidth");
获取您的号码列表。(GET /users/:user_id/phoneNumbers)
获取您的号码列表。
$response = $phoneNumbers->fetch($options);
分配一个号码,以便您可以使用它进行和接收呼叫以及发送和接收消息(POST /users/:user_id/phoneNumbers)
分配一个号码,以便您可以使用它进行和接收呼叫以及发送和接收消息
以下参数是必需的
- number:您想要使用的可用电话号码(必须是E.164格式,如+19195551212)
$response = $phoneNumbers->create("+19195551212", "u-hdsadasdsad7-sample-app-id", "Customer Name", "Default NC Number", $options);
使用号码ID获取您的其中一个号码的详细信息(GET /users/:user_id/phoneNumbers/:number_id)
使用号码ID获取您的其中一个号码的详细信息
以下参数是必需的
- number_id:Bandwidth系统内的号码ID
$response = $phoneNumbers->showById("sample_number_id", $options);
使用号码本身获取您的其中一个号码的详细信息(GET /users/:user_id/phoneNumbers/:number)
使用E.164号码字符串(如+19195551212)获取您的其中一个号码的详细信息。请记住对加号前缀进行URL编码
以下参数是必需的
- number:电话号码
$response = $phoneNumbers->showByNumber("+14083872696", $options);
修改您拥有的号码(POST /users/:user_id/phoneNumbers/:number_id)
修改您拥有的号码。将带有您希望设置的属性值的新JSON表示形式POST到您首次分配时在“Location”标题中返回的URL。未发送的属性将保持不变。
以下参数是必需的
- number_id:Twilio系统中电话号码的ID。可以通过showByNumber找到号码的ID。
$response = $phoneNumbers->update("n-111111", $options);
从您的账户中删除一个号码(DELETE /users/:user_id/phoneNumbers/:number_id)
从您的账户中删除一个号码,这样您就不再可以使用该号码进行通话、接收或发送消息。当您从账户中删除号码时,它不会立即变为可重复使用,所以请谨慎操作。
以下参数是必需的
- number_id:Twilio系统中电话号码的ID。可以通过showByNumber找到号码的ID。
$response = $phoneNumbers->destroy("n-111111", $options);
会议资源API
会议资源允许您创建会议、向其添加成员、播放音频、朗读文本、静音/取消静音成员、保持/释放成员以及与会议相关的事项。
以下参数是必需的
- user_id:执行API调用的账户的user_id
$conferences = $client->conferences("u-account_id_in_bandwidth");
创建会议。(POST /users/:user_id/conferences)
创建会议。
以下参数是必需的
- from:创建会议的电话号码
$response = $conferences->create("+14081112323", $options);
向会议添加成员。(POST /users/:user_id/conferences/:conference_id/members)
向会议添加成员。
以下参数是必需的
- conference_id:会议ID
- callId:加入会议的通话ID
$response = $conferences->createMember("conf-2jir46wjc5puqpiwthqma5y", "c-m2vrf4lpryjlvwgvsnf6ery", $options);
在会议中播放音频/朗读句子。(POST /users/:user_id/conferences/:conference_id/audio)
在会议中播放音频/朗读句子。
以下参数是必需的
- conference_id:会议ID
$response = $conferences->audio("conf-2jir46wjc5puqpiwthqma5y", $options);
桥梁资源API
桥梁资源。桥接两个通话,允许它们之间进行双向音频。
以下参数是必需的
- user_id:执行API调用的账户的user_id
$bridges = $client->bridges("u-account_id_in_bandwidth");
创建桥梁(POST /users/:user_id/bridges)
创建桥梁
以下参数是必需的
$response = $bridges->create("true", "c-m2vrf4lpryjlvwgvsnf6ery", $options);
在桥梁中播放音频或朗读句子(POST /users/:user_id/bridges/:bridge_id/audio)
在桥梁中播放音频或朗读句子
以下参数是必需的
- bridge_id:桥梁ID
$response = $bridges->audio("b_bridge_id_in_bandwidth", $options);
获取桥梁上的通话列表(GET /users/:user_id/bridges/:bridge_id/calls)
获取桥梁上的通话列表
以下参数是必需的
- bridge_id:桥梁ID
$response = $bridges->listCall("b_bridge_id_in_bandwidth", $options);
更改桥梁中的通话并桥接/取消桥接音频(POST /users/:user_id/bridges/:bridge_id)
更改桥梁中的通话并桥接/取消桥接音频
以下参数是必需的
- bridge_id:桥梁ID
$response = $bridges->update("b_bridge_id_in_bandwidth", $options);
检索通话录音,通过ID、用户和/或通话API进行筛选
检索通话录音,通过ID、用户和/或通话进行筛选。了解如何记录通话。通过GET方法检索的录音信息仅包含与通话录音相关的文本数据,如属性部分所述。要正确处理录音媒体内容(如下载和删除媒体文件),请访问媒体文档。
$recordings = $client->recordings("u-account_id_in_bandwidth");
通过recordingId检索特定通话录音信息(GET /users/:user_id/recordings/:recording_id)
通过recordingId检索特定通话录音信息
以下参数是必需的
- recording_id:录音ID
$response = $recordings->show("r_recoridng_id_in_bandwidth", $options);
列出用户的通话录音(GET /users/:user_id/recordings)
列出用户的通话录音
$response = $recordings->fetch($options);
贡献者
以下是贡献者列表。
待办事项
许可证
MIT
错误报告
在此报告。
联系
kureikain (kurei@axcoto.com)