Будучи новичком в Nexmo, я нашел простой способ получать SMS-сообщения с использованием Firebase здесь .
После инициализации Firebase с помощью:
firebase init functions
, в который вы пишете сгенерированный index.js
:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.inboundSMS = functions.https.onRequest(async (req, res) => {
await admin.database().ref('/msgq').push(req.body);
res.send(200);
});
Затем вы развертываете код в Firebase с помощью:
firebase deploy --only functions
, что дает URL-адрес обратного вызова (webhook), подобный:
https://us-central1-nexmo-project.cloudfunctions.net/inboundSMS
При добавлении вышеуказанного URL-адреса в настройки API панели инструментов Nexmo сообщения будут перехвачены Firebase DB.
Теперь у меня есть два вопроса.
Первый - это проблема с лицензированием: автор утверждает, что для использования стороннего API требуется Firebase "Pay-as-you- go план". Что это значит? Разве потребитель webhook не всегда является третьей стороной? На сайте Firebase .
я не нашел никаких полезных советов. Второй вопрос касается защиты URL обратного вызова. Кажется, что каждый может отправлять данные через URL, так как я могу избежать спама и прочтения URL?