@zernio/node 0.2.1009 → 0.2.1011

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/dist/index.d.mts CHANGED
@@ -19711,6 +19711,32 @@ type GetConnectUrlData = {
19711
19711
  *
19712
19712
  */
19713
19713
  redirect_url?: string;
19714
+ /**
19715
+ * Comma-separated permission areas to request instead of the platform's full permission set. Values: `posting`, `analytics`, `comments`, `messaging`, `ads`. Omit it (the default, and what the dashboard does) to request everything the platform supports.
19716
+ *
19717
+ * When present, the consent dialog asks only for the platform scopes behind those areas plus the scopes every connection needs (identity, token refresh, and listing the pages, organizations or channels the user picks from). Scopes the user was never asked for are absent from the account's `permissions`, and the health endpoints report them as not granted, so a `posting`-only account cannot read analytics or the inbox until it is connected again with more areas. First comments need `comments`: a `posting`-only account publishes the post and skips the first comment. Scopes the platform lists under none of the areas (X likes, bookmarks and follows, Pinterest ads-only extras) are requested only when the parameter is omitted.
19718
+ *
19719
+ * Supported on facebook, instagram (both login methods), linkedin, twitter, tiktok, youtube, threads, reddit, pinterest, googlebusiness and slack (via `GET /v1/connect/slack`). Rejected with 400 `INVALID_FIELD_VALUE` (`param: scopes`) on bluesky, telegram, discord, snapchat and whatsapp, whose dialog cannot be reduced, and for an empty list or an unknown area.
19720
+ *
19721
+ * What each area asks for, per platform (Google scopes shortened to their last path segment):
19722
+ *
19723
+ * | Platform | `posting` | `analytics` | `comments` | `messaging` | `ads` | Always requested |
19724
+ * |---|---|---|---|---|---|---|
19725
+ * | facebook | `pages_manage_posts` | `read_insights`, `pages_read_user_content` | `pages_manage_engagement`, `pages_read_user_content` | (in the always-requested set) | `ads_management`, `ads_read`, `leads_retrieval`, `pages_manage_ads`, `instagram_basic`, `business_management` | `pages_show_list`, `pages_read_engagement`, `pages_manage_metadata`, `pages_messaging` |
19726
+ * | instagram (Instagram Login) | `instagram_business_content_publish` | `instagram_business_manage_insights` | `instagram_business_manage_comments` | `instagram_business_manage_messages` | none | `instagram_business_basic` |
19727
+ * | instagram (`loginMethod=facebook_login`) | `instagram_content_publish` | `instagram_manage_insights` | `instagram_manage_comments` | `instagram_manage_messages` | `ads_management`, `ads_read`, `leads_retrieval`, `pages_manage_ads` | `instagram_basic`, `pages_show_list`, `pages_read_engagement`, `business_management`, `pages_messaging`, `pages_manage_metadata` |
19728
+ * | linkedin | `w_member_social`, `w_organization_social`, `r_organization_social`, `r_organization_followers` | `r_member_postAnalytics`, `r_member_profileAnalytics`, `rw_organization_admin`, `r_organization_social`, `r_organization_followers` | `w_member_social`, `w_member_social_feed`, `w_organization_social`, `w_organization_social_feed`, `r_organization_social`, `r_organization_social_feed` | none | `r_ads`, `rw_ads`, `r_ads_reporting`, `r_marketing_leadgen_automation`, `rw_conversions` | `openid`, `profile`, `email`, `r_basicprofile`, `rw_organization_admin` |
19729
+ * | twitter | `tweet.write`, `media.write` | (in the always-requested set) | `tweet.write`, `like.write`, `tweet.moderate.write` | `dm.read`, `dm.write`, `media.write` | none | `tweet.read`, `users.read`, `offline.access` |
19730
+ * | tiktok | `video.publish` | `user.info.stats`, `user.insights`, `video.list`, `video.insights` | `comment.list`, `comment.list.manage`, `video.list` | `message.list.read`, `message.list.send`, `message.list.manage` | none | `user.info.basic`, `user.info.username`, `user.info.profile`, `user.account.type`, `video.publish`, `video.upload`, `video.list` |
19731
+ * | youtube | `youtube.upload` | `yt-analytics.readonly` | `youtube.force-ssl` | none | none | `youtube` |
19732
+ * | threads | `threads_content_publish`, `threads_manage_replies`, `threads_delete` | `threads_manage_insights` | `threads_content_publish`, `threads_read_replies`, `threads_manage_replies`, `threads_delete` | none | none | `threads_basic` |
19733
+ * | reddit | `submit`, `read`, `mysubreddits`, `flair`, `history`, `edit` | `read`, `history` | `read`, `history`, `edit`, `vote` | `privatemessages` | none | `identity` |
19734
+ * | pinterest | `boards:write`, `pins:read`, `pins:write` | `pins:read`, `user_accounts:read` | none | none | `ads:read`, `ads:write`, `boards:write`, `pins:read`, `pins:write` | `boards:read`, `user_accounts:read` |
19735
+ * | googlebusiness | `business.manage` | `business.manage` | `business.manage` | none | none | `business.manage`, `userinfo.profile`, `userinfo.email` |
19736
+ * | slack | `chat:write`, `chat:write.public`, `chat:write.customize`, `files:write`, `files:read` | none | none | `chat:write`, `chat:write.customize`, `files:write`, `files:read`, `channels:history`, `groups:history`, `im:history`, `mpim:history`, `im:read`, `im:write`, `mpim:read`, `users:read`, `reactions:read`, `reactions:write` | none | `channels:join`, `channels:read`, `groups:read`, `team:read` |
19737
+ *
19738
+ */
19739
+ scopes?: string;
19714
19740
  /**
19715
19741
  * WhatsApp only. Rejected with 400 `INVALID_FIELD_VALUE` on any other platform.
19716
19742
  *
@@ -22136,7 +22162,7 @@ type SelectLinkedInOrganizationResponse = ({
22136
22162
  });
22137
22163
  type SelectLinkedInOrganizationError = (unknown | {
22138
22164
  error?: string;
22139
- });
22165
+ } | ErrorResponse);
22140
22166
  type ListPinterestBoardsForSelectionData = {
22141
22167
  headers: {
22142
22168
  /**
@@ -22896,6 +22922,10 @@ type ListSlackChannelsData = {
22896
22922
  * Start-OAuth mode only: where to send the user after the connect completes. `redirectUrl` is accepted as an alias.
22897
22923
  */
22898
22924
  redirect_url?: string;
22925
+ /**
22926
+ * Start-OAuth mode only. Comma-separated permission areas to request instead of the full Slack scope set, with the same semantics as `scopes` on `GET /v1/connect/{platform}`: `posting` installs the bot with the channel scopes it needs to post, `messaging` adds the history, DM and reaction scopes the inbox reads; `analytics`, `comments` and `ads` add nothing on Slack. Omit it to request everything.
22927
+ */
22928
+ scopes?: string;
22899
22929
  };
