PureBasic Dynamics CRM: Get All Information for a Specific Incident

Back to Index

Returns the entire JSON record for a specific incident.

Documentation: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/incident?view=dynamics-ce-odata-9

CURL Command

curl -X GET https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/incidents \
  -H "Accept: application/json" \
  -H "OData-MaxVersion: 4.0"  \
  -H "OData-Version: 4.0" \
  -d "$expand=customerid_account($select=accountid,name)" \
  -d "$filter=incidentid eq c49e62a8-90df-e311-9565-a45d36fc5fe8" \
  -H "Authorization: Bearer DYNAMICS_CRM_ACCESS_TOKEN"

PureBasic Example

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"

Procedure ChilkatExample()

    rest.i = CkRest::ckCreate()
    If rest.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    ;  URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/incidents
    bTls.i = 1
    port.i = 443
    bAutoReconnect.i = 1
    success = CkRest::ckConnect(rest,"my-dynamics-domain.api.crm.dynamics.com",port,bTls,bAutoReconnect)
    If success <> 1
        Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        ProcedureReturn
    EndIf

    CkRest::ckAddQueryParam(rest,"$expand","customerid_account($select=accountid,name)")
    CkRest::ckAddQueryParam(rest,"$filter","incidentid eq c49e62a8-90df-e311-9565-a45d36fc5fe8")

    CkRest::ckAddHeader(rest,"OData-MaxVersion","4.0")
    CkRest::ckAddHeader(rest,"Accept","application/json")
    CkRest::ckAddHeader(rest,"OData-Version","4.0")
    CkRest::ckAddHeader(rest,"Authorization","Bearer DYNAMICS_CRM_ACCESS_TOKEN")

    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkRest::ckFullRequestNoBodySb(rest,"GET","/api/data/v9.0/incidents",sbResponseBody)
    If success <> 1
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        CkStringBuilder::ckDispose(sbResponseBody)
        ProcedureReturn
    EndIf

    respStatusCode.i = CkRest::ckResponseStatusCode(rest)
    If respStatusCode >= 400
        Debug "Response Status Code = " + Str(respStatusCode)
        Debug "Response Header:"
        Debug CkRest::ckResponseHeader(rest)
        Debug "Response Body:"
        Debug CkStringBuilder::ckGetAsString(sbResponseBody)
        CkRest::ckDispose(rest)
        CkStringBuilder::ckDispose(sbResponseBody)
        ProcedureReturn
    EndIf

    jsonResponse.i = CkJsonObject::ckCreate()
    If jsonResponse.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(jsonResponse,sbResponseBody)

    i.i
    count_i.i

    odataContext.s = CkJsonObject::ckStringOf(jsonResponse,Chr(34) + "@odata.context" + Chr(34))
    i = 0
    count_i = CkJsonObject::ckSizeOfArray(jsonResponse,"value")
    While i < count_i
        CkJsonObject::setCkI(jsonResponse, i)
        odataEtag.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]." + Chr(34) + "@odata.etag" + Chr(34))
        v_resolvebykpiid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._resolvebykpiid_value")
        customercontacted.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].customercontacted")
        v_accountid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._accountid_value")
        prioritycode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].prioritycode")
        v_msdyn_incidenttype_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._msdyn_incidenttype_value")
        caseorigincode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].caseorigincode")
        modifiedon.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].modifiedon")
        v_parentcaseid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._parentcaseid_value")
        v_slainvokedid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._slainvokedid_value")
        overriddencreatedon.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].overriddencreatedon")
        isescalated.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].isescalated")
        int_paraturecasenumber.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].int_paraturecasenumber")
        checkemail.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].checkemail")
        followupby.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].followupby")
        ticketnumber.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].ticketnumber")
        versionnumber.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].versionnumber")
        v_modifiedby_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._modifiedby_value")
        billedserviceunits.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].billedserviceunits")
        decremententitlementterm.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].decremententitlementterm")
        onholdtime.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].onholdtime")
        resolveby.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].resolveby")
        int_upsellreferral.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].int_upsellreferral")
        messagetypecode.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].messagetypecode")
        emailaddress.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].emailaddress")
        merged.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].merged")
        int_surveryparticipation.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].int_surveryparticipation")
        contractservicelevelcode.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].contractservicelevelcode")
        v_createdonbehalfby_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._createdonbehalfby_value")
        v_contactid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._contactid_value")
        v_existingcase_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._existingcase_value")
        productserialnumber.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].productserialnumber")
        v_owninguser_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._owninguser_value")
        int_effortnum.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].int_effortnum")
        escalatedon.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].escalatedon")
        v_productid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._productid_value")
        followuptaskcreated.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].followuptaskcreated")
        v_ownerid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._ownerid_value")
        new_actualsatisfaction.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].new_actualsatisfaction")
        v_socialprofileid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._socialprofileid_value")
        v_createdbyexternalparty_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._createdbyexternalparty_value")
        v_contractid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._contractid_value")
        v_modifiedbyexternalparty_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._modifiedbyexternalparty_value")
        v_masterid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._masterid_value")
        timezoneruleversionnumber.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].timezoneruleversionnumber")
        entityimageid.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].entityimageid")
        v_primarycontactid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._primarycontactid_value")
        importsequencenumber.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].importsequencenumber")
        v_owningteam_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._owningteam_value")
        routecase.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].routecase")
        blockedprofile.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].blockedprofile")
        statecode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].statecode")
        int_casecategory.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].int_casecategory")
        entityimage_timestamp.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].entityimage_timestamp")
        firstresponseslastatus.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].firstresponseslastatus")
        traversedpath.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].traversedpath")
        int_actualsatisfaction.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].int_actualsatisfaction")
        v_int_associatedproduct_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._int_associatedproduct_value")
        v_customerid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._customerid_value")
        entityimage.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].entityimage")
        v_entitlementid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._entitlementid_value")
        activitiescomplete.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].activitiescomplete")
        new_upsellreferral.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].new_upsellreferral")
        statuscode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].statuscode")
        processid.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].processid")
        v_contractdetailid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._contractdetailid_value")
        int_customereffort.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].int_customereffort")
        responseby.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].responseby")
        v_transactioncurrencyid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._transactioncurrencyid_value")
        sentimentvalue.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].sentimentvalue")
        v_slaid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._slaid_value")
        influencescore.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].influencescore")
        v_firstresponsebykpiid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._firstresponsebykpiid_value")
        utcconversiontimezonecode.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].utcconversiontimezonecode")
        numberofchildincidents.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].numberofchildincidents")
        incidentid.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].incidentid")
        new_casecategory.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].new_casecategory")
        v_owningbusinessunit_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._owningbusinessunit_value")
        casetypecode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].casetypecode")
        resolvebyslastatus.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].resolvebyslastatus")
        createdon.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].createdon")
        severitycode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].severitycode")
        exchangerate.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].exchangerate")
        v_subjectid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._subjectid_value")
        servicestage.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].servicestage")
        description.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].description")
        lastonholdtime.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].lastonholdtime")
        actualserviceunits.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].actualserviceunits")
        title.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].title")
        v_createdby_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._createdby_value")
        isdecrementing.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].isdecrementing")
        v_modifiedonbehalfby_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._modifiedonbehalfby_value")
        customersatisfactioncode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].customersatisfactioncode")
        stageid.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].stageid")
        v_kbarticleid_value.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]._kbarticleid_value")
        entityimage_url.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].entityimage_url")
        firstresponsesent.i = CkJsonObject::ckBoolOf(jsonResponse,"value[i].firstresponsesent")
        incidentstagecode.i = CkJsonObject::ckIntOf(jsonResponse,"value[i].incidentstagecode")
        customerid_accountAccountid.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].customerid_account.accountid")
        customerid_accountName.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].customerid_account.name")
        i = i + 1
    Wend


    CkRest::ckDispose(rest)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonObject::ckDispose(jsonResponse)


    ProcedureReturn
