Skip to content

punktDe/flow-zoom-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PunktDe.Zoom.Api

Latest Stable Version Build Status Total Downloads License

This Flow package provides a programmable interface to the Zoom API.

Implemented Endpoints

The following Endpoints are currently implemented, see the Admin API documentation for details:

  • Meeting
  • Webinar
  • Registrant

Setup

Installation

The installation is done with composer:

composer require punktde/flow-zoom-api

Configuration

  • Create a set of JWT API-credentials
  • Configure the required settings:
    • clientId
    • clientSecret
    • baseUri
    • zoomAccountIdentifier (your account's email-address)

Usage Examples

Find a single meeting by its identifier and host (user)

You need to provide an identifier for the host (user) of the meeting, since the api endpoint has no way of listing all meetings in an account

/**
* @Flow\Inject
* @var PunktDe\Zoom\Api\Resource\MeetingResource
*/
  protected $meetings;

   /**
    * @param string $identifier
    * @param string $userIdentifier
    * @return PunktDe\Zoom\Api\Dto\Meeting
    */
    private function findOneMeetingByIdentifier(string $identifier, string $userIdentifier): PunktDe\Zoom\Api\Dto\Product {
     return $this->meetings->get($identifier, $userIdentifier);
    }

Add a registrant to an existing meeting

/**
* @Flow\Inject
* @var PunktDe\Zoom\Api\Resource\MeetingRegistrantResource
*/
  protected $meetingRegistrants;

  /**
   * @return Registrant|null
   */
  private function addRegistrantToExistingMeeting(string $meetingIdentifier): ?PunktDe\Zoom\Api\Dto\Registrant
  {
      $registrant = (new Registrant())
          ->setEmail('info@acme.co')
          ->setFirstName('Pooh')
          ->setLastName('The Bear');
      return $this->meetingRegistrants->add($registrant, $meetingIdentifier);
   }