microsoft bookings - api
3 TopicsIssues with logic apps webhooks limit while connecting to Microsoft Bookings
We have created Azure Logic Apps webhooks to fetch appointment data from Microsoft Bookings portal, but we are getting the below error in our Logic Apps: Status Code: 429 Status(StatusCode=\"ResourceExhausted\", Detail=\"Only 5 webhooks allowed per bookings business\") This is known limitation from Microsoft: Only 5 flows can be created per Bookings Mailbox. Description: For a Booking Mailbox, only 5 flows can be created. This is a Bookings Mailbox level limit and not a per admin limit. If you are looking for more than one action for an appointment trigger, you can add that in one of the existing flows by using the Add Action button. You can contact other Booking administrators for support. We are unable to delete existing webhooks for the particular Bookings mailbox. Please guide me how I can get the webhooks details and delete the unused one?70Views0likes0CommentsFailing to connect to Microsoft Bookings API
I am trying to pull Microsoft Booking calendar data into my WP site. I have created the required web app and granted my user the required access and delegation to connect to the app, and gave my app access to ‘Microsoft Graph’ and selected ‘Manage bookings information’ and read and write. I am using PHP, and below is my code: but I am always getting this error although I know for a fact that I am using the right credentials: Error: HTTP request failed with code 403. Response: {"error":{"code":"ErrorAccessDenied","message":"Access is denied. Check credentials and try again."}}NULL <?php require 'vendor/autoload.php'; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; function bookings_init($calendar){ $clientId = "MY_CLIENT_ID"; $clientSecret = "MY_SECRET_ID"; $tenantId = "MY_TENANT_ID"; $username = "MY_USER_EMAIL"; $password = "MY_PASSWORD"; $accessToken = getAccessToken($clientId, $clientSecret, $tenantId, $username, $password); if ($accessToken) { $businessId = "BUSINESS_ID"; $start = "2023-09-25T08:00:00Z"; $end = "2023-10-25T17:00:00Z"; $bookingsData = retrieveBookingsData($accessToken, $businessId, $start, $end); if ($bookingsData) { var_dump($bookingsData); } } } function getAccessToken($clientId, $clientSecret, $tenantId, $username, $password){ $client = new GuzzleHttp\Client(); $response = $client->post("https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token", [ 'form_params' => [ 'grant_type' => 'password', 'client_id' => $clientId, 'client_secret' => $clientSecret, 'scope' => 'https://graph.microsoft.com/.default', 'username' => $username, 'password' => $password ], ]); $body = $response->getBody(); $data = json_decode($body, true); return $data['access_token']; } function retrieveBookingsData($accessToken, $businessId, $start, $end) { $bookingsEndpoint = "https://graph.microsoft.com/v1.0/me/calendar/getSchedule"; $payload = [ 'Schedules' => [$businessId], 'StartTime' => [ 'dateTime' => $start, 'timeZone' => 'UTC' ], 'EndTime' => [ 'dateTime' => $end, 'timeZone' => 'UTC' ] ]; $client = new GuzzleHttp\Client(); try { $response = $client->request('POST', $bookingsEndpoint, [ 'headers' => [ 'Authorization' => "Bearer $accessToken", 'Content-Type' => 'application/json' ], 'json' => $payload ]); $body = $response->getBody(); return $body->getContents(); } catch (RequestException $e) { // Catch any Guzzle HTTP request exceptions echo "HTTP request failed with code {$e->getCode()}. Response: {$e->getResponse()->getBody()->getContents()}"; return false; } catch (Exception $e) { // Catch any other exceptions echo "An error occurred: {$e->getMessage()}"; return false; } } I appreciate your help in guiding me through this. Thanks.1.5KViews0likes1CommentMicrosoft Bookings: API - integration of external data
API - integration of external data We are using serveral central booking calenders for the reservation of a demonstration for a "marking device". Partners have linked the booking-calender in their own website (iframe). When the customer book a demonstration, we want to know where "he comes from" (which partner). Is there a way to tranfer this external data in the booking information?859Views0likes0Comments