1 |
|
2 | type Actimo = { |
3 | apiKey: string |
4 | } |
5 |
|
6 | export async function main( |
7 | auth: Actimo, |
8 | id: string, |
9 | body: { |
10 | active?: false | true |
11 | add_to_homepage?: false | true |
12 | allow_unsubscribe?: false | true |
13 | anonymous?: false | true |
14 | bookmarked?: false | true |
15 | categories?: string[] |
16 | channel_email?: false | true |
17 | channel_email_from_address?: string |
18 | channel_email_from_name?: string |
19 | channel_email_subject?: string |
20 | channel_ivr?: false | true |
21 | channel_ivr_msisdn?: string |
22 | channel_ivr_prefer_tollfree?: false | true |
23 | channel_sms?: false | true |
24 | channel_sms_from_name?: string |
25 | channel_sms_msg_template?: string |
26 | channel_sms_simple?: false | true |
27 | channel_voiceblast?: false | true |
28 | content_language?: string |
29 | delay_till?: number |
30 | delivery_days?: number[] |
31 | delivery_hour_end?: number |
32 | delivery_hour_start?: number |
33 | delivery_preference?: string[] |
34 | disable_deeplink?: false | true |
35 | email_first_page?: false | true |
36 | force_sms?: false | true |
37 | ft?: string |
38 | modules?: { |
39 | '{module type}'?: { '{module id}'?: { header?: string; type?: string } } |
40 | } |
41 | must_read?: false | true |
42 | name?: string |
43 | open_limit?: number |
44 | quiz_retake_interval?: number |
45 | quiz_retake_max_attempts?: number |
46 | quiz_retake_message?: string |
47 | recurring_message_id?: number |
48 | reminder_items?: string[] |
49 | reminder_rules?: string[][] |
50 | send_reminders?: false | true |
51 | shared?: false | true |
52 | starred?: string |
53 | subject?: string |
54 | tags?: {}[] |
55 | template_id?: number |
56 | voiceprofile_id?: number |
57 | webhook_message_event_url?: string |
58 | } |
59 | ) { |
60 | const url = new URL(`https://actimo.com/api/v1/messages/${id}`) |
61 |
|
62 | const response = await fetch(url, { |
63 | method: 'PUT', |
64 | headers: { |
65 | 'api-key': auth.apiKey, |
66 | 'Content-Type': 'application/json' |
67 | }, |
68 | body: JSON.stringify(body) |
69 | }) |
70 |
|
71 | if (!response.ok) { |
72 | const text = await response.text() |
73 | throw new Error(`${response.status} ${text}`) |
74 | } |
75 |
|
76 | return await response.json() |
77 | } |
78 |
|