# laravel-webex

A simple Laravel integration with Webex.

Github (opens new window) Latest Stable Version (opens new window) Total Downloads (opens new window) MIT Licensed run-tests (opens new window) StyleCI (opens new window) codecov (opens new window)

# Installation

Install the package through Composer (opens new window).

Run the Composer require command from the Terminal:

composer require offline-agency/laravel-webex

You should publish config file with:

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

# Usage

Each callback accept a number of parameters equals to the sum of the required parameters +1 that is $additional_data that accept all optional parameters.

Package provide two events to intercept the start and the end of the authentication flow.

# Examples

# Meetings

// all 
$laravel_webex = new LaravelWebex($bearer);
$meetings_list = $laravel_webex->meeting()->list();

// all filtered by state
$laravel_webex = new LaravelWebex($bearer);
$meetings_list = $laravel_webex->meeting()->list([
    'state' => $state
]);

// detail
$laravel_webex = new LaravelWebex($bearer);
$meeting_detail = $laravel_webex->meeting()->detail($meeting_id);

// detail filtered by current 
$laravel_webex = new LaravelWebex($bearer);
$meeting_detail = $laravel_webex->meeting()->detail($meeting_id, [
    'current' => $current
]);

// create
$laravel_webex = new LaravelWebex($bearer);
$new_meeting = $laravel_webex->meeting()->create($title, $start, $end, [
    'agenda' => $agenda,
    'enabledAutoRecordMeeting' => $enabledAutoRecordMeeting
]);

// update
$laravel_webex = new LaravelWebex($bearer);
$updated_meeting = $laravel_webex->meeting()->update($id, $title, $pasword, $start, $end, [
    'agenda' => $agenda,
    'enabledAutoRecordMeeting' => $enabledAutoRecordMeeting
]);

// delete 
$laravel_webex = new LaravelWebex($bearer);
$delete_response = $laravel_webex->meeting()->destroy('fake_id');

# Meetings participants

$laravel_webex = new LaravelWebex($bearer);
$meeting_participants_list = $laravel_webex->meeting_participants()->list($meeting_id);

# Api coverage

# Admin

# Admin Audit Events

  • [ ] List Admin Audit Events GET method

# Events

  • [ ] List Events GET method
  • [ ] Get Event Details GET method

# Historical Analytics

  • [ ] Historical Data related to Messaging GET method
  • [ ] Historical Data related to Room Devices GET method
  • [ ] Historical Data related to Meetings GET method

# Hybrid Clusters

  • [ ] List Hybrid Clusters GET method
  • [ ] Get Hybrid Cluster Details GET method

# Hybrid Connectors

  • [ ] List Hybrid Connectors GET method
  • [ ] Get Hybrid Connector Details GET method

# Licenses

  • [ ] List Licenses GET method
  • [ ] Get License Details GET method

# Locations

  • [ ] List Locations GET method
  • [ ] Get Location Details GET method

# Meeting Qualities

  • [ ] Get Meeting Qualities GET method

# Memberships

  • [ ] List Memberships GET method
  • [ ] Create Membership POST method
  • [ ] Get Membership Details GET method
  • [ ] Update a Membership PUT method
  • [ ] Delete a Membership DELETE method

# Organizations

  • [ ] List Organizations GET method
  • [ ] Get Organization Details GET method
  • [ ] Delete Organization DELETE method

# People

  • [ ] List People GET method
  • [ ] Create a Person POST method
  • [ ] Get Person Details GET method
  • [ ] Update a Person PUT method
  • [ ] Delete a Person DELETE method
  • [ ] Get My Own Details GET method

# Recording Report

  • [ ] List of Recording Audit Report Summaries GET method
  • [ ] Get Recording Audit Report Details GET method

# Recordings

  • [ ] List Recordings GET method
  • [ ] Get Recording Details GET method
  • [ ] Delete a Recording DELETE method

# Report Templates

  • [ ] List Report Templates GET method

# Reports

  • [ ] List Reports GET method
  • [ ] Create a Report POST method
  • [ ] Get Report Details GET method
  • [ ] Delete a Report DELETE method

# Resource Group Memberships

  • [ ] List Resource Group Memberships GET method
  • [ ] Get Resource Group Membership Details GET method
  • [ ] Update a Resource Group Membership PUT method

# Resource Group

  • [ ] List Resource Groups GET method
  • [ ] Get Resource Group Details GET method

