2013-03-17 3 views
1

Я работаю с API-интерфейсом Event Brite и у меня есть потребность в том, чтобы попытаться найти оптимальный подход. Прямо сейчас у меня есть событие, за которое будут регистрироваться люди. На последнем этапе процесса регистрации мне нужно задать им несколько вопросов, которые относятся к моему событию. К сожалению, эти вопросы основаны на данных на моем веб-сайте, поэтому я не могу использовать пакетные опросы w/Event Bright.Получить данные участников с третьей частью рабочего процесса веб-сайта Следующие шаги

В идеальном мире я бы использовал базовый поток, подробно описанный в Рабочем документе веб-сайта документации EB, оканчиваясь на шаг «Сторонние шаги» (метод переадресации).

http://developer.eventbrite.com/doc/workflows/

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

Возможно ли это в текущем API? Пересылает ли перенаправление любые данные обратно на сторонний сайт? Я видел несколько сообщений SO, в которых было указано несколько ключевых слов, которые могут быть включены в URL-адрес переадресации (есть ли исчерпывающий список?). Если да, есть ли способ использовать эти данные для поиска информации о заказе только для этого заказа?

Прямо сейчас, моя единственная альтернатива - настроить службу опроса, которая будет вытаскивать данные EB API, проверять новые значения и затем запускать процесс с интервалами. Это было бы довольно шумно для всех вовлеченных сторон, создавало бы задержку для моих участников, и я хотел бы избежать этого, если это возможно. Мысли?

Спасибо!

ответ

0

Вы можете передать order_id в свой URL перенаправления, чтобы решить эту проблему.

Когда вы define a redirect URL, Evenbrite автоматически заменит значение order_id вместо строки «$ order_id».

http://your3rdpartywebsite.com/welcome_back/?order_id=$order_id 

или:

http://your3rdpartywebsite.com/welcome_back/$order_id/ 

Когда пользователь завершает транзакцию, они будут перенаправлены на внешний сайт, как показано здесь:/http://developer.eventbrite.com/doc/workflows/

Когда целевая страница после сделки загрузите, возьмите order_id из URL-адреса запроса и вызовите event_list_attendees API method, чтобы найти информацию о заказе в ответе.

+0

Удивительно, спасибо за ответ! Это почти покрывает его, но у меня есть еще один вопрос. Могу ли я предоставить идентификатор заказа в качестве критерия фильтрации для вызова API? Например, http://API-URL.com?id=2&order_id=463 – Nathan

+0

, к сожалению, этот тип фильтрации необходимо будет выполнить с вашей стороны. Просто создайте функцию, которая принимает order_id, а затем фильтрует ответ, возвращая только соответствующий порядок. –

1

Вот полный набор параметров, которые мы поддерживаем после очного размещает заказ:

http://yoursite.com/?eid=$event_id&attid=$attendee_id&oid=$order_id 

Вполне возможно, что order_id и attendee_id не будет числовое значения, в этом случае она будет возвращать значение «неизвестный». У вас всегда будет event_id.

Если вы хотите получить данные о заказе после перенаправления посетителя на свой сайт, вы можете использовать метод event_list_attendees вместе с параметром modified_after. Вам все равно придется просмотреть набор результатов для нового order_id, но набор результатов будет намного меньше и легче ориентироваться.Вы можете получить дополнительную информацию здесь: http://developer.eventbrite.com/doc/events/event_list_attendees/

+0

Отличное предложение по модифицированному_после. Как EB обрабатывает дату и время для разных областей? Это особый часовой пояс, UTC или GMT? – Nathan