punktde/flow-zoom-api

Zoom API connector

Installs: 12 409

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 6

Forks: 1

Open Issues: 0

Type:neos-package

1.1.0 2020-09-12 13:33 UTC

This package is auto-updated.

Last update: 2024-11-29 06:16:21 UTC


README

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