@messagebird/n8n-nodes-bird 0.14.0 → 0.16.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.
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.birdEvents = void 0;
4
4
  // Code generated by surface-gen; DO NOT EDIT.
5
5
  exports.birdEvents = [
6
- { name: "amb.accepted", value: "amb.accepted", description: "Bird charged and accepted an outbound message for processing. This does not mean Apple received the message." },
6
+ { name: "amb.accepted", value: "amb.accepted", description: "An outbound message was accepted for processing after confirming billing coverage. This does not confirm receipt by Apple." },
7
7
  { name: "amb.conversation_closed", value: "amb.conversation_closed", description: "A customer conversation closed. Closing a conversation is not a message." },
8
8
  { name: "amb.conversation_reopened", value: "amb.conversation_reopened", description: "An existing customer conversation reopened after it had closed" },
9
9
  { name: "amb.conversation_started", value: "amb.conversation_started", description: "A customer conversation opened for the first time" },
@@ -26,7 +26,7 @@ exports.birdProperties = [
26
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
- { name: "Voice", value: "voice", description: "Place calls, read call legs and statistics, and configure Voice" },
29
+ { name: "Voice", value: "voice", description: "Place and read calls, read legs and statistics, and configure Voice" },
30
30
  { name: "Webhook", value: "webhooks", description: "Manage outbound webhook endpoints" },
31
31
  { name: "WhatsApp", value: "whatsapp", description: "Send WhatsApp messages, connect its senders, and read templates and stats" },
32
32
  { name: "Workspace", value: "workspace", description: "Inspect the current workspace and its settings" },
@@ -2591,33 +2591,40 @@ exports.birdProperties = [
2591
2591
  default: {},
2592
2592
  displayOptions: { show: { resource: ["email"], operation: ["stats_by_broadcast"] } },
2593
2593
  options: [
2594
+ {
2595
+ displayName: "Category",
2596
+ name: "category",
2597
+ type: "string",
2598
+ default: "",
2599
+ description: "Not supported on breakdown endpoints. Supplying it returns a `422`. To compare categories, use `GET /v1/email/stats/categories`. The summary, daily, and hourly statistics accept `category` as a filter.",
2600
+ },
2594
2601
  {
2595
2602
  displayName: "From",
2596
2603
  name: "from",
2597
2604
  type: "string",
2598
2605
  default: "",
2599
- description: "Start date (inclusive) in `YYYY-MM-DD`, UTC. Defaults to 30 days before `to` when omitted.",
2606
+ description: "Start date (inclusive) in `YYYY-MM-DD`, interpreted as a calendar day in `timezone` (UTC when omitted). Defaults to 30 days before `to` when omitted.",
2600
2607
  },
2601
2608
  {
2602
- displayName: "To",
2603
- name: "to",
2604
- type: "string",
2609
+ displayName: "Max Results",
2610
+ name: "max_results",
2611
+ type: "number",
2605
2612
  default: "",
2606
- description: "End date (inclusive) in `YYYY-MM-DD`, UTC. Defaults to today (UTC) when omitted. Window may not exceed 365 days.",
2613
+ description: "Maximum number of broadcast rows to return, ranked by the `sort` field descending",
2607
2614
  },
2608
2615
  {
2609
- displayName: "Category",
2610
- name: "category",
2616
+ displayName: "Timezone",
2617
+ name: "timezone",
2611
2618
  type: "string",
2612
2619
  default: "",
2613
- description: "Not supported on breakdown endpoints. Supplying it returns a `422`. To compare categories, use `GET /v1/email/stats/categories`. The summary, daily, and hourly statistics accept `category` as a filter.",
2620
+ description: "IANA timezone identifier used to group statistics, for example `Asia/Kathmandu`. The default is UTC. Day and hour boundaries, including the default window when `from` and `to` are omitted, follow this timezone. When this parameter is set, pass `from` and `to` as calendar days or `Z` instants instead of timestamps with explicit UTC offsets.",
2614
2621
  },
2615
2622
  {
2616
- displayName: "Max Results",
2617
- name: "max_results",
2618
- type: "number",
2623
+ displayName: "To",
2624
+ name: "to",
2625
+ type: "string",
2619
2626
  default: "",
2620
- description: "Maximum number of broadcast rows to return, ranked by the `sort` field descending",
2627
+ description: "End date (inclusive) in `YYYY-MM-DD`, interpreted as a calendar day in `timezone` (UTC when omitted). Defaults to today in that timezone when omitted. Window may not exceed 365 days.",
2621
2628
  },
2622
2629
  ],
2623
2630
  },
@@ -6822,6 +6829,53 @@ exports.birdProperties = [
6822
6829
  },
6823
6830
  ],
6824
6831
  },
