This is a simple Laravel Service Provider providing access to the RingCentral SDK for PHP.
This package requires PHP 8.0 and Laravel 8 or higher.
To install the PHP client library using Composer:
composer require coxlr/laravel-ringcentral
The package will automatically register the RingCentral
provider and facade.
You can publish the config file with:
php artisan vendor:publish --provider="Coxlr\RingCentral\RingCentralServiceProvider" --tag="config"
Then update config/ringcentral.php
with your credentials. Alternatively, you can update your .env
file with the following:
RINGCENTRAL_CLIENT_ID=my_client_id
RINGCENTRAL_CLIENT_SECRET=my_client_secret
RINGCENTRAL_SERVER_URL=my_server_url
RINGCENTRAL_USERNAME=my_username
RINGCENTRAL_OPERATOR_TOKEN=my_operator_jwt
#If admin details are a different extension to the operator
RINGCENTRAL_ADMIN_TOKEN=my_admin_jwt
This package uses the JWT autentication method. You can learn more about setting up JWT for your RingCentral account here.
To use the RingCentral Client Library you can use the facade, or request the instance from the service container.
RingCentral::sendMessage([
'to' => '18042221111',
'text' => 'Using the facade to send a message.'
]);
Or
$ringcentral = app('ringcentral');
$ringcentral->sendMessage([
'to' => '18042221111',
'text' => 'Using the instance to send a message.'
]);
Name | Required | Type | Default | Description |
---|---|---|---|---|
to | true | String | The number to send the message to, must include country code | |
text | true | String | The text of the message to send |
RingCentral::getExtensions();
Or
$ringcentral = app('ringcentral');
$ringcentral->getExtensions();
RingCentral::getOperatorMessages();
Or
$ringcentral = app('ringcentral');
$ringcentral->getOperatorMessages();
The default from date is the previous 24 hours, to specify the date to search from pass the require date as a parameter.
RingCentral::getOperatorMessages((new \DateTime())->modify('-1 hours'));
Name | Required | Type | Default | Description |
---|---|---|---|---|
fromDate | false | Object | The date and time to start the search from must be a PHP date object | |
toDate | false | Object | The date and time to end the search must be a PHP date object | |
perPage | false | Int | 100 | The number of records to return per page |
RingCentral::getMessagesForExtensionId(12345678);
Or
$ringcentral = app('ringcentral');
$ringcentral->getMessagesForExtensionId(12345678);
The default from date is the previous 24 hours, to specficy the date to search from pass the require date as a parameter.
RingCentral::getMessagesForExtensionId(12345678, (new \DateTime())->modify('-1 hours'));
Name | Required | Type | Default | Description |
---|---|---|---|---|
extensionId | true | String | The RingCentral extension Id of the extension to retrieve the messages for | |
fromDate | false | Object | The date and time to start the search from must be a PHP date object | |
toDate | false | Object | The date and time to end the search must be a PHP date object | |
perPage | false | Int | 100 | The number of records to return per page |
RingCentral::getMessageAttachmentById(12345678, 910111213, 45678910);
Or
$ringcentral = app('ringcentral');
$ringcentral->getMessageAttachmentById(12345678, 910111213, 45678910);
Name | Required | Type | Default | Description |
---|---|---|---|---|
extensionId | true | String | The RingCentral extension Id of the extension the messages belongs to | |
messageId | true | String | The id of the message of the the attachment belongs to | |
attachmentId | true | String | The id of the attachment |
For more information on using the RingCentral client library, see the official client library repository.
composer test
If using the RingCentral sandbox environment when testing set the following environment variable to true to handle sandbox message prefix.
RINGCENTRAL_IS_SANDBOX=true
An optional environment value can be set to prevent hitting RingCentral rate limits when testing. This will add a delay for the set seconds before each test.
RINGCENTRAL_DELAY_REQUEST_SECONDS=20
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email hey@leecox.me instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.