# Roles

  • [ ] List Roles GET method
  • [ ] Get Role Details GET method

# Space Classifications

  • [ ] List classifications GET method

# Webex Calling Organization Settings

  • [ ] Read the List of Call Pickups GET method
  • [ ] Create a Call Pickup POST method
  • [ ] Delete a Call Pickup DELETE method
  • [ ] Get Details for a Call Pickup GET method
  • [ ] Update a Call Pickup PUT method
  • [ ] Get available agents from Call Pickups GET method
  • [ ] Read the List of Call Queues GET method
  • [ ] Create a Call Queue POST method
  • [ ] Delete a Call Queue DELETE method
  • [ ] Get Details for a Call Queue GET method
  • [ ] Update a Call Queue PUT method
  • [ ] Read the List of Call Queue Announcement Files GET method
  • [ ] Delete a Call Queue Announcement File DELETE method
  • [ ] Get Call Forwarding Settings for a Call Queue GET method
  • [ ] Update Call Forwarding Settings for a Call Queue PUT method
  • [ ] Create a Selective Call Forwarding Rule for a Call Queue POST method
  • [ ] Get Call Forwarding Rule Settings for a Call Queue GET method
  • [ ] Update Call Forwarding Rule Settings for a Call Queue PUT method
  • [ ] Delete a Selective Call Forwarding Rule for a Call Queue DELETE method
  • [ ] Read the List of Hunt Groups GET method
  • [ ] Create a Hunt Group POST method
  • [ ] Delete a Hunt Group DELETE method
  • [ ] Get Details for a Hunt Group GET method
  • [ ] Update a Hunt Group PUT method
  • [ ] Get Call Forwarding Settings for a Hunt Group GET method
  • [ ] Update Call Forwarding Settings for a Hunt Group PUT method
  • [ ] Create a Selective Call Forwarding Rule for a Hunt Group POST method
  • [ ] Get Call Forwarding Rule Settings for a Hunt Group GET method
  • [ ] Update Call Forwarding Rule Settings for a Hunt Group PUT method
  • [ ] Delete a Selective Call Forwarding Rule for a Hunt Group DELETE method
  • [ ] Read the List of UC Manager Profiles GET method

# Webex Calling Person Settings

  • [ ] Read Person's UC Profile GET method
  • [ ] Configure a Person's UC Profile PUT method
  • [ ] Read Barge In Settings for a Person GET method
  • [ ] Configure Barge In Settings for a Person PUT method
  • [ ] Read Forwarding Settings for a Person GET method
  • [ ] Configure Call Forwarding Settings for a Person PUT method
  • [ ] Read Call Intercept Settings for a Person GET method
  • [ ] Configure Call Intercept Settings for a Person PUT method
  • [ ] Configure Call Intercept Greeting for a Person POST method
  • [ ] Read Call Recording Settings for a Person GET method
  • [ ] Configure Call Recording Settings for a Person PUT method
  • [ ] Read Caller ID Settings for a Person GET method
  • [ ] Configure Caller ID Settings for a Person PUT method
  • [ ] Read Do Not Disturb Settings for a Person GET method
  • [ ] Configure Do Not Disturb Settings for a Person PUT method
  • [ ] Read Voicemail Settings for a Person GET method
  • [ ] Configure Voicemail Settings for a Person PUT method
  • [ ] Configure Busy Voicemail Greeting for a Person POST method
  • [ ] Configure No Answer Voicemail Greeting for a Person POST method

# Workspace Locations

  • [ ] List Workspace Locations GET method
  • [ ] Create a Workspace Location POST method
  • [ ] Get a Workspace Location Details GET method
  • [ ] Update a Workspace Location PUT method
  • [ ] Delete a Workspace Location DELETE method
  • [ ] List Workspace Location Floors GET method
  • [ ] Create a Workspace Location Floor POST method
  • [ ] Get a Workspace Location Floor Details GET method
  • [ ] Update a Workspace Location Floor PUT method
  • [ ] Delete a Workspace Location Floor DELETE method

# Workspace Metrics

  • [ ] Workspace Metrics GET method
  • [ ] Workspace Duration Metrics GET method

# Workspaces

  • [ ] List Workspaces GET method
  • [ ] Create a Workspaces POST method
  • [ ] Get Workspace Details GET method
  • [ ] Update a Workspace PUT method
  • [ ] Delete a Workspace DELETE method

