$darkmode
this class provides the REST client API for communication with Microsoft Dynamics 365 Common Data Service servers More...
Public Member Functions | |
constructor (hash< auto > opts, *softbool do_not_connect) | |
creates the object with the given options More... | |
string | getApi () |
returns the CDS REST API version currently in use | |
Static Public Member Functions | |
static hash< auto > | getOptions (hash< auto > opts) |
returns options for the CdsRestClient::CdsRestClient::constructor() | |
static string | getString (hash< auto > opts, string key) |
gets a string option | |
static | raiseError (string fmt) |
throws an exception due to an error | |
Public Attributes | |
const | ApiProfiles |
API profiles. | |
const | DefaultApiVersion = "9.2" |
Default API version. | |
const | DefaultBusinessCentralBaseUri = "https://api.businesscentral.dynamics.com/" |
Default Dynamics 365 base URI. | |
const | DefaultDynamicsPingHeaders |
Default Dynamics ping headers. | |
const | DefaultDynamicsPingMethod = "GET" |
Default Dynamics ping method. | |
const | DefaultDynamicsPingPath = "{api_uri_path}/systemusers?$top=1&$select=identityid" |
Default Dynamics ping path. | |
const | OAuth2AuthUriPathSuffix = "/oauth2/v2.0/authorize" |
OAuth2 auth URI path suffix. | |
const | OAuth2BaseUrl = "https://login.microsoftonline.com/" |
OAuth2 auth URL. | |
const | OAuth2TokenUriPathSuffix = "/oauth2/v2.0/token" |
OAuth2 token URI path suffix. | |
const | RequestUriPathPrefix = "/api/data/v" |
Request URI path prefix. | |
Protected Member Functions | |
hash< auto > | sendAndDecodeResponse (*data body, string m, string path, hash< auto > hdr, *reference< hash< auto >> info, *softbool decode_errors) |
sends the outgoing HTTP message and recodes the response to data | |
this class provides the REST client API for communication with Microsoft Dynamics 365 Common Data Service servers
This class requires the following options for Microsoft Dynamics 365 Common Data Service authentication and authorization to the target server:
client_id:
the OAuth2 client IDclient_secret:
the OAuth2 client secrettenant:
the tenant IDErrors returned from Dynamics will have the following format:
err:
will be the hex error code from Dynamics (ex: 0x8006088a
)desc:
the exception message (ex: Resource not found for the segment 'WhoAmi'.
)arg:
the error hash from the server plus a decoded_body
argument with any decoded message body CdsRestClient::CdsRestClient::constructor | ( | hash< auto > | opts, |
*softbool | do_not_connect | ||
) |
creates the object with the given options
opts | valid options are the same as RestClient with the following differences:
|
do_not_connect | if False (the default), then a connection will be immediately established to the remote server |
RESTCLIENT-ERROR | invalid option passed to constructor, unsupported data serialization, etc |
CDSRESTCLIENT-ERROR | missing or invalid required option for REST authentication or communication |