total-voice/php-client

与Total Voice API集成的客户端

1.17.0 2021-08-30 19:31 UTC

README

PHP版本的Totalvoice API客户端

Build Status Packagist

功能

  • 通话管理
  • 短信查询和发送
  • TTS查询和发送
  • 音频查询和发送
  • 复合查询和发送
  • 会议查询和发送
  • 账户管理
  • 总机管理
  • DID管理

需求

  • PHP 5.5+
  • PSR-4兼容的Autoloader
  • PHP必须编译了lib-curl库

安装

要安装这个库,只需通过 composer 添加即可

composer require total-voice/php-client 1.*

或者在你的 composer.json 文件中

{
    "total-voice/php-client": "1.*"
}

测试

我们可以使用composer来运行测试

composer test

或者使用 .phar 文件

php composer.phar test

使用方法

要使用这个库,首先您需要在 Total Voice 网站上注册。注册后,会提供一个AccessToken用于访问API。

有了AccessToken,就可以根据 API 文档进行查询/注册操作。

可以调用的API方法

  • audio
  • central
  • call
  • composite
  • conference
  • account
  • profile
  • sms
  • tts

下面是一个如何使用这个库的示例。

在两个号码A和B之间进行电话呼叫
<?php
// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->chamada->ligar('NUMERO-A', 'NUMERO-B');

echo $response->getContent();
根据ID查询通话
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->chamada->buscaChamada('ID_CHAMADA');

echo $response->getContent(); // {}
结束一个活跃的通话
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->chamada->encerrar('ID_CHAMADA');

echo $response->getContent(); // {}
发送短信
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->sms->enviar('NUMERO-DESTINO', 'SUA MENSAGEM');

echo $response->getContent(); // {}
    
发送TTS
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->tts->enviar('NUMERO-DESTINO', 'SUA MENSAGEM');

echo $response->getContent(); // {}
    
发送音频
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->audio->enviar('NUMERO-DESTINO', 'SUA MENSAGEM');

echo $response->getContent(); // {}
电话总机配置
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;
    
$client = new TotalVoiceClient('access-token');
$response = $client->central->buscaRamal('ID-RAMAL');

echo $response->getContent(); // {}
    
账户数据管理
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->conta->buscaConta('ID_CONTA');

echo $response->getContent(); // {}
查询我的账户余额
<?php
// Considero que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;

$client = new TotalVoiceClient('access-token');
$response = $client->perfil->consultaSaldo();

echo $response->getContent(); // {}
API中的所有类都可以单独实例化
<?php
// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token');
$service = new Chamada($client);
$response = $service->ligar('NUMERO-A', 'NUMERO-B');

echo $response->getContent();
如果您使用自定义客户端
<?php
// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Api\Chamada;

class MeuClient implements ClientInterface 
{

}

$meuclient = new MeuClient('access-token');
$service = new Chamada($meuclient);
$response = $service->ligar('NUMERO-A', 'NUMERO-B');
如果您需要使用Total Voice上配置的自己的地址
<?php
// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token', 'https://meuhost.com.br');
$service = new Chamada($client);
$response = $service->ligar('NUMERO-A', 'NUMERO-B');

列出库存中的DID

<?php

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token');
$response = $client->did->listaEstoque();

购买一个DID

<?php

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token');
$idDid = "10";
$response = $client->did->adquirir($idDid);

编辑一个DID

<?php

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token');
$didId = "11";
$uraId = null;
$response = $client->did->atualizar($idDid, $ramalId, $uraId);

删除一个DID

<?php

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token');
$didId = "11";
$response = $client->did->excluir($didId);

列出您的DID

<?php

use TotalVoice\Client as TotalVoiceClient;
use TotalVoice\Api\Chamada;

$client = new TotalVoiceClient('access-token');
$response = $client->did->lista();

有关可用方法的更多信息,请参阅 API 文档

贡献

想要贡献? 点击这里

许可

这个库遵循 MIT 许可协议