@messagebird/n8n-nodes-bird 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
# @messagebird/n8n-nodes-bird
|
|
2
2
|
|
|
3
|
-
The official [Bird](https://bird.com) node
|
|
3
|
+
The official [Bird](https://bird.com) node, verified by [n8n](https://n8n.io). Send email, SMS, and WhatsApp messages, manage contacts, run verification steps, and look up delivery status in your workflows.
|
|
4
4
|
|
|
5
5
|
📚 **Bird API documentation:** https://bird.com/docs
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Install from the nodes panel on n8n Cloud or a self-hosted instance with verified community nodes enabled.
|
|
10
|
+
|
|
11
|
+
1. Create a new workflow.
|
|
12
|
+
2. Open the **nodes panel** by selecting **+** or pressing **Tab**.
|
|
13
|
+
3. Search for **Bird**.
|
|
14
|
+
4. Select **Install** to install the node for your instance.
|
|
15
|
+
5. The Bird node is now available in your workflows.
|
|
10
16
|
|
|
11
17
|
On a self-hosted instance that has not enabled community nodes in the panel, use **Settings → Community Nodes → Install** and enter `@messagebird/n8n-nodes-bird`. Requires n8n 2.x on Node.js 20 or later.
|
|
12
18
|
|
|
13
19
|
## Operations
|
|
14
20
|
|
|
15
|
-
The **Bird** node covers the public Bird API: email and SMS sends, delivery status and event timelines, WhatsApp, verification, templates, sending domains, suppressions, inbound routes, webhooks, statistics, lookup, and more. Resources and operations mirror the API reference at https://bird.com/docs/api.
|
|
21
|
+
The **Bird** node covers the public Bird API: email and SMS sends, delivery status and event timelines, WhatsApp, verification, templates, sending domains, suppressions, inbound routes, webhooks, statistics, lookup, and more. Resources and operations mirror the API reference at https://bird.com/docs/api. Four areas are deliberately out: publishing and subscribing on Realtime, which needs an app key and secret this credential cannot hold (managing Realtime apps and keys is included); the attachment and media downloads, which return bytes rather than the JSON a workflow item carries; redirect-based media fetches; and authoring reusable email templates (sending an existing email template, and listing the ones a workspace has, are covered).
|
|
16
22
|
|
|
17
23
|
<details>
|
|
18
24
|
<summary><strong>178 operations across 22 resources</strong></summary>
|
|
@@ -23,7 +23,7 @@ exports.birdProperties = [
|
|
|
23
23
|
{ name: "SMS", value: "sms", description: "Send SMS and manage its messaging resources" },
|
|
24
24
|
{ name: "SMS Keyword Rule", value: "sms_keyword_rules", description: "Configure what a reply to one of the workspace's numbers does" },
|
|
25
25
|
{ name: "SMS Suppression", value: "sms_suppressions", description: "Manage who an SMS sender may not message" },
|
|
26
|
-
{ name: "SMS Template", value: "sms_templates", description: "Browse the
|
|
26
|
+
{ name: "SMS Template", value: "sms_templates", description: "Browse the SMS templates available to the workspace" },
|
|
27
27
|
{ name: "Suppression", value: "suppression", description: "Manage the email suppression list" },
|
|
28
28
|
{ name: "Verify", value: "verify", description: "Send one-time passcodes and check them" },
|
|
29
29
|
{ name: "Voice", value: "voice", description: "Read the call log and statistics, configure what admits a call, and place a test call" },
|
|
@@ -297,10 +297,10 @@ exports.birdProperties = [
|
|
|
297
297
|
noDataExpression: true,
|
|
298
298
|
displayOptions: { show: { resource: ["suppression"] } },
|
|
299
299
|
options: [
|
|
300
|
-
{ name: "List", value: "list", action: "List suppressions", description: "List suppressions" },
|
|
301
|
-
{ name: "
|
|
302
|
-
{ name: "
|
|
303
|
-
{ name: "
|
|
300
|
+
{ name: "List", value: "list", action: "List email suppressions", description: "List email suppressions" },
|
|
301
|
+
{ name: "Get", value: "get", action: "Get an email suppression", description: "Get an email suppression" },
|
|
302
|
+
{ name: "Add", value: "add", action: "Create an email suppression", description: "Create an email suppression" },
|
|
303
|
+
{ name: "Remove", value: "remove", action: "Delete an email suppression", description: "Delete an email suppression" },
|
|
304
304
|
],
|
|
305
305
|
default: "list",
|
|
306
306
|
},
|
|
@@ -2562,7 +2562,7 @@ exports.birdProperties = [
|
|
|
2562
2562
|
name: "from",
|
|
2563
2563
|
type: "string",
|
|
2564
2564
|
default: "",
|
|
2565
|
-
description: "Sender to send from. It must be a sender the workspace holds: a number it owns in E.164, such as `+15557654321`, a short code it holds, such as `24680`, or an alphanumeric sender ID it has claimed, such as `MyBrand`. A sender the workspace does not hold returns a `422` `SMSSenderNotConfigured`, and an alphanumeric sender must also be permitted, and where required registered, for the destination country. Required on a free-text send
|
|
2565
|
+
description: "Sender to send from. It must be a sender the workspace holds: a number it owns in E.164, such as `+15557654321`, a short code it holds, such as `24680`, or an alphanumeric sender ID it has claimed, such as `MyBrand`. A sender the workspace does not hold returns a `422` `SMSSenderNotConfigured`, and an alphanumeric sender must also be permitted, and where required registered, for the destination country. Required on a free-text send and when sending a workspace template. Omitting it in either case returns `422`. A built-in template selects its sender automatically and rejects `from`.",
|
|
2566
2566
|
},
|
|
2567
2567
|
{
|
|
2568
2568
|
displayName: "Metadata",
|
|
@@ -2647,14 +2647,14 @@ exports.birdProperties = [
|
|
|
2647
2647
|
type: "collection",
|
|
2648
2648
|
placeholder: "Add Field",
|
|
2649
2649
|
default: {},
|
|
2650
|
-
description: "Send using a stored template instead of free text.
|
|
2650
|
+
description: "Send using a stored template instead of free text. The category is derived from the template, so `category` and `media_urls` are rejected. A workspace template requires `from`; a built-in template selects its sender and rejects `from`.",
|
|
2651
2651
|
options: [
|
|
2652
2652
|
{
|
|
2653
2653
|
displayName: "ID",
|
|
2654
2654
|
name: "id",
|
|
2655
2655
|
type: "string",
|
|
2656
2656
|
default: "",
|
|
2657
|
-
description: "The template to send, by
|
|
2657
|
+
description: "The workspace or built-in template to send, by ID",
|
|
2658
2658
|
},
|
|
2659
2659
|
{
|
|
2660
2660
|
displayName: "Language",
|
|
@@ -2668,7 +2668,7 @@ exports.birdProperties = [
|
|
|
2668
2668
|
name: "name",
|
|
2669
2669
|
type: "string",
|
|
2670
2670
|
default: "",
|
|
2671
|
-
description: "Deprecated
|
|
2671
|
+
description: "Deprecated. Use `slug` instead. This resolves legacy built-in catalogue names and never matches a workspace template's display name.",
|
|
2672
2672
|
},
|
|
2673
2673
|
{
|
|
2674
2674
|
displayName: "Parameters",
|
|
@@ -2677,7 +2677,7 @@ exports.birdProperties = [
|
|
|
2677
2677
|
typeOptions: { multipleValues: true },
|
|
2678
2678
|
placeholder: "Add Pair",
|
|
2679
2679
|
default: {},
|
|
2680
|
-
description: "Values for the template's variables, keyed by variable name.
|
|
2680
|
+
description: "Values for the template's variables, keyed by variable name. Read the live version to see the accepted keys and formats. A missing key, an undeclared key, an invalid value, or a serialized object over 16 KiB returns `422`.",
|
|
2681
2681
|
options: [
|
|
2682
2682
|
{
|
|
2683
2683
|
displayName: "Pair",
|
|
@@ -2704,7 +2704,7 @@ exports.birdProperties = [
|
|
|
2704
2704
|
name: "slug",
|
|
2705
2705
|
type: "string",
|
|
2706
2706
|
default: "",
|
|
2707
|
-
description: "The template to send, by its slug
|
|
2707
|
+
description: "The workspace or built-in template to send, by its immutable slug. Read the template's live version to see its variables.",
|
|
2708
2708
|
},
|
|
2709
2709
|
],
|
|
2710
2710
|
},
|
|
@@ -2851,6 +2851,23 @@ exports.birdProperties = [
|
|
|
2851
2851
|
},
|
|
2852
2852
|
],
|
|
2853
2853
|
},
|
|
2854
|
+
{
|
|
2855
|
+
displayName: "Return All",
|
|
2856
|
+
name: "returnAll",
|
|
2857
|
+
type: "boolean",
|
|
2858
|
+
displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
|
|
2859
|
+
default: false,
|
|
2860
|
+
description: "Whether to return all results or only up to a given limit",
|
|
2861
|
+
},
|
|
2862
|
+
{
|
|
2863
|
+
displayName: "Limit",
|
|
2864
|
+
name: "limit",
|
|
2865
|
+
type: "number",
|
|
2866
|
+
typeOptions: { minValue: 1 },
|
|
2867
|
+
displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
|
|
2868
|
+
default: 50,
|
|
2869
|
+
description: "Max number of results to return",
|
|
2870
|
+
},
|
|
2854
2871
|
{
|
|
2855
2872
|
displayName: "Additional Fields",
|
|
2856
2873
|
name: "additionalFields",
|
|
@@ -2859,6 +2876,33 @@ exports.birdProperties = [
|
|
|
2859
2876
|
default: {},
|
|
2860
2877
|
displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
|
|
2861
2878
|
options: [
|
|
2879
|
+
{
|
|
2880
|
+
displayName: "Category",
|
|
2881
|
+
name: "category",
|
|
2882
|
+
type: "options",
|
|
2883
|
+
options: [
|
|
2884
|
+
{ name: "Not Set", value: "" },
|
|
2885
|
+
{ name: "Transactional", value: "transactional" },
|
|
2886
|
+
{ name: "Marketing", value: "marketing" },
|
|
2887
|
+
{ name: "Authentication", value: "authentication" },
|
|
2888
|
+
],
|
|
2889
|
+
default: "",
|
|
2890
|
+
description: "Return templates in this category",
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
displayName: "Language",
|
|
2894
|
+
name: "language",
|
|
2895
|
+
type: "string",
|
|
2896
|
+
default: "",
|
|
2897
|
+
description: "Return templates whose published content contains this language, after the tag is canonicalized. Draft-only languages do not match.",
|
|
2898
|
+
},
|
|
2899
|
+
{
|
|
2900
|
+
displayName: "Q",
|
|
2901
|
+
name: "q",
|
|
2902
|
+
type: "string",
|
|
2903
|
+
default: "",
|
|
2904
|
+
description: "A case-insensitive substring search across slug, name, and description",
|
|
2905
|
+
},
|
|
2862
2906
|
{
|
|
2863
2907
|
displayName: "Scope",
|
|
2864
2908
|
name: "scope",
|
|
@@ -2869,28 +2913,55 @@ exports.birdProperties = [
|
|
|
2869
2913
|
{ name: "Workspace", value: "workspace" },
|
|
2870
2914
|
],
|
|
2871
2915
|
default: "",
|
|
2872
|
-
description: "
|
|
2916
|
+
description: "Filter by who owns the template. Use `system` for built-in templates and `workspace` for templates your workspace created.",
|
|
2873
2917
|
},
|
|
2874
2918
|
{
|
|
2875
|
-
displayName: "
|
|
2876
|
-
name: "
|
|
2919
|
+
displayName: "Status",
|
|
2920
|
+
name: "status",
|
|
2877
2921
|
type: "options",
|
|
2878
2922
|
options: [
|
|
2879
|
-
{ name: "
|
|
2880
|
-
{ name: "
|
|
2923
|
+
{ name: "Active", value: "active" },
|
|
2924
|
+
{ name: "Draft", value: "draft" },
|
|
2925
|
+
{ name: "Inactive", value: "inactive" },
|
|
2881
2926
|
{ name: "Not Set", value: "" },
|
|
2882
|
-
{ name: "
|
|
2883
|
-
{ name: "
|
|
2927
|
+
{ name: "Pending", value: "pending" },
|
|
2928
|
+
{ name: "Rejected", value: "rejected" },
|
|
2884
2929
|
],
|
|
2885
2930
|
default: "",
|
|
2886
|
-
description: "
|
|
2931
|
+
description: "Return templates with this lifecycle status",
|
|
2887
2932
|
},
|
|
2933
|
+
],
|
|
2934
|
+
},
|
|
2935
|
+
{
|
|
2936
|
+
displayName: "Sort",
|
|
2937
|
+
name: "sort",
|
|
2938
|
+
type: "collection",
|
|
2939
|
+
placeholder: "Add Sort Option",
|
|
2940
|
+
default: {},
|
|
2941
|
+
displayOptions: { show: { resource: ["sms_templates"], operation: ["list"] } },
|
|
2942
|
+
options: [
|
|
2888
2943
|
{
|
|
2889
|
-
displayName: "
|
|
2890
|
-
name: "
|
|
2891
|
-
type: "
|
|
2944
|
+
displayName: "Sort By",
|
|
2945
|
+
name: "sort",
|
|
2946
|
+
type: "options",
|
|
2947
|
+
options: [
|
|
2948
|
+
{ name: "Not Set", value: "" },
|
|
2949
|
+
{ name: "Created At", value: "created_at" },
|
|
2950
|
+
],
|
|
2892
2951
|
default: "",
|
|
2893
|
-
description: "
|
|
2952
|
+
description: "Field to sort by",
|
|
2953
|
+
},
|
|
2954
|
+
{
|
|
2955
|
+
displayName: "Order",
|
|
2956
|
+
name: "order",
|
|
2957
|
+
type: "options",
|
|
2958
|
+
options: [
|
|
2959
|
+
{ name: "Not Set", value: "" },
|
|
2960
|
+
{ name: "Asc", value: "asc" },
|
|
2961
|
+
{ name: "Desc", value: "desc" },
|
|
2962
|
+
],
|
|
2963
|
+
default: "",
|
|
2964
|
+
description: "Sort direction. Defaults to `desc`, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.",
|
|
2894
2965
|
},
|
|
2895
2966
|
],
|
|
2896
2967
|
},
|
|
@@ -2908,7 +2979,7 @@ exports.birdProperties = [
|
|
|
2908
2979
|
type: "string",
|
|
2909
2980
|
},
|
|
2910
2981
|
],
|
|
2911
|
-
description: "The template's
|
|
2982
|
+
description: "The template's ID (`smt_…`) or slug. Built-in templates use a `bird_` slug. Write operations accept workspace templates because built-in templates are read-only.",
|
|
2912
2983
|
},
|
|
2913
2984
|
{
|
|
2914
2985
|
displayName: "Message",
|
|
@@ -6120,7 +6191,7 @@ exports.birdProperties = [
|
|
|
6120
6191
|
{ name: "Unsubscribe", value: "unsubscribe" },
|
|
6121
6192
|
],
|
|
6122
6193
|
default: "",
|
|
6123
|
-
description: "Return only suppressions with this reason: - `hard_bounce`: Delivery permanently failed. - `complaint`: The recipient reported a message as spam. - `unsubscribe`: The recipient opted out. Deprecated: unsubscribes are now recorded as messaging preferences rather than suppressions, so no new records carry this reason
|
|
6194
|
+
description: "Return only suppressions with this reason: - `hard_bounce`: Delivery permanently failed. - `complaint`: The recipient reported a message as spam. - `unsubscribe`: The recipient opted out. Deprecated: unsubscribes are now recorded as messaging preferences rather than suppressions, so no new records carry this reason. The filter returns legacy records until they are moved to messaging preferences. - `manual`: Added through the API or dashboard.",
|
|
6124
6195
|
},
|
|
6125
6196
|
{
|
|
6126
6197
|
displayName: "Scope Type",
|
|
@@ -6140,6 +6211,29 @@ exports.birdProperties = [
|
|
|
6140
6211
|
},
|
|
6141
6212
|
],
|
|
6142
6213
|
},
|
|
6214
|
+
{
|
|
6215
|
+
displayName: "Suppression",
|
|
6216
|
+
name: "suppression_id",
|
|
6217
|
+
type: "resourceLocator",
|
|
6218
|
+
required: true,
|
|
6219
|
+
default: { mode: "list", value: "" },
|
|
6220
|
+
displayOptions: { show: { resource: ["suppression"], operation: ["get"] } },
|
|
6221
|
+
modes: [
|
|
6222
|
+
{
|
|
6223
|
+
displayName: "From List",
|
|
6224
|
+
name: "list",
|
|
6225
|
+
type: "list",
|
|
6226
|
+
placeholder: "Select a Suppression...",
|
|
6227
|
+
typeOptions: { searchListMethod: "suppressionList", searchable: true },
|
|
6228
|
+
},
|
|
6229
|
+
{
|
|
6230
|
+
displayName: "By ID",
|
|
6231
|
+
name: "id",
|
|
6232
|
+
type: "string",
|
|
6233
|
+
},
|
|
6234
|
+
],
|
|
6235
|
+
description: "ID of the suppression record, as returned when the suppression was created or listed",
|
|
6236
|
+
},
|
|
6143
6237
|
{
|
|
6144
6238
|
displayName: "Email",
|
|
6145
6239
|
name: "email",
|
|
@@ -10080,29 +10174,6 @@ exports.birdProperties = [
|
|
|
10080
10174
|
},
|
|
10081
10175
|
],
|
|
10082
10176
|
},
|
|
10083
|
-
{
|
|
10084
|
-
displayName: "Suppression",
|
|
10085
|
-
name: "suppression_id",
|
|
10086
|
-
type: "resourceLocator",
|
|
10087
|
-
required: true,
|
|
10088
|
-
default: { mode: "list", value: "" },
|
|
10089
|
-
displayOptions: { show: { resource: ["suppression"], operation: ["get"] } },
|
|
10090
|
-
modes: [
|
|
10091
|
-
{
|
|
10092
|
-
displayName: "From List",
|
|
10093
|
-
name: "list",
|
|
10094
|
-
type: "list",
|
|
10095
|
-
placeholder: "Select a Suppression...",
|
|
10096
|
-
typeOptions: { searchListMethod: "suppressionList", searchable: true },
|
|
10097
|
-
},
|
|
10098
|
-
{
|
|
10099
|
-
displayName: "By ID",
|
|
10100
|
-
name: "id",
|
|
10101
|
-
type: "string",
|
|
10102
|
-
},
|
|
10103
|
-
],
|
|
10104
|
-
description: "ID of the suppression record, as returned when the suppression was created or listed",
|
|
10105
|
-
},
|
|
10106
10177
|
{
|
|
10107
10178
|
displayName: "Domain",
|
|
10108
10179
|
name: "domain_id",
|
|
@@ -28,7 +28,7 @@ exports.birdRoutes = {
|
|
|
28
28
|
"sms:send_batch": { method: "POST", path: "/v1/sms/batches", pathParams: [], topLevel: ["messages"], collections: ["additionalFields"], query: [], body: ["messages"], jsonFields: ["messages"], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: true, scopes: ["sms"] },
|
|
29
29
|
"sms:get": { method: "GET", path: "/v1/sms/messages/{message_id}", pathParams: ["message_id"], topLevel: ["message_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["sms"] },
|
|
30
30
|
"sms:list": { method: "GET", path: "/v1/sms/messages", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["limit", "starting_after", "ending_before", "created_after", "created_before", "direction", "status", "error_code", "category", "to", "from", "tag"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: ["status", "error_code", "tag"], dateTimeFields: ["created_after", "created_before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["sms"] },
|
|
31
|
-
"sms_templates:list": { method: "GET", path: "/v1/sms/templates", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["scope", "category", "language"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated:
|
|
31
|
+
"sms_templates:list": { method: "GET", path: "/v1/sms/templates", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["scope", "category", "status", "language", "q", "sort", "order", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["sms_management"] },
|
|
32
32
|
"sms_templates:get": { method: "GET", path: "/v1/sms/templates/{template_ref}", pathParams: ["template_ref"], topLevel: ["template_ref"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["sms_management"] },
|
|
33
33
|
"sms:list_events": { method: "GET", path: "/v1/sms/messages/{message_id}/events", pathParams: ["message_id"], topLevel: ["message_id"], collections: ["additionalFields"], query: ["type"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["sms"] },
|
|
34
34
|
"sms:stats_summary": { method: "GET", path: "/v1/sms/stats/summary", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["from", "to", "timezone", "originator", "country", "category", "carrier", "compare"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["sms"] },
|
|
@@ -91,6 +91,7 @@ exports.birdRoutes = {
|
|
|
91
91
|
"inbound_message:body": { method: "GET", path: "/v1/email/inbound-messages/{inbound_message_id}/body", pathParams: ["inbound_message_id"], topLevel: ["inbound_message_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["emails"] },
|
|
92
92
|
"inbound_message:attachments": { method: "GET", path: "/v1/email/inbound-messages/{inbound_message_id}/attachments", pathParams: ["inbound_message_id"], topLevel: ["inbound_message_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["emails"] },
|
|
93
93
|
"suppression:list": { method: "GET", path: "/v1/email/suppressions", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["email", "reason", "scope_type", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["email_management"] },
|
|
94
|
+
"suppression:get": { method: "GET", path: "/v1/email/suppressions/{suppression_id}", pathParams: ["suppression_id"], topLevel: ["suppression_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["email_management"] },
|
|
94
95
|
"suppression:add": { method: "POST", path: "/v1/email/suppressions", pathParams: [], topLevel: ["email"], collections: ["additionalFields"], query: [], body: ["email"], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["email_management"] },
|
|
95
96
|
"suppression:remove": { method: "DELETE", path: "/v1/email/suppressions/{suppression_id}", pathParams: ["suppression_id"], topLevel: ["suppression_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["email_management"] },
|
|
96
97
|
"webhooks:list": { method: "GET", path: "/v1/webhooks", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["sort", "order", "limit", "starting_after", "ending_before", "include_total"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["webhooks"] },
|
|
@@ -168,7 +169,6 @@ exports.birdRoutes = {
|
|
|
168
169
|
"email:threads_messages_update": { method: "PATCH", path: "/v1/email/threads/{thread_id}/messages/{message_id}", pathParams: ["thread_id", "message_id"], topLevel: ["thread_id", "message_id"], collections: ["updateFields"], query: [], body: ["labels", "contact_id"], jsonFields: [], structured: { "labels": "struct" }, renames: {}, arrayFields: ["labels.add", "labels.remove"], dateTimeFields: [], nullableFields: ["contact_id"], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["mailbox"] },
|
|
169
170
|
"email:threads_messages_delete": { method: "DELETE", path: "/v1/email/threads/{thread_id}/messages/{message_id}", pathParams: ["thread_id", "message_id"], topLevel: ["thread_id", "message_id"], collections: ["additionalFields"], query: ["permanent"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["mailbox"] },
|
|
170
171
|
"email:mailboxes_messages_list": { method: "GET", path: "/v1/email/mailboxes/{mailbox_id}/messages", pathParams: ["mailbox_id"], topLevel: ["mailbox_id"], collections: ["additionalFields"], query: ["label", "direction", "status", "after", "before", "include", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: ["after", "before"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["mailbox"] },
|
|
171
|
-
"suppression:get": { method: "GET", path: "/v1/email/suppressions/{suppression_id}", pathParams: ["suppression_id"], topLevel: ["suppression_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["email_management"] },
|
|
172
172
|
"domains:list_events": { method: "GET", path: "/v1/email/domains/{domain_id}/events", pathParams: ["domain_id"], topLevel: ["domain_id"], collections: ["additionalFields", "sort"], query: ["sort", "order", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["domains"] },
|
|
173
173
|
"domains:release_tracking": { method: "POST", path: "/v1/email/domains/{domain_id}/tracking/release", pathParams: ["domain_id"], topLevel: ["domain_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["domains"] },
|
|
174
174
|
"domains:share_dns_records": { method: "POST", path: "/v1/email/domains/{domain_id}/dns-records/share", pathParams: ["domain_id"], topLevel: ["domain_id", "emails"], collections: ["additionalFields"], query: [], body: ["emails"], jsonFields: [], structured: {}, renames: {}, arrayFields: ["emails"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["domains"] },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@messagebird/n8n-nodes-bird",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "The official Bird node for n8n: email, SMS, WhatsApp, and verification, plus a webhook trigger for Bird events.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@n8n/scan-community-package": "0.33.0",
|
|
58
|
-
"@types/node": "22.
|
|
58
|
+
"@types/node": "22.20.2",
|
|
59
59
|
"n8n-workflow": "2.16.0",
|
|
60
60
|
"rimraf": "6.1.3",
|
|
61
61
|
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
62
|
-
"vitest": "
|
|
62
|
+
"vitest": "5.0.0"
|
|
63
63
|
}
|
|
64
64
|
}
|