# Calling

# BroadWorks Enterprises

  • [ ] List BroadWorks Enterprises GET method
  • [ ] Update Directory Sync for a BroadWorks Enterprise PUT method
  • [ ] Trigger Directory Sync for an Enterprise POST method
  • [ ] Get Directory Sync Status for an Enterprise GET method

# BroadWorks Subscribers

  • [ ] List BroadWorks Subscribers GET method
  • [ ] Provision a BroadWorks Subscriber POST method
  • [ ] Get a BroadWorks Subscriber GET method
  • [ ] Update a BroadWorks Subscriber PUT method
  • [ ] Remove a BroadWorks Subscriber DELETE method

# Call Controls

  • [ ] Dial POST method
  • [ ] Answer POST method
  • [ ] Reject POST method
  • [ ] Hangup POST method
  • [ ] Hold POST method
  • [ ] Resume POST method
  • [ ] Divert POST method
  • [ ] Transfer POST method
  • [ ] Park POST method
  • [ ] Retrieve POST method
  • [ ] Start Recording POST method
  • [ ] Stop Recording POST method
  • [ ] Pause Recording POST method
  • [ ] Resume Recording POST method
  • [ ] Transmit DTMF POST method
  • [ ] Push POST method
  • [ ] Pickup POST method
  • [ ] Barge In POST method
  • [ ] List Calls GET method
  • [ ] Get Call Details GET method
  • [ ] List Call History GET method

# Locations

  • [ ] List Locations GET method
  • [ ] Get Location Details GET method

# People

  • [ ] List People GET method
  • [ ] Create a Person POST method
  • [ ] Get Person Details GET method
  • [ ] Update a Person PUT method
  • [ ] Delete a Person DELETE method
  • [ ] Get My Own Details GET method

# Recording Report

  • [ ] List of Recording Audit Report Summaries GET method
  • [ ] Get Recording Audit Report Details GET method

# Webex Calling Organization Settings

  • [ ] Read the List of Call Pickups GET method
  • [ ] Create a Call Pickup POST method
  • [ ] Delete a Call Pickup DELETE method
  • [ ] Get Details for a Call Pickup GET method
  • [ ] Update a Call Pickup PUT method
  • [ ] Get available agents from Call Pickups GET method
  • [ ] Read the List of Call Queues GET method
  • [ ] Create a Call Queue POST method
  • [ ] Delete a Call Queue DELETE method
  • [ ] Get Details for a Call Queue GET method
  • [ ] Update a Call Queue PUT method
  • [ ] Read the List of Call Queue Announcement Files GET method
  • [ ] Delete a Call Queue Announcement File DELETE method
  • [ ] Get Call Forwarding Settings for a Call Queue GET method
  • [ ] Update Call Forwarding Settings for a Call Queue PUT method
  • [ ] Create a Selective Call Forwarding Rule for a Call Queue POST method
  • [ ] Get Call Forwarding Rule Settings for a Call Queue GET method
  • [ ] Update Call Forwarding Rule Settings for a Call Queue PUT method
  • [ ] Delete a Selective Call Forwarding Rule for a Call Queue DELETE method
  • [ ] Read the List of Hunt Groups GET method
  • [ ] Create a Hunt Group POST method
  • [ ] Delete a Hunt Group DELETE method
  • [ ] Get Details for a Hunt Group GET method
  • [ ] Update a Hunt Group PUT method
  • [ ] Get Call Forwarding Settings for a Hunt Group GET method
  • [ ] Update Call Forwarding Settings for a Hunt Group PUT method
  • [ ] Create a Selective Call Forwarding Rule for a Hunt Group POST method
  • [ ] Get Call Forwarding Rule Settings for a Hunt Group GET method
  • [ ] Update Call Forwarding Rule Settings for a Hunt Group PUT method
  • [ ] Delete a Selective Call Forwarding Rule for a Hunt Group DELETE method
  • [ ] Read the List of UC Manager Profiles GET method

