jkg

Laravel 对 Twilio API 的扩展包

dev-main 2022-10-19 06:42 UTC

This package is auto-updated.

Last update: 2024-09-19 10:51:21 UTC


README

Tests Quality Gate Status Packagist Packagist Learn with TwilioQuest

文档

Twilio API 的文档可以在这里找到。

PHP 库的文档可以在这里找到。

版本

twilio-php 使用修改过的语义版本控制(Semantic Versioning)对所有变更进行版本控制。有关详细信息,请参阅此文档

支持的 PHP 版本

此库支持以下 PHP 实现

  • PHP 7.2
  • PHP 7.3
  • PHP 7.4
  • PHP 8.0
  • PHP 8.1

安装

您可以通过 composer 或下载源代码来安装 twilio-php

通过 Composer

twilio-php 作为 jkg/laravel-twilio 包在 Packagist 上可用

composer require jkg/laravel-twilio

快速入门

发送短信

// Send an SMS using Twilio's REST API and PHP
<?php
$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token);
$message = $client->messages->create(
  '8881231234', // Text this number
  [
    'from' => '9991231234', // From a valid Twilio number
    'body' => 'Hello from Twilio!'
  ]
);

print $message->sid;

拨打电话

<?php
$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token);

// Read TwiML at this URL when a call connects (hold music)
$call = $client->calls->create(
  '8881231234', // Call this number
  '9991231234', // From a valid Twilio number
  [
      'url' => 'https://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient'
  ]
);

指定区域和/或边缘

要利用 Twilio 的 全球基础设施,请指定客户端的目标区域和/或边缘

<?php
$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token, null, 'au1');
$client->setEdge('sydney');

没有这些参数的 Client 构造函数也会在当前环境中查找 TWILIO_REGIONTWILIO_EDGE 变量。

这将导致 hostnameapi.twilio.com 转变为 api.sydney.au1.twilio.com

启用调试日志

在默认的 HTTP 客户端中启用调试日志有两种方法。您可以创建一个名为 TWILIO_LOG_LEVEL 的环境变量并将其设置为 debug,或者您可以将日志级别设置为调试

$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token);
$client->setLogLevel('debug');

生成 TwiML

为了控制电话通话,您的应用程序需要输出 TwiML

使用 Twilio\TwiML\(Voice|Messaging|Fax)Response 来轻松链接响应。

<?php
$response = new Twilio\TwiML\VoiceResponse();
$response->say('Hello');
$response->play('https://api.twilio.com/cowbell.mp3', ['loop' => 5]);
print $response;

这将输出类似以下的 XML

<?xml version="1.0" encoding="utf-8"?>
<Response>
    <Say>Hello</Say>
    <Play loop="5">https://api.twilio.com/cowbell.mp3</Play>
</Response>

处理异常

有关如何在辅助库中处理异常的示例,请参阅 Twilio 文档

使用自定义 HTTP 客户端

有关如何使用此辅助库与自定义 HTTP 客户端一起使用的信息,请参阅 Twilio 文档

获取帮助

如果您需要安装或使用库的帮助,请首先查看 Twilio 支持帮助中心,如果在您的问题中找不到答案,请提交支持工单

如果您在库中发现了错误或者希望添加新功能,请在此仓库中打开问题或提交拉取请求!