Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Convert cURL POST request to M

Hi!

 

I have the following cURL request that works in POSTMAN that I can't figure out how to convert to M for the life of me.

 

 

curl --location 'https://thisisaURL.com' \
--header 'ASessionID: ThisisaSessionID' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'searchCriteria={"projectName": "HerecomestheProjectName","startDateTime": "01-Jan-2020 16:35","endDateTime": "01-May-2023 16:35"}'

 

 

According to the documentation the API wants the searchCriteria passed as JSON object and I've been fighting with Json.FromValue() and Record.ToBinary() without any luck. Any help would be greatly appreciated!

  • Anonymous's avatar
    Anonymous
    3 years ago

    ChatGPT came to the rescue, this code works:

     

    let
        url = "https://thisisaURL.com",
        headers = [
            #"ASessionID" = "ThisisaSessionID",
            #"Content-Type" = "application/x-www-form-urlencoded"
        ],
        body = "searchCriteria={""projectName"":""ThisisaProjectName"",""startDateTime"":""01-Jan-2020 16:35"",""endDateTime"":""01-May-2023 16:35""}",
        options = [
            Headers = headers,
            Content = Text.ToBinary(body),
            ManualStatusHandling = {400, 404, 500, 502, 503, 504}
        ],
        response = Web.Contents(url, options)
    in
        response

     

2 Replies