import octopush from "../../octopush_sms.app.mjs";
export default {
key: "octopush_sms-send-new-sms",
name: "Send New SMS",
description: "Sends a new SMS using Octopush SMS. [See the documentation](https://dev.octopush.com/en/sms-gateway-api-documentation/send-sms/)",
version: "0.0.1",
type: "action",
props: {
octopush,
text: {
type: "string",
label: "Text",
description: "The message text (from 1 to 1224 characters).",
},
phone: {
type: "string",
label: "Phone Number",
description: "Phone number of the recipient",
},
firstName: {
type: "string",
label: "First Name",
description: "First name of the recipient",
},
lastName: {
type: "string",
label: "Last Name",
description: "Last name of the recipient",
},
type: {
type: "string",
label: "Type",
description: "Campaign Type",
options: [
"sms_premium",
"sms_low_cost",
],
},
sender: {
type: "string",
label: "Sender",
description: "Sender of the message (if the user allows it), 3-11 alphanumeric characters (a-zA-Z0-9)",
optional: true,
},
sendAt: {
type: "string",
label: "Send At",
description: "When you want to send the sms campaign. Format: DateTime ISO8601 (for ex: “2018-10-03T07:42:39-07:00”)",
optional: true,
},
purpose: {
type: "string",
label: "Purpose",
description: "Campaign purpose",
options: [
"alert",
"wholesale",
],
optional: true,
},
withReplies: {
type: "boolean",
label: "With Replies",
description: "Set to `true` to get back recipient replies",
optional: true,
},
simulationMode: {
type: "boolean",
label: "Simulation Mode",
description: "If this value is `true`, your request will be simulated, and you will receive a fake result",
optional: true,
},
},
async run({ $ }) {
const response = await this.octopush.sendSMS({
$,
data: {
text: this.text,
recipients: [
{
phone_number: this.phone,
first_name: this.firstName,
last_name: this.lastName,
},
],
type: this.type,
send_at: this.sendAt,
purpose: this.purpose,
with_replies: this.withReplies,
simulation_mode: this.simulationMode,
},
});
$.export("$summary", "Successfully send new SMS.");
return response;
},
};