22900
22930
  };
22901
22931
  type ListSlackChannelsResponse = (({
@@ -32767,6 +32797,14 @@ type CheckPhoneNumberAvailabilityResponse = ({
32767
32797
  * Numbers we can sell there: the carrier count minus the numbers we hold back (WhatsApp refused them or another order holds them).
32768
32798
  */
32769
32799
  count?: number;
32800
+ /**
32801
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32802
+ */
32803
+ ndcs?: Array<(string)>;
32804
+ /**
32805
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32806
+ */
32807
+ aliases?: Array<(string)>;
32770
32808
  }>;
32771
32809
  /**
32772
32810
  * The carrier lists nothing there and the number type is a document tier: submit KYC with `areaCode` and `preOrder: true`, the carrier sources one (usually 2 to 4 weeks, never guaranteed), nothing is billed until it is active.
@@ -32774,6 +32812,14 @@ type CheckPhoneNumberAvailabilityResponse = ({
32774
32812
  preOrder?: Array<{
32775
32813
  ndc?: string;
32776
32814
  name?: string;
32815
+ /**
32816
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32817
+ */
32818
+ ndcs?: Array<(string)>;
32819
+ /**
32820
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32821
+ */
32822
+ aliases?: Array<(string)>;
32777
32823
  }>;
32778
32824
  /**
32779
32825
  * Nothing deliverable and no pre-order: `listed` > 0 is stock the carrier shows that WhatsApp refused recently (held back until it clears), 0 is a dry area of an instant tier. A stock watch (POST /v1/phone-numbers/stock-watches with `areaCode`) is the way to hear when it is back.
@@ -32782,6 +32828,14 @@ type CheckPhoneNumberAvailabilityResponse = ({
32782
32828
  ndc?: string;
32783
32829
  name?: string;
32784
32830
  listed?: number;
32831
+ /**
32832
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32833
+ */
32834
+ ndcs?: Array<(string)>;
32835
+ /**
32836
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32837
+ */
32838
+ aliases?: Array<(string)>;
32785
32839
  }>;
32786
32840
  };
32787
32841
  });
