Zapier CLI Trigger - Как использовать определенные образцы данных, если во время настройки не было получено никаких результатов

Я пытаюсь создать прототип триггера с помощью интерфейса командной строки Zapier, и у меня возникла проблема с разделом «Извлечь образцы» при настройке триггера в пользовательском интерфейсе.

Это пытается получить живой образец данных для использования, однако в документации указано, что если результаты не возвращаются, он будет использовать образцы данных, которые настроены для триггера.

В большинстве случаев живых данных не будет, поэтому в идеале я бы предпочел, чтобы образцы данных использовались в первую очередь, однако мой триггер, похоже, никогда не использует образец, и я не смог найти конкретный пример ответ "нет результатов".

API, который я использую, возвращает XML, поэтому я преобразовываю результат в JSON, который отлично работает, если есть данные.

Если до сих пор нет результатов, я попытался вернуть '[]', но он просто зависает, и если я проверю журналы zapier http, он зацикливает HTTP-запросы, пока я не отменю проверку образца.

Возврат "[{}]" возвращает ошибку, что мне нужно поле "id".

Я использую следующее определение:

module.exports = {
key: 'getsmsinbound',
noun: 'GetSMSInbound',
display: {
    label: 'Get Inbound SMS',
    description: 'Check for inbound SMS'
},
operation: {
    inputFields: [
        { key: 'number', required: true, type: 'string', helpText: 'Enter the inbound number' },
        { key: 'keyword', required: false, type: 'string', helpText: 'Optional if you have configured a keyword and you wish to check for specific keyword messages.' },
    ],
    perform: getsmsinbound,
    sample: {
        id: 1,
        originator: '+447980123456',
        destination: '+447781484146',
        keyword: '',
        date: '2009-07-08',
        time: '10:38:55',
        body: 'hello world',
        network: 'Orange'
    }
}

};

Я надеюсь, что это что-то очевидное, потому что при поиске в Интернете и документации Zapier мне не повезло!


person Spud    schedule 19.04.2018    source источник
comment
Только что задал Zapier поддержку тот же вопрос. Если я правильно помню, они в основном ожидают, что у вас уже есть некоторые данные, поэтому никаких данных на самом деле не вариант, даже если в их документации указано иное (и рекомендуется не отправлять обратно фиктивные данные). Я отправлю сообщение еще раз, когда получу ответ от службы поддержки. Обычно они довольно быстрые.   -  person typeoneerror    schedule 19.04.2018


Ответы (1)


Образцы данных должны предоставляться из вашего приложения, и образцы полезных данных не используются специально для этого опроса. Из документации:

Результаты выборки НЕ будут использоваться на этапе тестирования Zap пользователя. Этот шаг требует, чтобы данные были получены событием или возвращены из URL-адреса опроса. Если пользователь выбирает «Пропустить тест», то будет использоваться результат выборки, если он предоставлен.

Лично я никогда не видел, чтобы появлялся "Пропустить тест". Некоторое время назад я попросил поддержки по этому поводу:

Отличный вопрос! Это определенно одна из тех ситуаций «курица и яйцо» при использовании REST Hooks - если нет доступного образца, то все просто заглохнет.

Когда редактор Zap пытается получить "образец результата", он будет искать в трех местах:

  1. Конечная точка опроса (на шаге № 3 настройки триггера) вызывается для текущего пользователя. Если это не вернет ничего, редактор Zap попробует выполнить следующий шаг.
  2. «Самая последняя запись / данные» в истории Zap. Поскольку это совершенно новый Zap, в нем ничего не будет.
  3. Результат образца (на шаге № 4 настройки вашего триггера). Редактор Zap сообщит пользователю, что «нечего показывать», и предоставит пользователю возможность «пропустить тест и продолжить», который будет использовать образец JSON, который вы здесь предоставили.

На самом деле он просто будет продолжать повторять запрос снова и снова и никогда не будет предлагать пользователю вариант «пропустить тест и продолжить». Я снова отправил письмо с вопросом, изменилось ли что-нибудь с тех пор, но похоже, что существующие образцы данных являются обязательными.

Возможно, создать запись в вашем API по умолчанию, скрыть ее от обычного использования и просто отправить обратно?

Или отправьте фиктивные данные, даже если Zapier говорит этого не делать. Не уверен, но я не знаю, как люди могут настроить zap, когда данные еще не созданы (и Zapier говорит, что не во многих их приложениях есть эта проблема, но почти каждый триггер, который я создал, и когда-либо использовался для других приложения намекнули бы мне иначе).

person typeoneerror    schedule 19.04.2018
comment
Большое спасибо за это :). API, прототип которого я использую, является зрелым, поэтому я не могу вносить в него какие-либо изменения, однако в моем записке я смог использовать свойство 'frontend' для bundle.meta, которое имеет значение true, если вызов производится из редактора Zap. С этим я могу передать обратно жестко запрограммированный образец ответа. Если вы все же получите дополнительное подтверждение, было бы здорово услышать, поскольку прямо сейчас образец в определении кажется почти бесполезным. - person Spud; 20.04.2018
comment
Только что услышали от Zapier и описанного вами метода «frontend && [] .empty?» - это то, что они рекомендовали. - person typeoneerror; 21.04.2018