This Flow package provides a programmable interface to the Zoom API.
The following Endpoints are currently implemented, see the Admin API documentation for details:
- Meeting
- Webinar
- Registrant
The installation is done with composer:
composer require punktde/flow-zoom-api
- Create a set of JWT API-credentials
- Log-in to your Zoom-Account and create a new App
- Configure the required settings:
- clientId
- clientSecret
- baseUri
- zoomAccountIdentifier (your account's email-address)
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);
}
/**
* @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);
}