@@ -33069,6 +33123,14 @@ type CheckWhatsAppNumberAvailabilityResponse = ({
33069
33123
  * Numbers we can sell there: the carrier count minus the numbers we hold back (WhatsApp refused them or another order holds them).
33070
33124
  */
33071
33125
  count?: number;
33126
+ /**
33127
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33128
+ */
33129
+ ndcs?: Array<(string)>;
33130
+ /**
33131
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33132
+ */
33133
+ aliases?: Array<(string)>;
33072
33134
  }>;
33073
33135
  /**
33074
33136
  * The carrier lists nothing there and the number type is a document tier: submit KYC with `areaCode` and `preOrder: true`, the carrier sources one (usually 2 to 4 weeks, never guaranteed), nothing is billed until it is active.
@@ -33076,6 +33138,14 @@ type CheckWhatsAppNumberAvailabilityResponse = ({
33076
33138
  preOrder?: Array<{
33077
33139
  ndc?: string;
33078
33140
  name?: string;
33141
+ /**
33142
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33143
+ */
33144
+ ndcs?: Array<(string)>;
33145
+ /**
33146
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33147
+ */
33148
+ aliases?: Array<(string)>;
33079
33149
  }>;
33080
33150
  /**
33081
33151
  * Nothing deliverable and no pre-order: `listed` > 0 is stock the carrier shows that WhatsApp refused recently (held back until it clears), 0 is a dry area of an instant tier. A stock watch (POST /v1/phone-numbers/stock-watches with `areaCode`) is the way to hear when it is back.
@@ -33084,6 +33154,14 @@ type CheckWhatsAppNumberAvailabilityResponse = ({
33084
33154
  ndc?: string;
33085
33155
  name?: string;
33086
33156
  listed?: number;
33157
+ /**
33158
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33159
+ */
33160
+ ndcs?: Array<(string)>;
33161
+ /**
33162
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33163
+ */
33164
+ aliases?: Array<(string)>;
33087
33165
  }>;
33088
33166
  };
33089
33167
  });
