Les API Graph Bookings de Microsoft passent en version 1

Par:
fredericmazue

ven, 24/12/2021 - 15:48

Microsoft vient d'annoncer que l'ensemble actuel d'API de réservation, ou Graph Booking REST API passe de la version bêta à la version v1.

Les API sont donc accessibles désormais par le point de terminaison V1. Par exemple, pour l'entité bookingBusiness qui est l'entité parente des autres types de ressources dans Bookings, il n'y a aucune modification des fonctionnalités sous ce type de ressource, à l'exception du point de terminaison Microsoft Graph.

Le point de terminaison bêta était

graph.microsoft.com/beta/bookingBusinesses

Le nouveau point de terminaison v1 est

graph.microsoft.com/v1.0/solutions/bookingBusinesses

Le principe est le même pour toutes les autres entités :

graph.microsoft.com/1.0/solutions/NomEntite

A remarquer : les informations client étaient disponibles au niveau du nœud racine du type de ressource bookingAppointment. Maintenant, il se déplace sous un attribut « client » qui est une collection de bookingCustomerInformation.

La différence est visible dans les deux extraits de code ci-dessous.

Ancienne structure de réservation

Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#bookingBusinesses('Contosolunchdelivery%40M365B489948.onmicrosoft.com')/appointments/$entity",
    "id": "AAMkADKnAAA=",
    "selfServiceAppointmentId": "00000000-0000-0000-0000-000000000000",
    "customerId": "7ed53fa5-9ef2-4f2f-975b-27447440bc09",
    "customerName": "Jordan Miller",
    "customerEmailAddress": "jordanm@contoso.com",
    "customerPhone": "213-555-0199",
    "customerNotes": null,
    "serviceId": "57da6774-a087-4d69-b0e6-6fb82c339976",
    "serviceName": "Catered bento",
  ...
  ...   
  ...
}

Nouvelle structure

Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#bookingBusinesses('Contosolunchdelivery%40M365B489948.onmicrosoft.com')/appointments/$entity",
    "id": "AAMkADKnAAA=",
    "selfServiceAppointmentId": "00000000-0000-0000-0000-000000000000",
    ...
    ...
    ...
     "customers": [
        {
            "customerId": "7ed53fa5-9ef2-4f2f-975b-27447440bc09",
            "customerName": "Jordan Miller",
            "customerEmailAddress": "jordanm@contoso.com",
            "customerPhone": "213-555-0199",
            "customerNotes": "notes",
            "customQuestionAnswers": [
                {
                    "questionId": "75fc2eaf-624f-40b2-a289-63e51a56fcf2",
                    "question": "What's your favourite food",
                    "answerInputType": "radioButton",
                    "answerOptions": [                        "KFC",
                        "McDonald's",
                        "BurgerKing"
                    ],
                    "isRequired": true,
                    "answer": "KFC",
                    "selectedOptions": ["KFC"]
                }
            ],
            "customerLocation": {
                "displayName": "home",
                "locationEmailAddress": null,
                "locationUri": "",
                "locationType": null,
                "uniqueId": null,
                "uniqueIdType": null,
                "address": {
                    "type": "home",
                    "postOfficeBox": "",
                    "street": "",
                    "city": "",
                    "state": "",
                    "countryOrRegion": "",
                    "postalCode": ""
                },
                "coordinates": {
                    "altitude": null,
                    "latitude": null,
                    "longitude": null,
                    "accuracy": null,
                    "altitudeAccuracy": null
                }
            }
        }
    ]
    ...
    ...
}

L'API Microsoft Graph Bookings 1.0 est documentée ici.