Greetings - We have a wordpress training website that calls the Zoom REST API in the back-end to automatically register users for the Zoom meeting that corresponds to our training session.
The REST API is being called from PHP code and this code has been working without any issues for MONTHS now. We have made no changes, upgrades, patches to it at all.
Over the weekend we started getting the error “Account does not enabled REST API” back when we make the API call . I have not seen this before.
Did something change to the REST API, the way it’s called, something???
I have attached the PHP code that calls the ZOOM API (it uses Curl to do it) below…
NOTE: The Meeting ID is valid (89473135922) AND there are 6 registrations in it already so I know that works.
/*******************************************************************************************
Method: sendZoomAddRequest
Purpose: Adds the new registrant to the existing meeting in ZOOM
Params: $calledFunction: The 2nd part of the URL after the “https://api.zoom.us/v2/”
$postFields: The registrant data that needs to be posted to ZOOM
$jwt: The JSON web token
Return: The response back from the ZOOM API call
*******************************************************************************************/
function sendZoomAddRequest($calledFunction, $postFields, $jwt)
{
error_log(print_r(“Enter sendZoomAddRequest method”, true));
error_log(print_r("JSON = " . json_encode($postFields), true));
// Build the JSON Web Token used for this post operation
$request_url = ZOOM_API_URL . $calledFunction;
error_log(print_r("REQUEST URL: " . $request_url, true));
$auth = "authorization: Bearer " . $jwt;
$curl = curl_init();
// Setup CURL for the REST API call
curl_setopt_array($curl, array(
CURLOPT_URL => $request_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => “”,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => “POST”,
CURLOPT_POSTFIELDS => json_encode($postFields),
CURLOPT_HTTPHEADER => array($auth, “content-type: application/json”),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return ($response);
}
MY DEBUGGING OUTPUT (I changed the PII to protect the innocent)
[18-Sep-2023 13:48:34 UTC] Enter sendZoomAddRequest method
[18-Sep-2023 13:48:34 UTC] JSON = {“email":"ann@baascom.org”,“first_name”:“Ann”,“last_name”:“Brown”,“country”:“CA”,“phone”:“9017726000”,“org”:“ABC Club Group”,“job_title”:“Leadership Development”,“custom_questions”:[{“title”:“purchased_admin_kit”,“value”:“Yes”}]}
[18-Sep-2023 13:48:34 UTC] REQUEST URL: https://api.zoom.us/v2/meetings/89473135922/registrants
[18-Sep-2023 13:48:34 UTC] {“code”:200,“message”:“Account does not enabled REST API.”}
[18-Sep-2023 13:48:35 UTC] registerZoomParticipant WAS NOT SUCCESSFUL