Plivo
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
SMS gönderin
/**
* An example of sending SMS messages from Google Ads Scripts using Plivo.
* See: https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#basic_authentication_samples
* for full details on configuration.
*/
// Supply an email address: If for some reason your Plivo account
// details become invalid or change, this will be used to make sure
// you are notified of failure.
const EMAIL_ADDRESS = 'INSERT_EMAIL_ADDRESS';
// The number you wish messages to appear to originate from. Must be registered
// with Plivo.
const PLIVO_SRC_PHONE_NUMBER = 'INSERT_SRC_PHONE_NUMBER';
// Account details, see: https://manage.plivo.com/dashboard/
const PLIVO_ACCOUNT_AUTHID = 'INSERT_ACCOUNT_AUTHID';
const PLIVO_ACCOUNT_AUTHTOKEN = 'INSERT_ACCOUNT_AUTHTOKEN';
/**
* Builds an SMS message for sending with Plivo and sends the message.
* @param {string} dstPhoneNumber The destination number. This is a string as
* telephone numbers may contain '+'s or be prefixed with '00' etc.
* @param {string} message The text message to send.
*/
function sendPlivoSms(dstPhoneNumber, message) {
const request =
buildPlivoMessageRequest(dstPhoneNumber, message);
sendSms(request);
}
/**
* Send an SMS message
* @param {!SmsRequest} request The request object to send
*/
function sendSms(request) {
const retriableErrors = [429, 500, 503];
for (let attempts = 0; attempts < 3; attempts++) {
const response = UrlFetchApp.fetch(request.url, request.options);
const responseCode = response.getResponseCode();
if (responseCode < 400 || retriableErrors.indexOf(responseCode) === -1) {
break;
}
Utilities.sleep(2000 * Math.pow(2, attempts));
}
if (responseCode >= 400 && EMAIL_ADDRESS) {
MailApp.sendEmail(
EMAIL_ADDRESS, 'Error sending SMS Message from Google Ads Scripts',
response.getContentText());
}
}
/**
* Builds a SMS request object specific for the Plivo service.
* @param {string} recipientPhoneNumber Destination number including country
* code.
* @param {string} textMessage The message to send.
* @return {SmsRequest}
*/
function buildPlivoMessageRequest(recipientPhoneNumber, textMessage) {
if (!recipientPhoneNumber) {
throw Error('No "recipientPhoneNumber" specified in call to ' +
'buildPlivoMessageRequest. "recipientPhoneNumber" cannot be empty');
}
if (!textMessage) {
throw Error('No "textMessage" specified in call to ' +
'buildPlivoMessageRequest. "textMessage" cannot be empty');
}
const plivoUri =
`https://api.plivo.com/v1/Account/${PLIVO_ACCOUNT_AUTHID}/Message/`;
const authHeader = 'Basic ' +
Utilities.base64Encode(
PLIVO_ACCOUNT_AUTHID + ':' + PLIVO_ACCOUNT_AUTHTOKEN);
const options = {
muteHttpExceptions: true,
method: 'POST',
headers: {'Authorization': authHeader, 'Content-Type': 'application/json'},
payload: JSON.stringify({
src: PLIVO_SRC_PHONE_NUMBER,
dst: recipientPhoneNumber,
text: textMessage
})
};
return {url: plivoUri, options: options};
}
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2024-09-12 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2024-09-12 UTC."],[[["This script enables sending SMS messages directly from Google Ads scripts using the Plivo service."],["It requires setting up Plivo account details, including authentication credentials and a registered source phone number."],["The script provides functionalities for building SMS message requests with recipient details and message content, sending the messages, and handling potential errors with retries and email notifications."],["Users need to replace placeholders like `INSERT_EMAIL_ADDRESS`, `INSERT_SRC_PHONE_NUMBER`, `INSERT_ACCOUNT_AUTHID`, and `INSERT_ACCOUNT_AUTHTOKEN` with their actual values for the script to function correctly."]]],[]]