Web Api Query for Actions msdyn_BookingResource and msdyn_BookingResourceRequirement

3

From the web api reference here

I tried querying the api with no luck of success specially with the parameter Schedules being stated as type string.

1.) For msdyn_BookingResource

POST: https://bhaud365dev.crm6.dynamics.com/api/data/v9.0/msdyn_BookingResource

BODY: 
{"ResourceId":[GUID],"BookingStatusId":[GUID],"BookingMethod":690970003,"BookingType":1,"Schedules":"[{\"StartDateTime\":\"2019-07-15T00:00:00Z\",\"EndDateTime\":\"2019-07-19T00:00:00Z\"}]","Timeframe":5}

RESPONSE: {
    "error": {
        "code": "0x80040224",
        "message": "The added or subtracted value results in an un-representable DateTime.\r\nParameter name: value",

2.) For msdyn_BookingResourceRequirement

POST: https://bhaud365dev.crm6.dynamics.com/api/data/v9.1/msdyn_resourcerequirements([GUID])/Microsoft.Dynamics.CRM.msdyn_BookingResourceRequirement

BODY: { 
    "BookingMethod": 690970003,
    "BookingStatusId": [GUID],
    "BookingType": 1,
    "EndDateTime": "2019-07-19T07:29:00Z",
    "ResourceId": [GUID],
    "StartDateTime": "2019-07-15T22:00:00Z"
}

RESPONSE: {
    "error": {
        "code": "0x80040224",
        "message": "Object reference not set to an instance of an object.",

I was able to api query for functions but for the actions I am stuck and I am not sure on what am I doing wrong. Any tips or example is greatly appreciated.

BTW. tried the above queries also in CRM REST BUILDER v2.6.0.0 Same error responses.

dynamics-crm
microsoft-dynamics
dynamics-365
dynamics-crm-webapi
asked on Stack Overflow Jul 15, 2019 by guldame • edited Aug 7, 2020 by Arun Vinoth

1 Answer

1

I spent some time, getting same weird error and then I realized they are Internal Use only Actions. It's not intended for our usage & it's highly unsupported as they tend to break in future versions when Microsoft planned to change.

enter image description here

I was able to successfully create the Bookable Resource Bookings with the help of below web api request.

var entity = {};
entity["Resource@odata.bind"] = "/bookableresources(7B203E2F-F2FB-E911-A813-000D3A5A1BF8)";
entity["BookingStatus@odata.bind"] = "/bookingstatuses(026BDCEF-9257-4C10-9E49-C92539B883D6)";
entity["endtime"] = "2019-11-07T21:00:00Z";
entity["starttime"] = "2019-11-07T20:00:00Z"
entity.bookingtype = 1;
entity.msdyn_bookingmethod = 690970003;

Xrm.WebApi.online.createRecord("bookableresourcebooking", entity).then(
    function success(result) {
        var newEntityId = result.id;
    },
    function(error) {
        Xrm.Utility.alertDialog(error.message);
    }
);
answered on Stack Overflow Nov 7, 2019 by Arun Vinoth

User contributions licensed under CC BY-SA 3.0