package/dist/index.d.ts CHANGED
@@ -19711,6 +19711,32 @@ type GetConnectUrlData = {
19711
19711
  *
19712
19712
  */
19713
19713
  redirect_url?: string;
19714
+ /**
19715
+ * Comma-separated permission areas to request instead of the platform's full permission set. Values: `posting`, `analytics`, `comments`, `messaging`, `ads`. Omit it (the default, and what the dashboard does) to request everything the platform supports.
19716
+ *
19717
+ * When present, the consent dialog asks only for the platform scopes behind those areas plus the scopes every connection needs (identity, token refresh, and listing the pages, organizations or channels the user picks from). Scopes the user was never asked for are absent from the account's `permissions`, and the health endpoints report them as not granted, so a `posting`-only account cannot read analytics or the inbox until it is connected again with more areas. First comments need `comments`: a `posting`-only account publishes the post and skips the first comment. Scopes the platform lists under none of the areas (X likes, bookmarks and follows, Pinterest ads-only extras) are requested only when the parameter is omitted.
19718
+ *
19719
+ * Supported on facebook, instagram (both login methods), linkedin, twitter, tiktok, youtube, threads, reddit, pinterest, googlebusiness and slack (via `GET /v1/connect/slack`). Rejected with 400 `INVALID_FIELD_VALUE` (`param: scopes`) on bluesky, telegram, discord, snapchat and whatsapp, whose dialog cannot be reduced, and for an empty list or an unknown area.
19720
+ *
19721
+ * What each area asks for, per platform (Google scopes shortened to their last path segment):
19722
+ *
19723
+ * | Platform | `posting` | `analytics` | `comments` | `messaging` | `ads` | Always requested |
19724
+ * |---|---|---|---|---|---|---|
19725
+ * | facebook | `pages_manage_posts` | `read_insights`, `pages_read_user_content` | `pages_manage_engagement`, `pages_read_user_content` | (in the always-requested set) | `ads_management`, `ads_read`, `leads_retrieval`, `pages_manage_ads`, `instagram_basic`, `business_management` | `pages_show_list`, `pages_read_engagement`, `pages_manage_metadata`, `pages_messaging` |
19726
+ * | instagram (Instagram Login) | `instagram_business_content_publish` | `instagram_business_manage_insights` | `instagram_business_manage_comments` | `instagram_business_manage_messages` | none | `instagram_business_basic` |
19727
+ * | instagram (`loginMethod=facebook_login`) | `instagram_content_publish` | `instagram_manage_insights` | `instagram_manage_comments` | `instagram_manage_messages` | `ads_management`, `ads_read`, `leads_retrieval`, `pages_manage_ads` | `instagram_basic`, `pages_show_list`, `pages_read_engagement`, `business_management`, `pages_messaging`, `pages_manage_metadata` |
19728
+ * | linkedin | `w_member_social`, `w_organization_social`, `r_organization_social`, `r_organization_followers` | `r_member_postAnalytics`, `r_member_profileAnalytics`, `rw_organization_admin`, `r_organization_social`, `r_organization_followers` | `w_member_social`, `w_member_social_feed`, `w_organization_social`, `w_organization_social_feed`, `r_organization_social`, `r_organization_social_feed` | none | `r_ads`, `rw_ads`, `r_ads_reporting`, `r_marketing_leadgen_automation`, `rw_conversions` | `openid`, `profile`, `email`, `r_basicprofile`, `rw_organization_admin` |
19729
+ * | twitter | `tweet.write`, `media.write` | (in the always-requested set) | `tweet.write`, `like.write`, `tweet.moderate.write` | `dm.read`, `dm.write`, `media.write` | none | `tweet.read`, `users.read`, `offline.access` |
19730
+ * | tiktok | `video.publish` | `user.info.stats`, `user.insights`, `video.list`, `video.insights` | `comment.list`, `comment.list.manage`, `video.list` | `message.list.read`, `message.list.send`, `message.list.manage` | none | `user.info.basic`, `user.info.username`, `user.info.profile`, `user.account.type`, `video.publish`, `video.upload`, `video.list` |
19731
+ * | youtube | `youtube.upload` | `yt-analytics.readonly` | `youtube.force-ssl` | none | none | `youtube` |
19732
+ * | threads | `threads_content_publish`, `threads_manage_replies`, `threads_delete` | `threads_manage_insights` | `threads_content_publish`, `threads_read_replies`, `threads_manage_replies`, `threads_delete` | none | none | `threads_basic` |
19733
+ * | reddit | `submit`, `read`, `mysubreddits`, `flair`, `history`, `edit` | `read`, `history` | `read`, `history`, `edit`, `vote` | `privatemessages` | none | `identity` |
19734
+ * | pinterest | `boards:write`, `pins:read`, `pins:write` | `pins:read`, `user_accounts:read` | none | none | `ads:read`, `ads:write`, `boards:write`, `pins:read`, `pins:write` | `boards:read`, `user_accounts:read` |
19735
+ * | googlebusiness | `business.manage` | `business.manage` | `business.manage` | none | none | `business.manage`, `userinfo.profile`, `userinfo.email` |
19736
+ * | slack | `chat:write`, `chat:write.public`, `chat:write.customize`, `files:write`, `files:read` | none | none | `chat:write`, `chat:write.customize`, `files:write`, `files:read`, `channels:history`, `groups:history`, `im:history`, `mpim:history`, `im:read`, `im:write`, `mpim:read`, `users:read`, `reactions:read`, `reactions:write` | none | `channels:join`, `channels:read`, `groups:read`, `team:read` |
19737
+ *
19738
+ */
19739
+ scopes?: string;
19714
19740
  /**
19715
19741
  * WhatsApp only. Rejected with 400 `INVALID_FIELD_VALUE` on any other platform.
19716
19742
  *
@@ -22136,7 +22162,7 @@ type SelectLinkedInOrganizationResponse = ({
22136
22162
  });
22137
22163
  type SelectLinkedInOrganizationError = (unknown | {
22138
22164
  error?: string;
22139
- });
22165
+ } | ErrorResponse);
22140
22166
  type ListPinterestBoardsForSelectionData = {
22141
22167
  headers: {
22142
22168
  /**
@@ -22896,6 +22922,10 @@ type ListSlackChannelsData = {
22896
22922
  * Start-OAuth mode only: where to send the user after the connect completes. `redirectUrl` is accepted as an alias.
22897
22923
  */
22898
22924
  redirect_url?: string;
22925
+ /**
22926
+ * Start-OAuth mode only. Comma-separated permission areas to request instead of the full Slack scope set, with the same semantics as `scopes` on `GET /v1/connect/{platform}`: `posting` installs the bot with the channel scopes it needs to post, `messaging` adds the history, DM and reaction scopes the inbox reads; `analytics`, `comments` and `ads` add nothing on Slack. Omit it to request everything.
22927
+ */
22928
+ scopes?: string;
22899
22929
  };
