I need some help fine-tuning the translation map for an output array.
I am trying to use the WFM APIs to retrieve schedule data at an intraday level so I can make routing decisions based on expected future staffing levels in a planning group. (rather than current logged in levels).
The raw JSON results show items in the array for each interval, with non-staffed intervals showing as Null (48 items in the array).
When trying to apply a Translation Map, the Null items disappear, and I receive an array of only 28 items.
The API returns no identifying information about the interval. I can manually look at the results and see that my first interval with data starts at 7 AM in my sample, but we do not have consistent start times across all of our planning groups and have different hours on weekend days/holidays, so I cannot simply assume that they all always start at 7 AM.
I am looking for a solution to this puzzle where the array stays intact with 48 items, the non-scheduled intervals showing as 0 staff, rather than Null.
{
"rawResult": "{\n \"status\" : \"Complete\",\n \"operationId\" : \"d5f8d93a-9b0d-4dc2-b631-319d7e47c3ab\",\n \"result\" : {\n \"startDate\" : \"2025-07-08T04:00:00Z\",\n \"endDate\" : \"2025-07-09T04:00:00Z\",\n \"intervalLengthMinutes\" : 30,\n \"categories\" : [ \"ScheduleData\" ],\n \"shortTermForecast\" : {\n \"id\" : \"143b6e86-3d4f-4e4a-b91c-49ce14687b9a\",\n \"weekDate\" : \"2025-07-07\"\n },\n \"schedule\" : {\n \"id\" : \"377927d1-c8de-403a-a975-1d81ee9f7dd0\",\n \"weekDate\" : \"2025-07-07\"\n },\n \"intradayDataGroupings\" : [ {\n \"mediaType\" : \"Voice\",\n \"forecastDataPerInterval\" : [ ],\n \"scheduleDataSummary\" : {\n \"onQueueTimeSeconds\" : 3031080\n },\n \"scheduleDataPerInterval\" : [ null, null, null, null, null, null, null, null, null, null, null, null, null, null, {\n \"onQueueTimeSeconds\" : 14400\n }, {\n \"onQueueTimeSeconds\" : 14400\n }, {\n \"onQueueTimeSeconds\" : 43200\n }, {\n \"onQueueTimeSeconds\" : 52500\n }, {\n \"onQueueTimeSeconds\" : 69300\n }, {\n \"onQueueTimeSeconds\" : 74700\n }, {\n \"onQueueTimeSeconds\" : 102300\n }, {\n \"onQueueTimeSeconds\" : 105900\n }, {\n \"onQueueTimeSeconds\" : 117000\n }, {\n \"onQueueTimeSeconds\" : 106800\n }, {\n \"onQueueTimeSeconds\" : 125100\n }, {\n \"onQueueTimeSeconds\" : 135300\n }, {\n \"onQueueTimeSeconds\" : 181920\n }, {\n \"onQueueTimeSeconds\" : 180060\n }, {\n \"onQueueTimeSeconds\" : 175200\n }, {\n \"onQueueTimeSeconds\" : 164700\n }, {\n \"onQueueTimeSeconds\" : 162600\n }, {\n \"onQueueTimeSeconds\" : 183780\n }, {\n \"onQueueTimeSeconds\" : 150600\n }, {\n \"onQueueTimeSeconds\" : 127320\n }, {\n \"onQueueTimeSeconds\" : 114300\n }, {\n \"onQueueTimeSeconds\" : 120600\n }, {\n \"onQueueTimeSeconds\" : 109500\n }, {\n \"onQueueTimeSeconds\" : 100500\n }, {\n \"onQueueTimeSeconds\" : 74100\n }, {\n \"onQueueTimeSeconds\" : 77100\n }, {\n \"onQueueTimeSeconds\" : 77700\n }, {\n \"onQueueTimeSeconds\" : 63000\n }, {\n \"onQueueTimeSeconds\" : 7200\n }, null, null, null, null, null ],\n \"performancePredictionDataPerInterval\" : [ ]\n } ]\n }\n}",
"onQueueTimeSeconds": "[ 14400, 14400, 43200, 52500, 69300, 74700, 102300, 105900, 117000, 106800, 125100, 135300, 181920, 180060, 175200, 164700, 162600, 183780, 150600, 127320, 114300, 120600, 109500, 100500, 74100, 77100, 77700, 63000, 7200 ]"
}
Data returned in the Delevoper Center
{
"status": "Complete",
"operationId": "6c2d09e6-a7ab-4130-bc8f-f963cec62113",
"result": {
"startDate": "2025-07-08T04:00:00Z",
"endDate": "2025-07-09T04:00:00Z",
"intervalLengthMinutes": 30,
"categories": [
"ScheduleData"
],
"shortTermForecast": {
"id": "143b6e86-3d4f-4e4a-b91c-49ce14687b9a",
"weekDate": "2025-07-07"
},
"schedule": {
"id": "377927d1-c8de-403a-a975-1d81ee9f7dd0",
"weekDate": "2025-07-07"
},
"intradayDataGroupings": [
{
"mediaType": "Voice",
"forecastDataPerInterval": [],
"scheduleDataSummary": { "onQueueTimeSeconds": 3031080 },
"scheduleDataPerInterval": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
{ "onQueueTimeSeconds": 14400 },
{ "onQueueTimeSeconds": 14400 },
{ "onQueueTimeSeconds": 43200 },
{ "onQueueTimeSeconds": 52500 },
{ "onQueueTimeSeconds": 69300 },
{ "onQueueTimeSeconds": 74700 },
{ "onQueueTimeSeconds": 102300 },
{ "onQueueTimeSeconds": 105900 },
{ "onQueueTimeSeconds": 117000 },
{ "onQueueTimeSeconds": 106800 },
{ "onQueueTimeSeconds": 125100 },
{ "onQueueTimeSeconds": 135300 },
{ "onQueueTimeSeconds": 181920 },
{ "onQueueTimeSeconds": 180060 },
{ "onQueueTimeSeconds": 175200 },
{ "onQueueTimeSeconds": 164700 },
{ "onQueueTimeSeconds": 162600 },
{ "onQueueTimeSeconds": 183780 },
{ "onQueueTimeSeconds": 150600 },
{ "onQueueTimeSeconds": 127320 },
{ "onQueueTimeSeconds": 114300 },
{ "onQueueTimeSeconds": 120600 },
{ "onQueueTimeSeconds": 109500 },
{ "onQueueTimeSeconds": 100500 },
{ "onQueueTimeSeconds": 74100 },
{ "onQueueTimeSeconds": 77100 },
{ "onQueueTimeSeconds": 77700 },
{ "onQueueTimeSeconds": 63000 },
{ "onQueueTimeSeconds": 7200 },
null,
null,
null,
null,
null
],
"performancePredictionDataPerInterval": []
}
]
}
}