@unboundcx/sdk 2.6.13 → 2.6.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unboundcx/sdk",
3
- "version": "2.6.13",
3
+ "version": "2.6.14",
4
4
  "description": "Official JavaScript SDK for the Unbound API - A comprehensive toolkit for integrating with Unbound's communication, AI, and data management services",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -799,11 +799,30 @@ export class TollFreeCampaignsService {
799
799
  return result;
800
800
  }
801
801
 
802
- async list() {
803
- const result = await this.sdk._fetch(
804
- '/messaging/campaigns/tollfree',
805
- 'GET',
806
- );
802
+ /**
803
+ * List all toll-free campaigns with optional filtering
804
+ * @param {Object} [params] - Filter parameters
805
+ * @param {number} [params.page=1] - Page number
806
+ * @param {number} [params.limit=50] - Items per page
807
+ * @param {string} [params.name] - Filter by campaign name
808
+ * @param {string} [params.status] - Filter by status
809
+ * @param {string} [params.operatorType='contains'] - Filter operator: contains, equals, startsWith, endsWith
810
+ * @returns {Promise<Array>} List of campaigns
811
+ */
812
+ async list({ page, limit, name, status, operatorType } = {}) {
813
+ const queryParams = new URLSearchParams();
814
+
815
+ if (page !== undefined) queryParams.append('page', page);
816
+ if (limit !== undefined) queryParams.append('limit', limit);
817
+ if (name) queryParams.append('name', name);
818
+ if (status) queryParams.append('status', status);
819
+ if (operatorType) queryParams.append('operatorType', operatorType);
820
+
821
+ const url = queryParams.toString()
822
+ ? `/messaging/campaigns/tollfree?${queryParams.toString()}`
823
+ : '/messaging/campaigns/tollfree';
824
+
825
+ const result = await this.sdk._fetch(url, 'GET');
807
826
  return result;
808
827
  }
809
828
 
@@ -876,13 +895,29 @@ export class TenDlcBrandsService {
876
895
  }
877
896
 
878
897
  /**
879
- * List all 10DLC brands
898
+ * List all 10DLC brands with optional filtering
899
+ * @param {Object} [params] - Filter parameters
900
+ * @param {number} [params.page=1] - Page number
901
+ * @param {number} [params.limit=50] - Items per page
902
+ * @param {string} [params.name] - Filter by brand name
903
+ * @param {string} [params.status] - Filter by status
904
+ * @param {string} [params.operatorType='contains'] - Filter operator: contains, equals, startsWith, endsWith
905
+ * @returns {Promise<Array>} List of brands
880
906
  */
881
- async list() {
882
- const result = await this.sdk._fetch(
883
- '/messaging/campaigns/10dlc/brand',
884
- 'GET',
885
- );
907
+ async list({ page, limit, name, status, operatorType } = {}) {
908
+ const queryParams = new URLSearchParams();
909
+
910
+ if (page !== undefined) queryParams.append('page', page);
911
+ if (limit !== undefined) queryParams.append('limit', limit);
912
+ if (name) queryParams.append('name', name);
913
+ if (status) queryParams.append('status', status);
914
+ if (operatorType) queryParams.append('operatorType', operatorType);
915
+
916
+ const url = queryParams.toString()
917
+ ? `/messaging/campaigns/10dlc/brand?${queryParams.toString()}`
918
+ : '/messaging/campaigns/10dlc/brand';
919
+
920
+ const result = await this.sdk._fetch(url, 'GET');
886
921
  return result;
887
922
  }
888
923
 
@@ -1088,6 +1123,26 @@ export class TenDlcBrandsService {
1088
1123
  );
1089
1124
  return result;
1090
1125
  }
1126
+
1127
+ /**
1128
+ * Resend two-factor authentication email for PUBLIC_PROFIT brands
1129
+ * @param {string} brandId - Brand ID to resend 2FA for
1130
+ * @returns {Promise<Object>} Success message and details
1131
+ */
1132
+ async resend2fa(brandId) {
1133
+ this.sdk.validateParams(
1134
+ { brandId },
1135
+ {
1136
+ brandId: { type: 'string', required: true },
1137
+ },
1138
+ );
1139
+
1140
+ const result = await this.sdk._fetch(
1141
+ `/messaging/campaigns/10dlc/brand/${brandId}/resend-2fa`,
1142
+ 'POST',
1143
+ );
1144
+ return result;
1145
+ }
1091
1146
  }
1092
1147
 
1093
1148
  export class TenDlcCampaignManagementService {
@@ -1096,13 +1151,29 @@ export class TenDlcCampaignManagementService {
1096
1151
  }
1097
1152
 
1098
1153
  /**
1099
- * List all 10DLC campaigns
1154
+ * List all 10DLC campaigns with optional filtering
1155
+ * @param {Object} [params] - Filter parameters
1156
+ * @param {number} [params.page=1] - Page number
1157
+ * @param {number} [params.limit=50] - Items per page
1158
+ * @param {string} [params.name] - Filter by campaign name
1159
+ * @param {string} [params.status] - Filter by status
1160
+ * @param {string} [params.operatorType='contains'] - Filter operator: contains, equals, startsWith, endsWith
1161
+ * @returns {Promise<Array>} List of campaigns
1100
1162
  */
1101
- async list() {
1102
- const result = await this.sdk._fetch(
1103
- '/messaging/campaigns/10dlc/campaign',
1104
- 'GET',
1105
- );
1163
+ async list({ page, limit, name, status, operatorType } = {}) {
1164
+ const queryParams = new URLSearchParams();
1165
+
1166
+ if (page !== undefined) queryParams.append('page', page);
1167
+ if (limit !== undefined) queryParams.append('limit', limit);
1168
+ if (name) queryParams.append('name', name);
1169
+ if (status) queryParams.append('status', status);
1170
+ if (operatorType) queryParams.append('operatorType', operatorType);
1171
+
1172
+ const url = queryParams.toString()
1173
+ ? `/messaging/campaigns/10dlc/campaign?${queryParams.toString()}`
1174
+ : '/messaging/campaigns/10dlc/campaign';
1175
+
1176
+ const result = await this.sdk._fetch(url, 'GET');
1106
1177
  return result;
1107
1178
  }
1108
1179