У меня есть необработанный ответ JSON от триггера Zapier Webhook. Я ищу способ облегчить доступ к каждому из вложенных полей в CUSTOMFIELDS AND LINKS для последовательных шагов Zap. Тело JSON выглядит так:
{"entity":{
"OPPORTUNITY_ID":22992638,
"OPPORTUNITY_NAME":"Test 5",
"PROBABILITY":10,
"BID_CURRENCY":"USD",
"BID_TYPE":"Fixed Bid",
"CATEGORY_ID":6132227,
"PIPELINE_ID":575195,
"STAGE_ID":2172640,
"OPPORTUNITY_STATE":"OPEN",
"RESPONSIBLE_USER_ID":1689885,
"OWNER_USER_ID":1689885,
"DATE_CREATED_UTC":"2019-01-15T21:11:50.28",
"DATE_UPDATED_UTC":"2019-01-15T21:12:10.92",
"VISIBLE_TO":"EVERYONE",
"CUSTOMFIELDS":[{
"CUSTOM_FIELD_ID":"Tax_Matters_Contact__c",
"FIELD_VALUE":275224094
}],
"TAGS":[],
"LINKS":[{
"LINK_ID":199045197,
"CONTACT_ID":275224094,
"OPPORTUNITY_ID":22992638
},
{
"LINK_ID":199045198,
"OPPORTUNITY_ID":22992638,
"ORGANISATION_ID":130032601
}
]
}}
Благодаря Дэвиду из Zapier, я запускаю этот Javascript в шаге кода, и он отлично работает для CONTACT_ID, так как обычно он находится в первом порядке в массиве, но он находит ORGANIZATION_ID, только если нет CONTACT_ID, то есть он пропускает первая запись и находит вторую. Я предполагаю, что он получает первый в списке в массиве, а затем не продолжается, но я не знаю, почему он не будет переходить к следующему, поскольку это просто сырой веб-крючок. Есть идеи, как заставить это работать?
В массиве сначала указывается запись для CONTACT_ID и затем ORGANISATION_ID, если он существует, но этот порядок может измениться / измениться, либо может появиться другой, например, PROJECT_ID. Я хотел бы найти их все или любой с одним шагом кода, чтобы выходные данные предусматривали последовательные этапы Zap.
const j = JSON.parse(inputData.body)
return j.entity.LINKS.find(l => l.CONTACT_ID || l.ORGANISATION_ID) || {}
Вот мой Зап:
Вот мой шаг кода
Вот результаты, когда CONTACT_ID найден в моем коде