
π λ³Έ λ¬Έμλ Twilio 곡μ λ¬ΈμμΈ Message Schedulingλ₯Ό νκ΅μ΄λ‘ λ²μ/μ 리ν κΈμ λλ€.
μ΅μ μ 보 λ° μμΈν κΈ°λ₯μ λ°λμ 곡μ λ¬Έμλ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ.
Twilioμ Message Scheduling κΈ°λ₯μ λ―Έλμ νΉμ μμ μ SMS, MMS, WhatsApp λ©μμ§λ₯Ό μμ½ μ μ‘ν μ μλ κΈ°λ₯μ λλ€. μ΄ κΈ°λ₯μ Messaging Serviceλ₯Ό ν΅ν΄μλ§ μ¬μ©ν μ μμΌλ©°, Engagement Suiteμ ν¬ν¨λμ΄ μμ΅λλ€.
Twilioμμ μμ½ λ©μμ§λ₯Ό μμ±ν λ, μΌλ° λ©μμ§μ λμΌνκ² Message 리μμ€λ₯Ό μμ±νλ,
λ κ°μ§ μΆκ° νλΌλ―Έν°λ₯Ό ν¬ν¨ν΄μΌ ν©λλ€:
| νλΌλ―Έν° | νμ κ° | μ€λͺ |
|---|---|---|
scheduleType | fixed | μμ½ μ μ‘μ μλ―Ένλ κ³ μ κ° |
sendAt | ISO 8601 νμμ λ μ§ (2025-06-10T15:00:00Z) | λ©μμ§λ₯Ό μ μ‘ν μμ |
κ·Έ μΈμλ μλ κ°λ€μ΄ νμν©λλ€:
messagingServiceSid: λ©μμ§λ₯Ό μ μ‘ν Messaging Serviceμ SIDbody λλ mediaUrl λλ contentSidto: μμ μ λ²νΈ (μ: +821012345678) λλ WhatsApp μ£Όμ (μ: whatsapp:+821012345678)const twilio = require("twilio");
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = twilio(accountSid, authToken);
async function createMessage() {
const message = await client.messages.create({
body: "μ΄κ±΄ μμ½λ λ©μμ§μ
λλ€.",
messagingServiceSid: "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
scheduleType: "fixed",
sendAt: new Date("2025-06-10T15:00:00Z"),
to: "+821012345678",
});
console.log(message.sid);
}
createMessage();
{
"status": "scheduled",
"sid": "SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"to": "+821012345678",
"messaging_service_sid": "MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
status: scheduledλ‘ νμλ¨μμ½ λΉμμλ μμ±λμ§λ§, μ μ‘ μμ μ ν΄λΉ μ¬μ©μκ° μ°¨λ¨(Opt-Out)νμ κ²½μ° λ©μμ§λ μ€ν¨ μ²λ¦¬λ¨ (21610)
β λ©μμ§ μ·¨μ APIλ₯Ό μ¬μ©ν΄ μ¬μ μ μ·¨μ κ°λ₯
ν
νλ¦Ώμ λ©μμ§ μμ± μκ° μλ, μ€μ μ μ‘ μμ μ μ ν¨μ± κ²μ¬λ₯Ό κ±°μΉ¨.
νμ©λμ§ μμ ν
νλ¦Ώμ΄λ©΄ μ μ‘ μ€ν¨
async function cancelMessage() {
const message = await client
.messages("SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
.update({ status: "canceled" });
console.log(message.status); // canceled
}
status: "canceled" λ‘ μ
λ°μ΄νΈνλ©΄ μμ½μ΄ μ·¨μλ¨status callbackμλ canceled μ΄λ²€νΈκ° μ μ‘λ¨