Почему мой Zapier Integration Dynami c Field не работает? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть простая интеграция с zapier, и она отлично работает. Однако я добавляю поля Dynami c. Опять же, все работает отлично, когда я тестирую zap. Мои поля формы Dynami c отображаются именно так, как я ожидал.

Проблема заключается в отправке значения этих форм Dynami c в мой API. Я использую консоль zapier, и когда я настраиваю запрос API, я использую следующее:

Где body['custom_fields'] должен отправлять все мои поля Dynami c или даже все поля. Но когда он попадает в мой API, параметр custom_fields остается пустым.

const options = {
  url: 'https://example_url/endpoint',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': `Bearer ${bundle.authData.auth_token}`
  },
  body: {
    'email': bundle.inputData.email,
    'custom_fields': bundle.inputData

    /**
      I've tried the following with no luck:

     'custom_fields': bundle.inputData.fields
     'custom_fields': bundle.inputData.undefined
     'custom_fields': bundle.inputData
    */
  }
}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    // You can do any parsing you need for results here before returning them

    return results;
  });

1 Ответ

0 голосов
/ 13 мая 2020

Хорошо, через несколько дней, это самый простой ответ.

Очевидно, что объект не может быть отправлен по параметрам.

поэтому вместо

'custom_fields': bundle.inputData

Я просто добавляю весь объект в параметры, и он заботится обо всех ключах и значениях

params: bundle.inputData

Вот полное тело

const options = {
  url: 'https://apiendpoint.com',
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${bundle.authData.auth_token}`
  },
  params: bundle.inputData,

}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    // You can do any parsing you need for results here before returning them

    return results;
  });
...