22900
22930
  };
22901
22931
  type ListSlackChannelsResponse = (({
@@ -32767,6 +32797,14 @@ type CheckPhoneNumberAvailabilityResponse = ({
32767
32797
  * Numbers we can sell there: the carrier count minus the numbers we hold back (WhatsApp refused them or another order holds them).
32768
32798
  */
32769
32799
  count?: number;
32800
+ /**
32801
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32802
+ */
32803
+ ndcs?: Array<(string)>;
32804
+ /**
32805
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32806
+ */
32807
+ aliases?: Array<(string)>;
32770
32808
  }>;
32771
32809
  /**
32772
32810
  * The carrier lists nothing there and the number type is a document tier: submit KYC with `areaCode` and `preOrder: true`, the carrier sources one (usually 2 to 4 weeks, never guaranteed), nothing is billed until it is active.
@@ -32774,6 +32812,14 @@ type CheckPhoneNumberAvailabilityResponse = ({
32774
32812
  preOrder?: Array<{
32775
32813
  ndc?: string;
32776
32814
  name?: string;
32815
+ /**
32816
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32817
+ */
32818
+ ndcs?: Array<(string)>;
32819
+ /**
32820
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32821
+ */
32822
+ aliases?: Array<(string)>;
32777
32823
  }>;
32778
32824
  /**
32779
32825
  * Nothing deliverable and no pre-order: `listed` > 0 is stock the carrier shows that WhatsApp refused recently (held back until it clears), 0 is a dry area of an instant tier. A stock watch (POST /v1/phone-numbers/stock-watches with `areaCode`) is the way to hear when it is back.
@@ -32782,6 +32828,14 @@ type CheckPhoneNumberAvailabilityResponse = ({
32782
32828
  ndc?: string;
32783
32829
  name?: string;
32784
32830
  listed?: number;
32831
+ /**
32832
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32833
+ */
32834
+ ndcs?: Array<(string)>;
32835
+ /**
32836
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32837
+ */
32838
+ aliases?: Array<(string)>;
32785
32839
  }>;
32786
32840
  };
32787
32841
  });
@@ -33069,6 +33123,14 @@ type CheckWhatsAppNumberAvailabilityResponse = ({
33069
33123
  * Numbers we can sell there: the carrier count minus the numbers we hold back (WhatsApp refused them or another order holds them).
33070
33124
  */
33071
33125
  count?: number;
33126
+ /**
33127
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33128
+ */
33129
+ ndcs?: Array<(string)>;
33130
+ /**
33131
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33132
+ */
33133
+ aliases?: Array<(string)>;
33072
33134
  }>;
33073
33135
  /**
33074
33136
  * The carrier lists nothing there and the number type is a document tier: submit KYC with `areaCode` and `preOrder: true`, the carrier sources one (usually 2 to 4 weeks, never guaranteed), nothing is billed until it is active.
@@ -33076,6 +33138,14 @@ type CheckWhatsAppNumberAvailabilityResponse = ({
33076
33138
  preOrder?: Array<{
33077
33139
  ndc?: string;
33078
33140
  name?: string;
33141
+ /**
33142
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33143
+ */
33144
+ ndcs?: Array<(string)>;
33145
+ /**
33146
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33147
+ */
33148
+ aliases?: Array<(string)>;
33079
33149
  }>;