# Webex Calling Person Settings

  • [ ] Read Person's UC Profile GET method
  • [ ] Configure a Person's UC Profile PUT method
  • [ ] Read Barge In Settings for a Person GET method
  • [ ] Configure Barge In Settings for a Person PUT method
  • [ ] Read Forwarding Settings for a Person GET method
  • [ ] Configure Call Forwarding Settings for a Person PUT method
  • [ ] Read Call Intercept Settings for a Person GET method
  • [ ] Configure Call Intercept Settings for a Person PUT method
  • [ ] Configure Call Intercept Greeting for a Person POST method
  • [ ] Read Call Recording Settings for a Person GET method
  • [ ] Configure Call Recording Settings for a Person PUT method
  • [ ] Read Caller ID Settings for a Person GET method
  • [ ] Configure Caller ID Settings for a Person PUT method
  • [ ] Read Do Not Disturb Settings for a Person GET method
  • [ ] Configure Do Not Disturb Settings for a Person PUT method
  • [ ] Read Voicemail Settings for a Person GET method
  • [ ] Configure Voicemail Settings for a Person PUT method
  • [ ] Configure Busy Voicemail Greeting for a Person POST method
  • [ ] Configure No Answer Voicemail Greeting for a Person POST method

# Webex Calling Voice Messaging

  • [ ] Get Message Summary GET method
  • [ ] List Messages GET method
  • [ ] Delete Messages DELETE method
  • [ ] Mark As Read POST method
  • [ ] Mark As Unread POST method

# Devices

# Device Configurations

  • [ ] List Device Configurations for device GET method
  • [ ] PATCH - Update Device Configurations

# Devices

  • [ ] List Devices GET method
  • [ ] Get Device Details GET method
  • [ ] Delete a Device DELETE method
  • [ ] PATCH - Modify Device Tags
  • [ ] Create a Device Activation Code POST method

# Places

  • [ ] List Places GET method
  • [ ] Create a Place POST method
  • [ ] Get Place Details GET method
  • [ ] Update a Place PUT method
  • [ ] Delete a Place DELETE method

# Workspace Locations

  • [ ] List Workspace Locations GET method
  • [ ] Create a Workspace Location POST method
  • [ ] Get a Workspace Location Details GET method
  • [ ] Update a Workspace Location PUT method
  • [ ] Delete a Workspace Location DELETE method
  • [ ] List Workspace Location Floors GET method
  • [ ] Create a Workspace Location Floor POST method
  • [ ] Get a Workspace Location Floor Details GET method
  • [ ] Update a Workspace Location Floor PUT method
  • [ ] Delete a Workspace Location Floor DELETE method

# Workspace Metrics

  • [ ] Workspace Metrics GET method
  • [ ] Workspace Duration Metrics GET method

# Workspace Personalization

  • [ ] Personalize a Workspace POST method
  • [ ] Get Personalization Task GET method

# Workspaces

  • [ ] List Workspaces GET method
  • [ ] Create a Workspace POST method
  • [ ] Get Workspace Details GET method
  • [ ] Update a Workspace PUT method
  • [ ] Delete a Workspace DELETE method

# xAPI

  • [ ] Query Status GET method
  • [ ] Execute Command POST method

# Meetings

# Meeting Invitees

  • [ ] List Meeting Invitees GET method
  • [ ] Create a Meeting Invitee POST method
  • [ ] Create Meeting Invitees POST method
  • [ ] Get a Meeting Invitee GET method
  • [ ] Update a Meeting Invitee PUT method
  • [ ] Delete a Meeting Invitee DELETE method

# Meeting Participants

  • [X] List Meeting Participants GET method
  • [ ] Get Meeting Participant Details GET method
  • [ ] Update a Participant GET method
  • [ ] Admit Participants GET method

# Meeting Preferences

  • [ ] Get Meeting Preference Details GET method
  • [ ] Get Personal Meeting Room Options GET method
  • [ ] Update Personal Meeting Room Options PUT method
  • [ ] Get Audio Options GET method
  • [ ] Update Audio Options PUT method
  • [ ] Get Video Options GET method
  • [ ] Update Video Options PUT method
  • [ ] Get Scheduling Options GET method
  • [ ] Update Scheduling Options PUT method
  • [ ] Get Site List GET method
  • [ ] Update Default Site PUT method

# Meeting Qualities

  • [ ] Get Meeting Qualities GET method

# Meeting Transcripts

  • [ ] List Meeting Transcripts GET method
  • [ ] Download a meeting transcript GET method
  • [ ] List Snippets of a Meeting Transcript GET method
  • [ ] Get a Transcript Snippet GET method
  • [ ] Update a Transcript Snippet PUT method