6832
+ {
6833
+ displayName: "Webhook",
6834
+ name: "webhook_id",
6835
+ type: "resourceLocator",
6836
+ required: true,
6837
+ default: { mode: "list", value: "" },
6838
+ displayOptions: { show: { resource: ["webhooks"], operation: ["replay"] } },
6839
+ modes: [
6840
+ {
6841
+ displayName: "From List",
6842
+ name: "list",
6843
+ type: "list",
6844
+ placeholder: "Select a Webhook...",
6845
+ typeOptions: { searchListMethod: "webhooksList", searchable: true },
6846
+ },
6847
+ {
6848
+ displayName: "By ID",
6849
+ name: "id",
6850
+ type: "string",
6851
+ },
6852
+ ],
6853
+ description: "ID of the webhook endpoint (`whk_` prefix), as returned when it was created",
6854
+ },
6855
+ {
6856
+ displayName: "Additional Fields",
6857
+ name: "additionalFields",
6858
+ type: "collection",
6859
+ placeholder: "Add Field",
6860
+ default: {},
6861
+ displayOptions: { show: { resource: ["webhooks"], operation: ["replay"] } },
6862
+ options: [
6863
+ {
6864
+ displayName: "Since",
6865
+ name: "since",
6866
+ type: "dateTime",
6867
+ default: "",
6868
+ description: "Replay events whose delivery attempt failed at or after this timestamp. The bound is inclusive and applies to attempt time, not to when the event occurred, so a retry that trailed its event by a day falls in the window by the hour it was attempted. Defaults to 24 hours before the request when omitted. Attempts are retained for three days, so that is the oldest history a replay reaches: an earlier `since` widens the window without recovering anything older.",
6869
+ },
6870
+ {
6871
+ displayName: "Until",
6872
+ name: "until",
6873
+ type: "dateTime",
6874
+ default: "",
6875
+ description: "Replay events whose delivery attempt failed at or before this timestamp, on the same attempt-time bound as `since`. Omitted, it resolves to the time of the request.",
6876
+ },
6877
+ ],
6878
+ },
6825
6879
  {
6826
6880
  displayName: "Webhook",
6827
6881
  name: "webhook_id",
@@ -7540,7 +7594,7 @@ exports.birdProperties = [
7540
7594
  typeOptions: { multipleValues: true },
7541
7595
  placeholder: "Add Pair",
7542
7596
  default: {},
7543
- description: "Custom property values for this contact. Each key must be an active contact property. Each value must match the property's declared type: string, number, boolean, or RFC 3339 datetime. Strings can contain up to `500` characters, and a `null` value is ignored. Unregistered or archived keys return a validation error. The serialized data is limited to 2 KB.",
7597
+ description: "Custom contact property values. Keys must be registered and active; values must match their declared type. Strings can contain up to 500 characters and the serialized map is limited to 2 KB. Invalid values fail this contact. Null values remove keys when updating and are ignored when creating.",
7544
7598
  options: [
7545
7599
  {
7546
7600
  displayName: "Pair",
@@ -7568,35 +7622,35 @@ exports.birdProperties = [
7568
7622
  type: "string",
7569
7623
  placeholder: "name@email.com",
7570
7624
  default: "",
7571
- description: "The contact's email address. Trimmed and lowercased before it is stored and checked for uniqueness. Unique within the workspace. Supply an email address, a phone number, or both.",
7625
+ description: "Email address, up to 254 characters. Trimmed and lowercased before matching. Invalid addresses fail this contact.",
7572
7626
  },
7573
7627
  {
7574
7628
  displayName: "External ID",
7575
7629
  name: "external_id",
7576
7630
  type: "string",
7577
7631
  default: "",
7578
- description: "Your own identifier for this contact, such as a user ID in your system. Unique within the workspace when set.",
7632
+ description: "Your identifier for the contact, up to 254 characters. Unique within the workspace when set.",
7579
7633
  },
7580
7634
  {
7581
7635
  displayName: "First Name",
7582
7636
  name: "first_name",
7583
7637
  type: "string",
7584
7638
  default: "",
7585
- description: "The contact's first name",
7639
+ description: "First name, up to 100 characters",
7586
7640
  },
7587
7641
  {
7588
7642
  displayName: "Last Name",
7589
7643
  name: "last_name",
7590
7644
  type: "string",
7591
7645
  default: "",
7592
- description: "The contact's last name",
7646
+ description: "Last name, up to 100 characters",
7593
7647
  },
7594
7648
  {
7595
7649
  displayName: "Phone Number",
7596
7650
  name: "phone_number",
7597
7651
  type: "string",
7598
7652
  default: "",
7599
- description: "The contact's phone number in E.164 format, including the leading `+` and country code. Spaces and punctuation are accepted and stripped; the number is stored in its canonical form, which may differ from what you send, and is unique within the workspace. An empty string is treated as if the field were omitted. Supply an email address, a phone number, or both.",
7653
+ description: "Phone number with a country code, up to 32 characters. Spaces and punctuation are accepted. An empty string is treated as omitted.",
7600
7654
  },
7601
7655
  ],
7602
7656
  },
@@ -10079,53 +10133,6 @@ exports.birdProperties = [
10079
10133
  ],
10080
10134
  description: "ID of the Realtime app key (`rak_` prefix), as returned when the key was created",
10081
10135
  },
10082
- {
10083
- displayName: "Webhook",
10084
- name: "webhook_id",
10085
- type: "resourceLocator",
10086
- required: true,
10087
- default: { mode: "list", value: "" },
10088
- displayOptions: { show: { resource: ["webhooks"], operation: ["replay"] } },
10089
- modes: [
10090
- {
10091
- displayName: "From List",
10092
- name: "list",
10093
- type: "list",
10094
- placeholder: "Select a Webhook...",
10095
- typeOptions: { searchListMethod: "webhooksList", searchable: true },
10096
- },
10097
- {
10098
- displayName: "By ID",
10099
- name: "id",
10100
- type: "string",
10101
- },
10102
- ],
10103
- description: "ID of the webhook endpoint (`whk_` prefix), as returned when it was created",
10104
- },
10105
- {
10106
- displayName: "Additional Fields",
10107
- name: "additionalFields",
10108
- type: "collection",
10109
- placeholder: "Add Field",
10110
- default: {},
10111
- displayOptions: { show: { resource: ["webhooks"], operation: ["replay"] } },
10112
- options: [
10113
- {
10114
- displayName: "Since",
10115
- name: "since",
10116
- type: "dateTime",
10117
- default: "",
10118
- description: "Replay events whose delivery attempt failed at or after this timestamp. The bound is inclusive and applies to attempt time, not to when the event occurred, so a retry that trailed its event by a day falls in the window by the hour it was attempted. Defaults to 24 hours before the request when omitted. Attempts are retained for three days, so that is the oldest history a replay reaches: an earlier `since` widens the window without recovering anything older.",
10119
- },
10120
- {
10121
- displayName: "Until",
10122
- name: "until",
10123
- type: "dateTime",
10124
- default: "",
10125
- description: "Replay events whose delivery attempt failed at or before this timestamp, on the same attempt-time bound as `since`. Omitted, it resolves to the time of the request.",
10126
- },
10127
- ],
10128
- },
10129
10136
  {
10130
10137
  displayName: "Message",
10131
10138
  name: "message_id",
@@ -22,7 +22,7 @@ exports.birdRoutes = {
22
22
  "email:stats_by_client": { method: "GET", path: "/v1/email/stats/clients", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["starting_after", "ending_before", "from", "to", "timezone", "category", "group_by", "sort", "limit"], body: [], jsonFields: [], structured: {}, renames: { "max_results": "limit" }, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["emails"] },
23
23
  "email:stats_by_bounce_code": { method: "GET", path: "/v1/email/stats/bounce-codes", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["starting_after", "ending_before", "from", "to", "timezone", "category", "sort", "limit"], body: [], jsonFields: [], structured: {}, renames: { "max_results": "limit" }, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["emails"] },
24
24
  "email:stats_by_complaint_type": { method: "GET", path: "/v1/email/stats/complaint-types", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["starting_after", "ending_before", "from", "to", "timezone", "category", "sort", "limit"], body: [], jsonFields: [], structured: {}, renames: { "max_results": "limit" }, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["emails"] },
25
- "email:stats_by_broadcast": { method: "GET", path: "/v1/email/stats/broadcasts", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["starting_after", "ending_before", "from", "to", "category", "sort", "limit"], body: [], jsonFields: [], structured: {}, renames: { "max_results": "limit" }, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["email_marketing"] },
25
+ "email:stats_by_broadcast": { method: "GET", path: "/v1/email/stats/broadcasts", pathParams: [], topLevel: [], collections: ["additionalFields", "sort"], query: ["starting_after", "ending_before", "from", "to", "timezone", "category", "sort", "limit"], body: [], jsonFields: [], structured: {}, renames: { "max_results": "limit" }, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["email_marketing"] },
26
26
  "email:templates_list": { method: "GET", path: "/v1/email/templates", pathParams: [], topLevel: [], collections: ["additionalFields"], query: ["scope", "category", "source", "theme", "q", "limit", "starting_after", "ending_before"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["email_management"] },
27
27
  "sms:send": { method: "POST", path: "/v1/sms/messages", pathParams: [], topLevel: ["to"], collections: ["additionalFields"], query: [], body: ["to", "from", "text", "category", "tags", "metadata", "options", "template"], jsonFields: [], structured: { "tags": "list", "metadata": "map", "options": "struct", "template": "struct" }, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["sms"] },
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"] },
@@ -101,6 +101,7 @@ exports.birdRoutes = {
101
101
  "webhooks:test": { method: "POST", path: "/v1/webhooks/{webhook_id}/test", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["additionalFields"], query: [], body: ["event_type"], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["webhooks"] },
102
102
  "webhooks:delete": { method: "DELETE", path: "/v1/webhooks/{webhook_id}", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["webhooks"] },
103
103
  "webhooks:attempts": { method: "GET", path: "/v1/webhooks/{webhook_id}/attempts", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["additionalFields"], query: ["limit", "before", "after"], body: [], jsonFields: [], structured: {}, renames: { "max_results": "limit" }, arrayFields: [], dateTimeFields: ["before", "after"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["webhooks"] },
104
+ "webhooks:replay": { method: "POST", path: "/v1/webhooks/{webhook_id}/replay", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["additionalFields"], query: [], body: ["since", "until"], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: ["since", "until"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["webhooks"] },
104
105
  "webhooks:rotate_secret": { method: "POST", path: "/v1/webhooks/{webhook_id}/rotate-secret", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["webhooks"] },
105
106
  "webhooks:update": { method: "PATCH", path: "/v1/webhooks/{webhook_id}", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["updateFields"], query: [], body: ["url", "description", "events", "status"], jsonFields: [], structured: {}, renames: {}, arrayFields: ["events"], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["webhooks"] },
106
107
  "workspace:get": { method: "GET", path: "/v1/workspace", pathParams: [], topLevel: [], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: false, scopes: ["workspace"] },
@@ -165,7 +166,6 @@ exports.birdRoutes = {
165
166
  "realtime:apps_keys_create": { method: "POST", path: "/v1/realtime/apps/{realtime_app_id}/keys", pathParams: ["realtime_app_id"], topLevel: ["realtime_app_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["realtime"] },
166
167
  "realtime:apps_keys_revoke": { method: "POST", path: "/v1/realtime/apps/{realtime_app_id}/keys/{realtime_app_key_id}/revoke", pathParams: ["realtime_app_id", "realtime_app_key_id"], topLevel: ["realtime_app_id", "realtime_app_key_id"], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["realtime"] },
167
168
  "realtime:regions_list": { method: "GET", path: "/v1/realtime/regions", pathParams: [], topLevel: [], collections: ["additionalFields"], query: [], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: true, idempotencyHeader: false, scopes: ["realtime"] },
168
- "webhooks:replay": { method: "POST", path: "/v1/webhooks/{webhook_id}/replay", pathParams: ["webhook_id"], topLevel: ["webhook_id"], collections: ["additionalFields"], query: [], body: ["since", "until"], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: ["since", "until"], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: false, collection: false, idempotencyHeader: true, scopes: ["webhooks"] },
169
169
  "email:list_events": { method: "GET", path: "/v1/email/messages/{message_id}/events", pathParams: ["message_id"], topLevel: ["message_id"], collections: ["additionalFields"], query: ["limit", "starting_after", "ending_before", "type"], body: [], jsonFields: [], structured: {}, renames: {}, arrayFields: [], dateTimeFields: [], nullableFields: [], binaryFields: [], rawBodyField: "", paginated: true, collection: true, idempotencyHeader: false, scopes: ["emails"] },
170
170
  "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"] },
171
171
  "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"] },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messagebird/n8n-nodes-bird",
3
- "version": "0.14.0",
3
+ "version": "0.16.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": {