33080
33150
  /**
33081
33151
  * Nothing deliverable and no pre-order: `listed` > 0 is stock the carrier shows that WhatsApp refused recently (held back until it clears), 0 is a dry area of an instant tier. A stock watch (POST /v1/phone-numbers/stock-watches with `areaCode`) is the way to hear when it is back.
@@ -33084,6 +33154,14 @@ type CheckWhatsAppNumberAvailabilityResponse = ({
33084
33154
  ndc?: string;
33085
33155
  name?: string;
33086
33156
  listed?: number;
33157
+ /**
33158
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33159
+ */
33160
+ ndcs?: Array<(string)>;
33161
+ /**
33162
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33163
+ */
33164
+ aliases?: Array<(string)>;
33087
33165
  }>;
33088
33166
  };
33089
33167
  });
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
36
36
  // package.json
37
37
  var package_default = {
38
38
  name: "@zernio/node",
39
- version: "0.2.1009",
39
+ version: "0.2.1011",
40
40
  description: "The official Node.js library for the Zernio API",
41
41
  main: "dist/index.js",
42
42
  module: "dist/index.mjs",
package/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5
5
  // package.json
6
6
  var package_default = {
7
7
  name: "@zernio/node",
8
- version: "0.2.1009",
8
+ version: "0.2.1011",
9
9
  description: "The official Node.js library for the Zernio API",
10
10
  main: "dist/index.js",
11
11
  module: "dist/index.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zernio/node",
3
- "version": "0.2.1009",
3
+ "version": "0.2.1011",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -18623,6 +18623,32 @@ export type GetConnectUrlData = {
18623
18623
  *
18624
18624
  */
18625
18625
  redirect_url?: string;
18626
+ /**
18627
+ * Comma-separated permission areas to request instead of the platform's full permission set. Values: `posting`, `analytics`, `comments`, `messaging`, `ads`. Omit it (the default, and what the dashboard does) to request everything the platform supports.
18628
+ *
18629
+ * When present, the consent dialog asks only for the platform scopes behind those areas plus the scopes every connection needs (identity, token refresh, and listing the pages, organizations or channels the user picks from). Scopes the user was never asked for are absent from the account's `permissions`, and the health endpoints report them as not granted, so a `posting`-only account cannot read analytics or the inbox until it is connected again with more areas. First comments need `comments`: a `posting`-only account publishes the post and skips the first comment. Scopes the platform lists under none of the areas (X likes, bookmarks and follows, Pinterest ads-only extras) are requested only when the parameter is omitted.
18630
+ *
18631
+ * Supported on facebook, instagram (both login methods), linkedin, twitter, tiktok, youtube, threads, reddit, pinterest, googlebusiness and slack (via `GET /v1/connect/slack`). Rejected with 400 `INVALID_FIELD_VALUE` (`param: scopes`) on bluesky, telegram, discord, snapchat and whatsapp, whose dialog cannot be reduced, and for an empty list or an unknown area.
18632
+ *
18633
+ * What each area asks for, per platform (Google scopes shortened to their last path segment):
18634
+ *
18635
+ * | Platform | `posting` | `analytics` | `comments` | `messaging` | `ads` | Always requested |
18636
+ * |---|---|---|---|---|---|---|
18637
+ * | facebook | `pages_manage_posts` | `read_insights`, `pages_read_user_content` | `pages_manage_engagement`, `pages_read_user_content` | (in the always-requested set) | `ads_management`, `ads_read`, `leads_retrieval`, `pages_manage_ads`, `instagram_basic`, `business_management` | `pages_show_list`, `pages_read_engagement`, `pages_manage_metadata`, `pages_messaging` |
18638
+ * | instagram (Instagram Login) | `instagram_business_content_publish` | `instagram_business_manage_insights` | `instagram_business_manage_comments` | `instagram_business_manage_messages` | none | `instagram_business_basic` |
18639
+ * | instagram (`loginMethod=facebook_login`) | `instagram_content_publish` | `instagram_manage_insights` | `instagram_manage_comments` | `instagram_manage_messages` | `ads_management`, `ads_read`, `leads_retrieval`, `pages_manage_ads` | `instagram_basic`, `pages_show_list`, `pages_read_engagement`, `business_management`, `pages_messaging`, `pages_manage_metadata` |
18640
+ * | linkedin | `w_member_social`, `w_organization_social`, `r_organization_social`, `r_organization_followers` | `r_member_postAnalytics`, `r_member_profileAnalytics`, `rw_organization_admin`, `r_organization_social`, `r_organization_followers` | `w_member_social`, `w_member_social_feed`, `w_organization_social`, `w_organization_social_feed`, `r_organization_social`, `r_organization_social_feed` | none | `r_ads`, `rw_ads`, `r_ads_reporting`, `r_marketing_leadgen_automation`, `rw_conversions` | `openid`, `profile`, `email`, `r_basicprofile`, `rw_organization_admin` |
18641
+ * | twitter | `tweet.write`, `media.write` | (in the always-requested set) | `tweet.write`, `like.write`, `tweet.moderate.write` | `dm.read`, `dm.write`, `media.write` | none | `tweet.read`, `users.read`, `offline.access` |
18642
+ * | tiktok | `video.publish` | `user.info.stats`, `user.insights`, `video.list`, `video.insights` | `comment.list`, `comment.list.manage`, `video.list` | `message.list.read`, `message.list.send`, `message.list.manage` | none | `user.info.basic`, `user.info.username`, `user.info.profile`, `user.account.type`, `video.publish`, `video.upload`, `video.list` |
18643
+ * | youtube | `youtube.upload` | `yt-analytics.readonly` | `youtube.force-ssl` | none | none | `youtube` |
18644
+ * | threads | `threads_content_publish`, `threads_manage_replies`, `threads_delete` | `threads_manage_insights` | `threads_content_publish`, `threads_read_replies`, `threads_manage_replies`, `threads_delete` | none | none | `threads_basic` |
18645
+ * | reddit | `submit`, `read`, `mysubreddits`, `flair`, `history`, `edit` | `read`, `history` | `read`, `history`, `edit`, `vote` | `privatemessages` | none | `identity` |
18646
+ * | pinterest | `boards:write`, `pins:read`, `pins:write` | `pins:read`, `user_accounts:read` | none | none | `ads:read`, `ads:write`, `boards:write`, `pins:read`, `pins:write` | `boards:read`, `user_accounts:read` |
18647
+ * | googlebusiness | `business.manage` | `business.manage` | `business.manage` | none | none | `business.manage`, `userinfo.profile`, `userinfo.email` |
18648
+ * | slack | `chat:write`, `chat:write.public`, `chat:write.customize`, `files:write`, `files:read` | none | none | `chat:write`, `chat:write.customize`, `files:write`, `files:read`, `channels:history`, `groups:history`, `im:history`, `mpim:history`, `im:read`, `im:write`, `mpim:read`, `users:read`, `reactions:read`, `reactions:write` | none | `channels:join`, `channels:read`, `groups:read`, `team:read` |
18649
+ *
18650
+ */
18651
+ scopes?: string;
18626
18652
  /**
18627
18653
  * WhatsApp only. Rejected with 400 `INVALID_FIELD_VALUE` on any other platform.
18628
18654
  *
@@ -21174,7 +21200,7 @@ export type SelectLinkedInOrganizationResponse = ({
21174
21200
 
21175
21201
  export type SelectLinkedInOrganizationError = (unknown | {
21176
21202
  error?: string;
21177
- });
21203
+ } | ErrorResponse);
21178
21204
 
21179
21205
  export type ListPinterestBoardsForSelectionData = {
21180
21206
  headers: {
@@ -21971,6 +21997,10 @@ export type ListSlackChannelsData = {
21971
21997
  * Start-OAuth mode only: where to send the user after the connect completes. `redirectUrl` is accepted as an alias.
21972
21998
  */
21973
21999
  redirect_url?: string;
22000
+ /**
22001
+ * Start-OAuth mode only. Comma-separated permission areas to request instead of the full Slack scope set, with the same semantics as `scopes` on `GET /v1/connect/{platform}`: `posting` installs the bot with the channel scopes it needs to post, `messaging` adds the history, DM and reaction scopes the inbox reads; `analytics`, `comments` and `ads` add nothing on Slack. Omit it to request everything.
22002
+ */
22003
+ scopes?: string;
21974
22004
  };
21975
22005
  };
21976
22006
 
@@ -32640,6 +32670,14 @@ export type CheckPhoneNumberAvailabilityResponse = ({
32640
32670
  * Numbers we can sell there: the carrier count minus the numbers we hold back (WhatsApp refused them or another order holds them).
32641
32671
  */
32642
32672
  count?: number;
32673
+ /**
32674
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32675
+ */
32676
+ ndcs?: Array<(string)>;
32677
+ /**
32678
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32679
+ */
32680
+ aliases?: Array<(string)>;
32643
32681
  }>;
32644
32682
  /**
32645
32683
  * The carrier lists nothing there and the number type is a document tier: submit KYC with `areaCode` and `preOrder: true`, the carrier sources one (usually 2 to 4 weeks, never guaranteed), nothing is billed until it is active.
@@ -32647,6 +32685,14 @@ export type CheckPhoneNumberAvailabilityResponse = ({
32647
32685
  preOrder?: Array<{
32648
32686
  ndc?: string;
32649
32687
  name?: string;
32688
+ /**
32689
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32690
+ */
32691
+ ndcs?: Array<(string)>;
32692
+ /**
32693
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32694
+ */
32695
+ aliases?: Array<(string)>;
32650
32696
  }>;
32651
32697
  /**
32652
32698
  * Nothing deliverable and no pre-order: `listed` > 0 is stock the carrier shows that WhatsApp refused recently (held back until it clears), 0 is a dry area of an instant tier. A stock watch (POST /v1/phone-numbers/stock-watches with `areaCode`) is the way to hear when it is back.
@@ -32655,6 +32701,14 @@ export type CheckPhoneNumberAvailabilityResponse = ({
32655
32701
  ndc?: string;
32656
32702
  name?: string;
32657
32703
  listed?: number;
32704
+ /**
32705
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
32706
+ */
32707
+ ndcs?: Array<(string)>;
32708
+ /**
32709
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
32710
+ */
32711
+ aliases?: Array<(string)>;
32658
32712
  }>;
