Skip to content
This repository has been archived by the owner on Mar 12, 2023. It is now read-only.
/ ringcentral-laravel Public archive

Laravel Package for the RingCentral SDK for PHP

License

Notifications You must be signed in to change notification settings

coxlr/ringcentral-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RingCentral Package for Laravel

DEPRECATED in favor of coxlr/laravel-ringcentral

Introduction

This is a simple Laravel Service Provider providing access to the RingCentral SDK for PHP.

Installation

To install the PHP client library using Composer:

composer require coxy121/ringcentral-laravel

Alternatively, add these two lines to your composer require section:

{
    "require": {
        "coxy121/ringcentral-laravel": "^1.0"
    }
}

Laravel 5.5+

If you are using Laravel 5.5 or above, the package will automatically register the RingCentral provider and facade.

Laravel 5.4 and below

Add RingCentral\Laravel\RingCentralServiceProvider to the providers array in your config/app.php:

'providers' => [
    // Other service providers...

    RingCentral\Laravel\RingCentralServiceProvider::class,
],

If you want to use the facade interface, you can use the facade class when needed:

use RingCentral\Laravel\Facade\RingCentral;

Or add an alias in your config/app.php:

'aliases' => [
    ...
    'RingCentral' => RingCentral\Laravel\Facade\RingCentral::class,
],

Configuration

You can use artisan vendor:publish to copy the distribution configuration file to your app's config directory:

php artisan vendor:publish

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_EXTENSION=my_operator_extension
RINGCENTRAL_OPERATOR_PASSWORD=my_operator_password

#If admin details are a different extension to the operator
RINGCENTRAL_ADMIN_EXTENSION=my_admin_extension
RINGCENTRAL_ADMIN_PASSWORD=my_admin_password

Usage

To use the RingCentral Client Library you can use the facade, or request the instance from the service container.

Sending an SMS message (requires login in extension to be company operator)

RingCentral::sendMessage([
    'to'   => '13107960080',
    'text' => 'Using the facade to send a message.'
]);

Or

$ringcentral = app('ringcentral');

$ringcentral->sendMessage([
    'to'   => '13107960080',
    'text' => 'Using the instance to send a message.'
]);

Properties

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

Retrieving Extensions (requires admin access)

RingCentral::getExtensions();

Or

$ringcentral = app('ringcentral');

$ringcentral->getExtensions();

Get messages sent and received for the operator

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'));

Parameters

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

Get messages sent and received for a given extension (Needs admin access)

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'));

Parameters

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

Get a messages attachment (requires admin access)

RingCentral::getMessageAttachmentById(12345678, 910111213, 45678910);

Or

$ringcentral = app('ringcentral');

$ringcentral->getMessageAttachmentById(12345678, 910111213, 45678910);

Parameters

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.