# Meetings

  • [ ] List Meetings of a Meeting Series GET method
  • [X] Create a Meeting POST method
  • [X] Get a Meeting GET method
  • [X] List Meetings GET method
  • [X] Update a Meeting PUT method
  • [X] Delete a Meeting DELETE method
  • [ ] Get Meeting Control Status GET method
  • [ ] Update Meeting Control Status PUT method
  • [ ] List Meeting Session Types GET method
  • [ ] Get a Meeting Session Type GET method
  • [ ] Get registration form for a meeting GET method
  • [ ] Register a Meeting Registrant POST method
  • [ ] Get a meeting registrant's detail information GET method
  • [ ] List Meeting Registrant GET method
  • [ ] Batch Update Meeting Registrants status POST method
  • [ ] Delete a Meeting Registrant DELETE method

# People

  • [ ] List People GET method
  • [ ] Create a Person POST method
  • [ ] Get Person Details GET method
  • [ ] Update a Person PUT method
  • [ ] Delete a Person DELETE method
  • [ ] Get My Own Details GET method

# Recording Report

  • [ ] List of Recording Audit Report Summaries GET method
  • [ ] Get Recording Audit Report Details GET method

# Recordings

  • [ ] List Recordings GET method
  • [ ] Get Recording Details GET method
  • [ ] Delete a Recording DELETE method

# Webhooks

  • [ ] List Webhooks GET method
  • [ ] Create a Webhook POST method
  • [ ] Get Webhook Details GET method
  • [ ] Update a Webhook PUT method
  • [ ] Delete a Webhook DELETE method

# Messaging

# Attachment Actions

  • [ ] Create an Attachment Action GET method
  • [ ] Get Attachment Action Details GET method

# Events

  • [ ] List Events GET method
  • [ ] Get Event Details GET method

# Memberships

  • [ ] List Memberships GET method
  • [ ] Create Membership POST method
  • [ ] Get Membership Details GET method
  • [ ] Update a Membership PUT method
  • [ ] Delete a Membership DELETE method

# Messages

  • [ ] List Messages GET method
  • [ ] List Direct Messages GET method
  • [ ] Create a Message POST method
  • [ ] Edit a Message PUT method
  • [ ] Get Message Details GET method
  • [ ] Delete a Message DELETE method

# Messages with Edit

  • [ ] List Messages GET method
  • [ ] List Direct Messages GET method
  • [ ] Create a Message POST method
  • [ ] Edit a Message PUT method
  • [ ] Get Message Details GET method
  • [ ] Delete a Message DELETE method

# People

  • [ ] List People GET method
  • [ ] Create a Person POST method
  • [ ] Get Person Details GET method
  • [ ] Update a Person PUT method
  • [ ] Delete a Person DELETE method
  • [ ] Get My Own Details GET method

# Room Tabs

  • [ ] List Room Tabs GET method
  • [ ] Create a Room Tab POST method
  • [ ] Get Room Tab Details GET method
  • [ ] Update a Room Tab PUT method
  • [ ] Delete a Room Tab DELETE method

# Rooms

  • [ ] List Rooms GET method
  • [ ] Create a Room POST method
  • [ ] Get Room Details GET method
  • [ ] Get Room Meeting Details GET method
  • [ ] Update a Room PUT method
  • [ ] Delete a Room DELETE method

# Team Memberships

  • [ ] List Team Memberships GET method
  • [ ] Create a Team Membership POST method
  • [ ] Get Team Membership Details GET method
  • [ ] Update a Team Membership PUT method
  • [ ] Delete a Team Membership DELETE method

# Teams

  • [ ] List Teams GET method
  • [ ] Create a Team GET method
  • [ ] Get Team Details GET method
  • [ ] Update a Team GET method
  • [ ] Delete a Team GET method

# Webhooks

  • [ ] List Webhooks GET method
  • [ ] Create a Webhook POST method
  • [ ] Get Webhook Details GET method
  • [ ] Update a Webhook PUT method
  • [ ] Delete a Webhook DELETE method

# Testing

composer test

# Contributing

Please see CONTRIBUTING for details.

# Security

If you discover any security-related issues, please email [email protected] instead of using the issue tracker.

# Credits

# About us

Offline Agency is a web design agency based in Padua, Italy. You'll find an overview of our projects on our website (opens new window).

# License

The MIT License (MIT). Please see License File for more information.

Last Updated: 5/24/2022, 10:33:56 AM