JSON Webservice problem JRP_6 - resolved | XM Community

JSON Webservice problem JRP_6 - resolved

  • 23 February 2023
  • 0 replies
  • 155 views

Userlevel 5
Badge +11


Hi All,
By way of writing this email I think I have resolved it. The engineers have now changed it so that you don't need to escape the double quotes in the JSON

This was a standard webservice task from with a Survey Response workflow which gave this error.
"name": "The task is configured incorrectly. Review the task’s configuration then try again.",
"message": "{\\"meta\\":{\\"httpStatus\\":\\"400 - Bad Request\\",\\"error\\":{\\"errorMessage\\":\\"'embeddedData' must be a JSON object.\\",\\"errorCode\\":\\"JRP_6\\"},\\"requestId\\":\\"xxx\\"}}",
"needRetry": false

This is the flow where the code task works fine (but funnily enough the run history says the email tasks worked fine but I never get the email!! lol (anyway, that's not the issue here as such - it's the webservice task)
image.png
This was my setup
image.pngI tried the trick of changing the Body JSON label to Plain Text and than changing the Content-Type manually to application/json but that doesn't help - it reverts back to JSON it seems anyway!
I've also tried using Key-value pairs and also simplified the JSON string to say just one field but I still get the same issue (as below)
image.png
this is my full JSON object.
{\\"CSAT_Q1_Problem_in_contacting_GEX\\":\\"${q://QID1/ChoiceGroup/SelectedChoices}\\", \\"CSAT_Q2_How_to_make_process_easier_feedback\\":\\"${q://QID2/ChoiceTextEntryValue}\\", \\"CSAT_Q3_GEX_contact_source\\":\\"${q://QID3/ChoiceGroup/SelectedChoices}\\", \\"CSAT_Q4_1_Online_form_clear_and_easy_to_complete\\":\\"${q://QID4/ChoiceGroup/SelectedAnswers/6}\\", \\"CSAT_Q4_2_Feedback_Time_frame_clear\\":\\"${q://QID4/ChoiceGroup/SelectedAnswers/7}\\", \\"CSAT_Q4_3_Confident_communication_would_be_acted_on\\":\\"${q://QID4/ChoiceGroup/SelectedAnswers/8}\\", \\"CSAT_Q5_1_Communication\\":\\"${q://QID5/ChoiceGroup/SelectedAnswers/1}\\", \\"CSAT_Q5_2_Ability_to_offer_suitable_solutions\\":\\"${q://QID5/ChoiceGroup/SelectedAnswers/2}\\", \\"CSAT_Q5_3_Showed_empathy_towards_guest_experience\\":\\"${q://QID5/ChoiceGroup/SelectedAnswers/3}\\", \\"CSAT_Q5_4_Timeliness_in_responding\\":\\"${q://QID5/ChoiceGroup/SelectedAnswers/4}\\", \\"CSAT_Q5_5_Quality_of_overall_response\\":\\"${q://QID5/ChoiceGroup/SelectedAnswers/5}\\", \\"CSAT_Q5_6_Demonstrated_care_about_guest_concerns_and_feedback\\":\\"${q://QID5/ChoiceGroup/SelectedAnswers/6}\\", \\"CSAT_Q6_Consultant_problem_details\\":\\"~{ch://OCAC_Tm6zZZLucrs2FLU/R1_edit}\\", \\"CSAT_Q9_CSAT_for_consultant_resolution\\":\\"${q://QID9/ChoiceGroup/SelectedChoices}\\", \\"CSAT_Q10_Consultant_resolution_alt_outcome_details\\":\\"${q://QID10/ChoiceTextEntryValue}\\", \\"CSAT_Q11_NPS\\":\\"${q://QID11/ChoiceGroup/SelectedChoices}\\", \\"CSAT_Q12_Likelihood_to_return\\":\\"${q://QID12/ChoiceGroup/SelectedChoices}\\", \\"CSAT_Q13_GEX_process_improvement_suggestions_details\\":\\"${q://QID13/ChoiceTextEntryValue}\\", \\"CSAT_ED_GE_CSAT_Ticket_Created_Date\\":\\"${e://Field/GE_CSAT_Ticket_Created_Date}\\", \\"CSAT_ED_GE_CSAT_GEX_Contact_Source_Inc_Other\\":\\"${e://Field/GE_CSAT_GEX_Contact_Source_Inc_Other}\\", \\"CSAT_ED_GE_CSAT_TicketID\\":\\"${e://Field/GE_CSAT_TicketID}\\", \\"CSAT_ED_GE_CSAT_ResponseID\\":\\"${e://Field/GE_CSAT_ResponseID}\\", \\"CSAT_ED_GE_CSAT_NPS_Group\\":\\"${e://Field/GE_CSAT_NPS_Group}\\", \\"CSAT_ED_GE_CSAT_Start_Date\\":\\"${e://Field/GE_CSAT_Start_Date}\\", \\"CSAT_ED_GE_CSAT_Recorded_Date\\":\\"${e://Field/GE_CSAT_Recorded_Date}\\"}
I've even just tried one value but still the same issue
{\\"CSAT_Q1_Problem_in_contacting_GEX\\":\\"${q://QID1/ChoiceGroup/SelectedChoices}\\"}
I then removed all the backslashes that escape the double quotes and hey presto - it worked!! So I'm leaving this post here for anyone else wandering what the problem is

This one works:
{"CSAT_Q1_Problem_in_contacting_GEX":"${q://QID1/ChoiceGroup/SelectedChoices}"}

Has anyone else experienced this error code?
I've raised this with Qualtrics Support too but think I've solved it myself!!
Wish they could publish a list of error codes!
Thanks
Rod Pestell

full JSON payload that was still giving the error. I could see that it was adding extra \\ ie escaping the escaped keys which if you go back a year ago was the way to do it!
{
  "payload": {
    "Fire": true,
    "Type": "OutcomeAction",
    "actionId": "OCAC_C0xxxxxso",
    "chain": {},
    "contentType": "JSON",
    "contextId": "SV_cVxxxxxEq4Cx",
    "createdAt": 1672771195810,
    "credentials": {},
    "currentPipedTextTestMappings": {
      "No": "",
      "R_2tgxxxxxxxReZ": ""
    },
    "customSaveHandler": true,
    "dataCastFailureMode": "CAST_DEFAULT",
    "dataTypes": {
      "embeddedData": "JSON",
      "resetRecordedDate": "BOOLEAN",
      "surveyId": "STRING"
    },
    "dependencies": {},
    "elementConfigured": true,
    "exportMappings": {
      "meta.error.errorMessage": "meta.error.errorMessage",
      "meta.httpStatus": "meta.httpStatus",
      "meta.requestId": "meta.requestId"
    },
    "exports": [
      {
        "display_name": "Headers",
        "key": "headers"
      },
      {
        "display_name": "Status Code",
        "key": "statusCode"
      },
      {
        "display_name": "Data",
        "key": "data"
      },
      {
        "display_name": "meta.error.errorMessage",
        "key": "meta.error.errorMessage"
      },
      {
        "display_name": "meta.httpStatus",
        "key": "meta.httpStatus"
      },
      {
        "display_name": "meta.requestId",
        "key": "meta.requestId"
      }
    ],
    "headers": {
      "Content-Type": "application/json",
      "X-API-TOKEN": "xxxxxxx"
    },
    "icon": "https://www.xm-apps-static.com/assets/v1/APP_42a7f4b6-bb84-4c66-94cc-e3e1208e62bf/1.6.11/jHK5ou6LNy9kkLUC/images/logo.svg",
    "id": "PLUG_7b318b05-433e-4e0c-bef8-520ebe5a0c9a",
    "keyValues": {
      "embeddedData": "{\\\\\\"CSAT_Q1_Problem_in_contacting_GEX\\\\\\":\\\\\\"No\\\\\\"}",
      "resetRecordedDate": "false",
      "surveyId": "SV_5tgzSmVq1YGWnZP"
    },
    "metadata": {
      "lazyLoadPipedText": true,
      "tags": [
        "test",
        "tag",
        "survey"
      ],
      "taskNameInModalTitle": false,
      "worker": {
        "type": "runner"
      }
    },
    "name": "WebService",
    "outcomeId": "OC_6xxxxxxxq",
    "ownerObject": {
      "orgId": "warnerhotels",
      "userId": "UR_xxxxx"
    },
    "pipedTextConfig": {
      "meta.error.errorMessage": {
        "isSystemGenerated": "true",
        "label": "meta.error.errorMessage",
        "value": "The requested resource does not exist."
      },
      "meta.httpStatus": {
        "isSystemGenerated": "true",
        "label": "meta.httpStatus",
        "value": "404 - Not Found"
      },
      "meta.requestId": {
        "isSystemGenerated": "true",
        "label": "meta.requestId",
        "value": "3bxxxxxxxxbbe"
      }
    },
    "pipedTextImports": {
      "body": [
        "No"
      ],
      "headers": [],
      "url": [
        "R_xxxxxxxx"
      ]
    },
    "requestType": "PUT",
    "summary": "Create a web service request that doesn't require authentication",
    "surveyId": "SV_xxxxxxxxxx",
    "taskNumber": 1,
    "taskRegistryId": "APP_xxxxxxxxx",
    "textPayload": "",
    "triggerAction": "WebService",
    "updatedAt": 1677142708884,
    "url": "https://eu.qualtrics.com/API/v3/responses/R_xxxxxxxx"
  },
  "user": {
    "userId": "UR_xxxxxxxxx",
    "brandId": "warnerhotels"
  },
  "executionData": {
    "workflowId": "R_1F5nJox00oZ814Y-OC_xxxxxxxxx,
    "runId": "",
    "actionId": "OCAC_xxxxxxx",
    "contextId": "SV_xxxxxxx",
    "uniqueId": "R_xxxxxxxx",
    "outcomeId": "OC_xxxxxxxxx",
    "taskToken": null,
    "attempt": 0,
    "orchestrator": "TEMPORAL"
  }
}


0 replies

Be the first to reply!

Leave a Reply