Я использую функции Twilio (node.js) для загрузки в AirTable всех входящих текстов. Я использую 2 таблицы -
- «Получить текст» со столбцами «Дата входящего текста», «Содержимое входящего текста» и «UID».
- «Пользователи» со столбцами » UID "и номер телефона (" Ваш номер ").
Когда приходит текст, у меня остается только номер телефона. поэтому я пытаюсь использовать FilterByFormula с номером телефона для получения UID пользователя из таблицы «Пользователи».
Вот код, который я запускаю -
exports.handler = function(context, event, callback) {
var Airtable = require('airtable');
var base = new Airtable({apiKey: context.AIRTABLE_API_KEY}).base('app######');
var phone = event.From;
var format_phone = // format to +1 (###) ###-####
base('Users').select({
filterByFormula: `Your Number = "${format_phone}"`,
view: "Grid view"
}).eachPage(function page(records, fetchNextPage) {
records.forEach(function(record) {
console.log(record.id);
});
fetchNextPage();
}, function done(err) {
if (err) { console.error(err); return; }
});
inputbase = 'Receive Text';
message = {
'UID' : ['rec#######'],
'Inbound Text Date' : Date.now(),
'Inbound Text Content' : event.Body,
};
base(inputbase).create(message, function(err, record) {
if (err) { console.error(err); return; }
console.log(record.getId());
callback(null, message);
});
};
Прямо сейчас для При тестировании UID жестко запрограммирован и работает нормально. Я не уверен, как получить UID из filterByFormula в переменную или просто в переменную сообщения.
И UID, и номер телефона являются уникальными значениями в «Пользователи», поэтому я не ожидаю получить более 1 записи назад.
Спасибо.