EndProcedure

Sample JSON Response Body

{
  "@odata.context": "https://mydomain.api.crm.dynamics.com/api/data/v9.0/$metadata#incidents(customerid_account(accountid,name))",
  "value": [
    {
      "@odata.etag": "W/\"1161596\"",
      "_resolvebykpiid_value": null,
      "customercontacted": false,
      "_accountid_value": null,
      "prioritycode": 2,
      "_msdyn_incidenttype_value": null,
      "caseorigincode": 2,
      "modifiedon": "2018-03-03T12:34:48Z",
      "_parentcaseid_value": null,
      "_slainvokedid_value": null,
      "overriddencreatedon": "2018-03-03T12:34:48Z",
      "isescalated": false,
      "int_paraturecasenumber": null,
      "checkemail": false,
      "followupby": "2015-06-04T16:15:42Z",
      "ticketnumber": "CAS-01220-S1K8F4",
      "versionnumber": 1161596,
      "_modifiedby_value": "32ff7175-0dbe-4acb-872e-22f86435bf98",
      "billedserviceunits": null,
      "decremententitlementterm": true,
      "onholdtime": null,
      "resolveby": "2015-06-05T16:15:42Z",
      "int_upsellreferral": false,
      "messagetypecode": null,
      "emailaddress": null,
      "merged": false,
      "int_surveryparticipation": null,
      "contractservicelevelcode": null,
      "_createdonbehalfby_value": null,
      "_contactid_value": null,
      "_existingcase_value": null,
      "productserialnumber": null,
      "_owninguser_value": "32ff7175-0dbe-4acb-872e-22f86435bf98",
      "int_effortnum": null,
      "escalatedon": null,
      "_productid_value": "3509d8af-7bc3-e411-80df-fc15b42886e8",
      "followuptaskcreated": false,
      "_ownerid_value": "32ff7175-0dbe-4acb-872e-22f86435bf98",
      "new_actualsatisfaction": null,
      "_socialprofileid_value": null,
      "_createdbyexternalparty_value": null,
      "_contractid_value": null,
      "_modifiedbyexternalparty_value": null,
      "_masterid_value": null,
      "timezoneruleversionnumber": 0,
      "entityimageid": null,
      "_primarycontactid_value": null,
      "importsequencenumber": 124,
      "_owningteam_value": null,
      "routecase": true,
      "blockedprofile": false,
      "statecode": 0,
      "int_casecategory": null,
      "entityimage_timestamp": null,
      "firstresponseslastatus": 1,
      "traversedpath": null,
      "int_actualsatisfaction": null,
      "_int_associatedproduct_value": null,
      "_customerid_value": "b6a19cdd-88df-e311-b8e5-6c3be5a8b200",
      "entityimage": null,
      "_entitlementid_value": null,
      "activitiescomplete": false,
      "new_upsellreferral": null,
      "statuscode": 1,
      "processid": "0ffbcde4-61c1-4355-aa89-aa1d7b2b8792",
      "_contractdetailid_value": null,
      "int_customereffort": 121590000,
      "responseby": null,
      "_transactioncurrencyid_value": null,
      "sentimentvalue": null,
      "_slaid_value": null,
      "influencescore": null,
      "_firstresponsebykpiid_value": null,
      "utcconversiontimezonecode": null,
      "numberofchildincidents": null,
      "incidentid": "c49e62a8-90df-e311-9565-a45d36fc5fe8",
      "new_casecategory": null,
      "_owningbusinessunit_value": "c4106190-c81e-e811-a980-000d3a192e9a",
      "casetypecode": 2,
      "resolvebyslastatus": 1,
      "createdon": "2017-01-20T22:50:47Z",
      "severitycode": 1,
      "exchangerate": null,
      "_subjectid_value": "191de3d1-21d5-e411-80eb-c4346bad3638",
      "servicestage": 0,
      "description": null,
      "lastonholdtime": null,
      "actualserviceunits": null,
      "title": "Faulty product catalog",
      "_createdby_value": "32ff7175-0dbe-4acb-872e-22f86435bf98",
      "isdecrementing": false,
      "_modifiedonbehalfby_value": null,
      "customersatisfactioncode": 3,
      "stageid": "92a6721b-d465-4d36-aef7-e8822d7a5a6a",
      "_kbarticleid_value": null,
      "entityimage_url": null,
      "firstresponsesent": false,
      "incidentstagecode": 1,
      "customerid_account": {
        "accountid": "b6a19cdd-88df-e311-b8e5-6c3be5a8b200",
        "name": "Fourth Coffee"
      }
    }
  ]
}