使用 Firebase Cloud Function 的 POST 请求发送短信



>我有一个来自textlocal的SMS API,我想在Firestore Collection中创建新文档时使用它使用云功能发送SMS。 集合名称:预订短信。它将创建一个包含字段"数字","名称"和"服务"的文档。现在,SMY API 只需要很少的参数来发送短信。

API 网址:"https://api.textlocal.in/send/">

  1. 阿皮基
  2. 寄件人
  3. 消息。消息将被构造为"嗨,名称"您的"服务"预订已确认。

名称,服务和编号将来自Firestone文档,apikey和发件人将以cloudfunction代码编码。 现在我想创建云函数触发器,它将在创建文档时发送短信。下面是我尝试过的不完整代码,请帮助我完成它。

const functions = require('firebase-functions');
const admin = require("firebase-admin");
const axios = require("axios");
admin.initializeApp()

exports.sendSMS = functions.firestore
.document('BookingSMS/{BookingSMSId}')
.onCreate((snap, context) => {
const smsOptions = axios.create( {
baseURL: "https://api.textlocal.in/",
params: {
apiKey: "xQ1Fvg7uv14NaAEQHl2D", //Text local api key
sender: "ASDASD",
test: "true",
number: snap.data().phone,
service: snap.data().service,
message: `Hi, Your Booking for ${snap.data().service} is 
Confirmed. Thank You.`
}

});
smsOptions.post("/send");
});

我还想在数字前添加 +91。 并使用名称和服务构造消息。

根据文档,没有对node.js的直接支持。不过,您应该能够使用他们的 get 请求。(希望你熟悉异步/等待( 尝试:

async function bookSMS(user) {
// 5. Send booking SMS to users
const smsoption = {
apikey: 'asasasasasasasasas',
sender: 'DDDDDD'
to: '${user.phone}',
message: 'Welcome!',
}
// 6. Process the sending of this SMS
await fetch(`https://api.textlocal.in/send/?apikey=${apiKey}&numbers=${user.phone}&message=Welcome!&sender=DDDDDD`)
}

您必须启用结算功能才能访问 Firebase 中的外部 API

最新更新