32659
32713
  };
32660
32714
  });
@@ -32956,6 +33010,14 @@ export type CheckWhatsAppNumberAvailabilityResponse = ({
32956
33010
  * Numbers we can sell there: the carrier count minus the numbers we hold back (WhatsApp refused them or another order holds them).
32957
33011
  */
32958
33012
  count?: number;
33013
+ /**
33014
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33015
+ */
33016
+ ndcs?: Array<(string)>;
33017
+ /**
33018
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33019
+ */
33020
+ aliases?: Array<(string)>;
32959
33021
  }>;
32960
33022
  /**
32961
33023
  * The carrier lists nothing there and the number type is a document tier: submit KYC with `areaCode` and `preOrder: true`, the carrier sources one (usually 2 to 4 weeks, never guaranteed), nothing is billed until it is active.
@@ -32963,6 +33025,14 @@ export type CheckWhatsAppNumberAvailabilityResponse = ({
32963
33025
  preOrder?: Array<{
32964
33026
  ndc?: string;
32965
33027
  name?: string;
33028
+ /**
33029
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33030
+ */
33031
+ ndcs?: Array<(string)>;
33032
+ /**
33033
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33034
+ */
33035
+ aliases?: Array<(string)>;
32966
33036
  }>;
32967
33037
  /**
32968
33038
  * Nothing deliverable and no pre-order: `listed` > 0 is stock the carrier shows that WhatsApp refused recently (held back until it clears), 0 is a dry area of an instant tier. A stock watch (POST /v1/phone-numbers/stock-watches with `areaCode`) is the way to hear when it is back.
@@ -32971,6 +33041,14 @@ export type CheckWhatsAppNumberAvailabilityResponse = ({
32971
33041
  ndc?: string;
32972
33042
  name?: string;
32973
33043
  listed?: number;
33044
+ /**
33045
+ * Every area code of the city, deepest first (Madrid: 915, 911, 910, ...). `ndc` is the one an order is placed against.
33046
+ */
33047
+ ndcs?: Array<(string)>;
33048
+ /**
33049
+ * Other names the area answers to, present only when it has some (Milano for Milan, Sevilla for Seville).
33050
+ */
33051
+ aliases?: Array<(string)>;
32974
33052
  }>;
32975
33053
  };
32976
33054
  });