halilcosdu/laravel-signalwire

Laravel SignalWire - 从 Laravel 发送传真

v1.0.1 2024-05-06 14:08 UTC

This package is auto-updated.

Last update: 2024-09-08 13:49:18 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Send Fax From Laravel 包提供了一款 Laravel 便捷的接口,用于与 SignalWire API 进行交互,SignalWire API 是一个提供语音、消息和视频等服务的云通信平台。

该包提供了多种方法与 SignalWire 服务的各个方面进行交互

  • 传真操作:您可以发送、接收、更新和删除传真。包括如 faxessendFaxgetFaxupdateFaxdeleteFax 等方法。

  • 电话号码:您可以列出、创建、更新和删除来电号码。包括如 listIncomingPhoneNumberscreateIncomingPhoneNumbergetIncomingPhoneNumberupdateIncomingPhoneNumberdeleteIncomingPhoneNumbergetAvailablePhoneNumbers 等方法。

  • 传真媒体:您可以管理与传真相关的媒体。包括如 faxMediasgetFaxMediadeleteFaxMedia 等方法。

该包使用 Facade 模式,这意味着您可以通过 SignalWire Facade 静态访问所有这些方法。这使得在 Laravel 应用程序中使用 SignalWire 服务变得简单。

安装

您可以通过 composer 安装此包

composer require halilcosdu/laravel-signalwire

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="signalwire-config"

这是发布配置文件的内容

return [
    'project_id' => env('SIGNALWIRE_PROJECT_ID'),
    'token' => env('SIGNALWIRE_TOKEN'),
    'space_url' => env('SIGNALWIRE_SPACE_URL'),
    'incoming_phone_number_status_callback_url' => env('SIGNALWIRE_INCOMING_PHONE_NUMBER_STATUS_CALLBACK_URL'), //create or update IncomingPhoneNumbers
    'incoming_phone_number_voice_url' => env('SIGNALWIRE_INCOMING_PHONE_NUMBER_VOICE_URL'),// create or update IncomingPhoneNumbers
];

使用方法

use HalilCosdu\SignalWire\Facades\SignalWire;

// Fax Operations
SignalWire::faxes(?string $dateCreateAfter = null, ?string $dateCreatedOnOrBefore = null, ?string $from = null, ?string $to = null)

SignalWire::sendFax(string $mediaUrl, string $to, string $from, ?string $statusCallback = null, string $quality = 'standard')

SignalWire::getFax(string $sid)

SignalWire::updateFax(string $sid, string $status)

SignalWire::deleteFax(string $sid)

// Phone Number Operations
SignalWire::listIncomingPhoneNumbers(?string $beta = null, ?string $friendlyName = null, ?string $origin = null, ?string $phoneNumber = null)

SignalWire::createIncomingPhoneNumber(string $areaCode, string $phoneNumber, ?string $addressSid = null, ?string $friendlyName = null, ?string $identitySid = null, ?string $smsApplicationSid = null, ?string $smsFallbackMethod = null, ?string $smsFallbackUrl = null, ?string $smsMethod = null, ?string $smsUrl = null, ?string $statusCallback = null, ?string $statusCallbackMethod = null, ?string $trunkSid = null, ?string $voiceApplicationSid = null, bool $voiceCallerIdLookup = false, ?string $voiceFallbackMethod = null, ?string $voiceFallbackUrl = null, ?string $voiceMethod = null, string $voiceReceiveMode = 'fax', ?string $voiceUrl = null)

SignalWire::getIncomingPhoneNumber(string $phoneNumberSid)

SignalWire::updateIncomingPhoneNumber(string $phoneNumberSid, string $friendlyName, string $smsUrl, string $smsMethod, string $voiceUrl, string $voiceMethod)

SignalWire::deleteIncomingPhoneNumber(string $phoneNumberSid)

// Available Numbers to Buy
SignalWire::getAvailablePhoneNumbers(string $isoCountry, ?string $areaCode, bool $beta = false, ?string $contains = null, bool $excludeAllAddressRequired = false, bool $excludeLocalAddressRequired = false, bool $faxEnabled = false, string $inRegion = null, bool $mmsEnabled = false, bool $voiceEnabled = false)

// Fax Media
SignalWire::faxMedias(string $faxSid)

SignalWire::getFaxMedia(string $faxSid, string $mediaSid)

SignalWire::deleteFaxMedia(string $faxSid, string $mediaSid)

示例

use HalilCosdu\SignalWire\Facades\SignalWire;

// Send Fax
SignalWire::sendFax('https://www.example.com/fax.pdf', '+1234567890', '+0987654321', 'https://www.example.com/fax-status-callback', 'standard');

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

致谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件