diff --git a/CHANGES.md b/CHANGES.md index 2b086397fc..8fbc485303 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,29 @@ twilio-node changelog ===================== +[2021-11-03] Version 3.71.0 +--------------------------- +**Library - Chore** +- [PR #703](/~https://github.com/twilio/twilio-node/pull/703): fix Docker image tag. Thanks to [@eshanholtz](/~https://github.com/eshanholtz)! +- [PR #702](/~https://github.com/twilio/twilio-node/pull/702): migrate from TravisCI to GitHub Actions. Thanks to [@eshanholtz](/~https://github.com/eshanholtz)! + +**Api** +- Updated `media_url` property to be treated as PII + +**Messaging** +- Added a new enum for brand registration status named DELETED **(breaking change)** +- Add a new K12_EDUCATION use case in us_app_to_person_usecase api transaction +- Added a new enum for brand registration status named IN_REVIEW + +**Serverless** +- Add node14 as a valid Build runtime + +**Verify** +- Fix typos in Verify Push Factor documentation for the `config.notification_token` parameter. +- Added `TemplateCustomSubstitutions` on verification creation +- Make `TemplateSid` parameter public for Verification resource and `DefaultTemplateSid` parameter public for Service resource. **(breaking change)** + + [2021-10-18] Version 3.70.0 --------------------------- **Library - Feature** diff --git a/lib/rest/messaging/v1/brandRegistration.d.ts b/lib/rest/messaging/v1/brandRegistration.d.ts index b89f104faf..da4b608925 100644 --- a/lib/rest/messaging/v1/brandRegistration.d.ts +++ b/lib/rest/messaging/v1/brandRegistration.d.ts @@ -16,7 +16,7 @@ type BrandRegistrationBrandFeedback = 'TAX_ID'|'STOCK_SYMBOL'|'NONPROFIT'|'GOVER type BrandRegistrationIdentityStatus = 'SELF_DECLARED'|'UNVERIFIED'|'VERIFIED'|'VETTED_VERIFIED'; -type BrandRegistrationStatus = 'PENDING'|'APPROVED'|'FAILED'; +type BrandRegistrationStatus = 'PENDING'|'APPROVED'|'FAILED'|'IN_REVIEW'|'DELETED'; /** * Initialize the BrandRegistrationList diff --git a/lib/rest/messaging/v1/brandRegistration.js b/lib/rest/messaging/v1/brandRegistration.js index a7e2c71c76..a330b74a01 100644 --- a/lib/rest/messaging/v1/brandRegistration.js +++ b/lib/rest/messaging/v1/brandRegistration.js @@ -482,7 +482,7 @@ BrandRegistrationPage.prototype[util.inspect.custom] = function inspect(depth, * @property {Date} dateUpdated - * The ISO 8601 date and time in GMT when the resource was last updated * @property {string} brandType - Type of brand. One of: "STANDARD", "STARTER". - * @property {brand_registration.status} status - Brand Registration status + * @property {brand_registration.status} status - Brand Registration status. * @property {string} tcrId - Campaign Registry (TCR) Brand ID * @property {string} failureReason - A reason why brand registration has failed * @property {string} url - The absolute URL of the Brand Registration diff --git a/lib/rest/serverless/v1/service/build.d.ts b/lib/rest/serverless/v1/service/build.d.ts index 464150e993..d22c34c6f2 100644 --- a/lib/rest/serverless/v1/service/build.d.ts +++ b/lib/rest/serverless/v1/service/build.d.ts @@ -12,7 +12,7 @@ import { BuildStatusList } from './build/buildStatus'; import { BuildStatusListInstance } from './build/buildStatus'; import { SerializableClass } from '../../../../interfaces'; -type BuildRuntime = 'node8'|'node10'|'node12'; +type BuildRuntime = 'node8'|'node10'|'node12'|'node14'; type BuildStatus = 'building'|'completed'|'failed'; diff --git a/lib/rest/verify/v2/service.d.ts b/lib/rest/verify/v2/service.d.ts index 483e3af651..0ad5606c59 100644 --- a/lib/rest/verify/v2/service.d.ts +++ b/lib/rest/verify/v2/service.d.ts @@ -36,6 +36,7 @@ declare function ServiceList(version: V2): ServiceListInstance; * * @property codeLength - The length of the verification code to generate * @property customCodeEnabled - Whether to allow sending verifications with a custom code. + * @property defaultTemplateSid - The verification template SMS messages. * @property doNotShareWarningEnabled - Whether to add a privacy warning at the end of an SMS. * @property dtmfInputRequired - Whether to ask the user to press a number before delivering the verify code in a phone call * @property friendlyName - A string to describe the verification service @@ -54,6 +55,7 @@ declare function ServiceList(version: V2): ServiceListInstance; interface ServiceInstanceUpdateOptions { codeLength?: number; customCodeEnabled?: boolean; + defaultTemplateSid?: string; doNotShareWarningEnabled?: boolean; dtmfInputRequired?: boolean; friendlyName?: string; @@ -199,6 +201,7 @@ interface ServiceListInstance { * * @property codeLength - The length of the verification code to generate * @property customCodeEnabled - Whether to allow sending verifications with a custom code. + * @property defaultTemplateSid - The verification template SMS messages. * @property doNotShareWarningEnabled - Whether to add a security warning at the end of an SMS. * @property dtmfInputRequired - Whether to ask the user to press a number before delivering the verify code in a phone call * @property friendlyName - A string to describe the verification service @@ -217,6 +220,7 @@ interface ServiceListInstance { interface ServiceListInstanceCreateOptions { codeLength?: number; customCodeEnabled?: boolean; + defaultTemplateSid?: string; doNotShareWarningEnabled?: boolean; dtmfInputRequired?: boolean; friendlyName: string; @@ -303,6 +307,7 @@ interface ServiceResource { custom_code_enabled: boolean; date_created: Date; date_updated: Date; + default_template_sid: string; do_not_share_warning_enabled: boolean; dtmf_input_required: boolean; friendly_name: string; @@ -389,6 +394,7 @@ declare class ServiceInstance extends SerializableClass { customCodeEnabled: boolean; dateCreated: Date; dateUpdated: Date; + defaultTemplateSid: string; doNotShareWarningEnabled: boolean; dtmfInputRequired: boolean; /** diff --git a/lib/rest/verify/v2/service.js b/lib/rest/verify/v2/service.js index 7a00476ac8..a3b5aa663a 100644 --- a/lib/rest/verify/v2/service.js +++ b/lib/rest/verify/v2/service.js @@ -99,6 +99,8 @@ ServiceList = function ServiceList(version) { * Optional. Number of digits for generated TOTP codes * @param {number} [opts.totp.skew] - * Optional. The number of past and future time-steps valid at a given time + * @param {string} [opts.defaultTemplateSid] - + * The verification template SMS messages. * @param {function} [callback] - Callback to handle processed record * * @returns {Promise} Resolves to processed ServiceInstance @@ -129,7 +131,8 @@ ServiceList = function ServiceList(version) { 'Totp.Issuer': _.get(opts, 'totp.issuer'), 'Totp.TimeStep': _.get(opts, 'totp.timeStep'), 'Totp.CodeLength': _.get(opts, 'totp.codeLength'), - 'Totp.Skew': _.get(opts, 'totp.skew') + 'Totp.Skew': _.get(opts, 'totp.skew'), + 'DefaultTemplateSid': _.get(opts, 'defaultTemplateSid') }); var promise = this._version.create({uri: this._uri, method: 'POST', data: data}); @@ -520,6 +523,7 @@ ServicePage.prototype[util.inspect.custom] = function inspect(depth, options) { * Whether to allow sending verifications with a custom code. * @property {object} push - The service level configuration of factor push type. * @property {object} totp - The service level configuration of factor TOTP type. + * @property {string} defaultTemplateSid - The default_template_sid * @property {Date} dateCreated - * The RFC 2822 date and time in GMT when the resource was created * @property {Date} dateUpdated - @@ -549,6 +553,7 @@ ServiceInstance = function ServiceInstance(version, payload, sid) { this.customCodeEnabled = payload.custom_code_enabled; // jshint ignore:line this.push = payload.push; // jshint ignore:line this.totp = payload.totp; // jshint ignore:line + this.defaultTemplateSid = payload.default_template_sid; // jshint ignore:line this.dateCreated = deserialize.iso8601DateTime(payload.date_created); // jshint ignore:line this.dateUpdated = deserialize.iso8601DateTime(payload.date_updated); // jshint ignore:line this.url = payload.url; // jshint ignore:line @@ -641,6 +646,8 @@ ServiceInstance.prototype.remove = function remove(callback) { * Optional. Number of digits for generated TOTP codes * @param {number} [opts.totp.skew] - * Optional. The number of past and future time-steps valid at a given time + * @param {string} [opts.defaultTemplateSid] - + * The verification template SMS messages. * @param {function} [callback] - Callback to handle processed record * * @returns {Promise} Resolves to processed ServiceInstance @@ -918,6 +925,8 @@ ServiceContext.prototype.remove = function remove(callback) { * Optional. Number of digits for generated TOTP codes * @param {number} [opts.totp.skew] - * Optional. The number of past and future time-steps valid at a given time + * @param {string} [opts.defaultTemplateSid] - + * The verification template SMS messages. * @param {function} [callback] - Callback to handle processed record * * @returns {Promise} Resolves to processed ServiceInstance @@ -947,7 +956,8 @@ ServiceContext.prototype.update = function update(opts, callback) { 'Totp.Issuer': _.get(opts, 'totp.issuer'), 'Totp.TimeStep': _.get(opts, 'totp.timeStep'), 'Totp.CodeLength': _.get(opts, 'totp.codeLength'), - 'Totp.Skew': _.get(opts, 'totp.skew') + 'Totp.Skew': _.get(opts, 'totp.skew'), + 'DefaultTemplateSid': _.get(opts, 'defaultTemplateSid') }); var promise = this._version.update({uri: this._uri, method: 'POST', data: data}); diff --git a/lib/rest/verify/v2/service/entity/factor.d.ts b/lib/rest/verify/v2/service/entity/factor.d.ts index 5e974fa988..a6022a46e2 100644 --- a/lib/rest/verify/v2/service/entity/factor.d.ts +++ b/lib/rest/verify/v2/service/entity/factor.d.ts @@ -36,7 +36,7 @@ declare function FactorList(version: V2, serviceSid: string, identity: string): * @property authPayload - Optional payload to verify the Factor for the first time * @property config.alg - The algorithm used to derive the TOTP codes * @property config.codeLength - Number of digits for generated TOTP codes - * @property config.notificationToken - For APN, the device token. For FCM the registration token + * @property config.notificationToken - For APN, the device token. For FCM, the registration token * @property config.sdkVersion - The Verify Push SDK version used to configure the factor * @property config.skew - The number of past and future time-steps valid at a given time * @property config.timeStep - How often, in seconds, are TOTP codes generated diff --git a/lib/rest/verify/v2/service/entity/factor.js b/lib/rest/verify/v2/service/entity/factor.js index 78f7546fd0..cddcafc277 100644 --- a/lib/rest/verify/v2/service/entity/factor.js +++ b/lib/rest/verify/v2/service/entity/factor.js @@ -519,7 +519,7 @@ FactorInstance.prototype.fetch = function fetch(callback) { * Optional payload to verify the Factor for the first time * @param {string} [opts.friendlyName] - The friendly name of this Factor * @param {string} [opts.config.notificationToken] - - * For APN, the device token. For FCM the registration token + * For APN, the device token. For FCM, the registration token * @param {string} [opts.config.sdkVersion] - * The Verify Push SDK version used to configure the factor * @param {number} [opts.config.timeStep] - @@ -668,7 +668,7 @@ FactorContext.prototype.fetch = function fetch(callback) { * Optional payload to verify the Factor for the first time * @param {string} [opts.friendlyName] - The friendly name of this Factor * @param {string} [opts.config.notificationToken] - - * For APN, the device token. For FCM the registration token + * For APN, the device token. For FCM, the registration token * @param {string} [opts.config.sdkVersion] - * The Verify Push SDK version used to configure the factor * @param {number} [opts.config.timeStep] - diff --git a/lib/rest/verify/v2/service/entity/newFactor.d.ts b/lib/rest/verify/v2/service/entity/newFactor.d.ts index ba6ee3c3f0..b62caf93e2 100644 --- a/lib/rest/verify/v2/service/entity/newFactor.d.ts +++ b/lib/rest/verify/v2/service/entity/newFactor.d.ts @@ -54,7 +54,7 @@ interface NewFactorListInstance { * @property config.appId - The ID that uniquely identifies your app in the Google or Apple store * @property config.codeLength - Number of digits for generated TOTP codes * @property config.notificationPlatform - The transport technology used to generate the Notification Token - * @property config.notificationToken - For APN, the device token. For FCM the registration token + * @property config.notificationToken - For APN, the device token. For FCM, the registration token * @property config.sdkVersion - The Verify Push SDK version used to configure the factor * @property config.skew - The number of past and future time-steps valid at a given time * @property config.timeStep - How often, in seconds, are TOTP codes generated diff --git a/lib/rest/verify/v2/service/entity/newFactor.js b/lib/rest/verify/v2/service/entity/newFactor.js index 2530589621..caa38c7f29 100644 --- a/lib/rest/verify/v2/service/entity/newFactor.js +++ b/lib/rest/verify/v2/service/entity/newFactor.js @@ -72,7 +72,7 @@ NewFactorList = function NewFactorList(version, serviceSid, identity) { * @param {new_factor.notification_platforms} [opts.config.notificationPlatform] - * The transport technology used to generate the Notification Token * @param {string} [opts.config.notificationToken] - - * For APN, the device token. For FCM the registration token + * For APN, the device token. For FCM, the registration token * @param {string} [opts.config.sdkVersion] - * The Verify Push SDK version used to configure the factor * @param {string} [opts.binding.secret] - The shared secret in Base32 diff --git a/lib/rest/verify/v2/service/verification.d.ts b/lib/rest/verify/v2/service/verification.d.ts index 92aa5e7766..50d6a4d522 100644 --- a/lib/rest/verify/v2/service/verification.d.ts +++ b/lib/rest/verify/v2/service/verification.d.ts @@ -69,6 +69,8 @@ interface VerificationListInstance { * @property payee - The payee of the associated PSD2 compliant transaction * @property rateLimits - The custom key-value pairs of Programmable Rate Limits. * @property sendDigits - The digits to send after a phone call is answered + * @property templateCustomSubstitutions - The values of the special variables declared on the message template. + * @property templateSid - The verification template SMS messages. * @property to - The phone number or email to verify */ interface VerificationListInstanceCreateOptions { @@ -83,6 +85,8 @@ interface VerificationListInstanceCreateOptions { payee?: string; rateLimits?: object; sendDigits?: string; + templateCustomSubstitutions?: string; + templateSid?: string; to: string; } diff --git a/lib/rest/verify/v2/service/verification.js b/lib/rest/verify/v2/service/verification.js index f414bbcafe..ca57fb6a5f 100644 --- a/lib/rest/verify/v2/service/verification.js +++ b/lib/rest/verify/v2/service/verification.js @@ -81,6 +81,9 @@ VerificationList = function VerificationList(version, serviceSid) { * Channel specific configuration in json format. * @param {string} [opts.appHash] - * Your App Hash to be appended at the end of an SMS. + * @param {string} [opts.templateSid] - The verification template SMS messages. + * @param {string} [opts.templateCustomSubstitutions] - + * The values of the special variables declared on the message template. * @param {function} [callback] - Callback to handle processed record * * @returns {Promise} Resolves to processed VerificationInstance @@ -110,7 +113,9 @@ VerificationList = function VerificationList(version, serviceSid) { 'Payee': _.get(opts, 'payee'), 'RateLimits': serialize.object(_.get(opts, 'rateLimits')), 'ChannelConfiguration': serialize.object(_.get(opts, 'channelConfiguration')), - 'AppHash': _.get(opts, 'appHash') + 'AppHash': _.get(opts, 'appHash'), + 'TemplateSid': _.get(opts, 'templateSid'), + 'TemplateCustomSubstitutions': _.get(opts, 'templateCustomSubstitutions') }); var promise = this._version.create({uri: this._uri, method: 'POST', data: data}); diff --git a/lib/rest/wireless/v1/ratePlan.d.ts b/lib/rest/wireless/v1/ratePlan.d.ts index 60c7edbf7d..5c6e7dee16 100644 --- a/lib/rest/wireless/v1/ratePlan.d.ts +++ b/lib/rest/wireless/v1/ratePlan.d.ts @@ -169,7 +169,7 @@ interface RatePlanListInstance { * @property nationalRoamingDataLimit - The total data usage in Megabytes that the Network allows during one month on non-home networks in the United States * @property nationalRoamingEnabled - Whether SIMs can roam on networks other than the home network in the United States * @property uniqueName - An application-defined string that uniquely identifies the resource - * @property voiceEnabled - Whether SIMs can make and receive voice calls + * @property voiceEnabled - Deprecated */ interface RatePlanListInstanceCreateOptions { dataEnabled?: boolean; diff --git a/lib/rest/wireless/v1/ratePlan.js b/lib/rest/wireless/v1/ratePlan.js index 7e88b12cbd..244e9f40e1 100644 --- a/lib/rest/wireless/v1/ratePlan.js +++ b/lib/rest/wireless/v1/ratePlan.js @@ -311,8 +311,7 @@ RatePlanList = function RatePlanList(version) { * @param {string} [opts.dataMetering] - The model used to meter data usage * @param {boolean} [opts.messagingEnabled] - * Whether SIMs can make, send, and receive SMS using Commands - * @param {boolean} [opts.voiceEnabled] - - * Whether SIMs can make and receive voice calls + * @param {boolean} [opts.voiceEnabled] - Deprecated * @param {boolean} [opts.nationalRoamingEnabled] - * Whether SIMs can roam on networks other than the home network in the United States * @param {string|list} [opts.internationalRoaming] - @@ -486,7 +485,8 @@ RatePlanPage.prototype[util.inspect.custom] = function inspect(depth, options) { * The total data usage in Megabytes that the Network allows during one month on the home network * @property {boolean} messagingEnabled - * Whether SIMs can make, send, and receive SMS using Commands - * @property {boolean} voiceEnabled - Whether SIMs can make and receive voice calls + * @property {boolean} voiceEnabled - + * Deprecated. Whether SIMs can make and receive voice calls * @property {boolean} nationalRoamingEnabled - * Whether SIMs can roam on networks other than the home network in the United States * @property {number} nationalRoamingDataLimit - diff --git a/lib/rest/wireless/v1/sim.d.ts b/lib/rest/wireless/v1/sim.d.ts index f224ce2a4b..2f83e966bc 100644 --- a/lib/rest/wireless/v1/sim.d.ts +++ b/lib/rest/wireless/v1/sim.d.ts @@ -42,10 +42,10 @@ declare function SimList(version: V1): SimListInstance; * @property smsUrl - The URL we should call when the SIM-connected device sends an SMS message that is not a Command * @property status - The new status of the Sim resource * @property uniqueName - An application-defined string that uniquely identifies the resource - * @property voiceFallbackMethod - The HTTP method we should use to call voice_fallback_url - * @property voiceFallbackUrl - The URL we should call when an error occurs while retrieving or executing the TwiML requested from voice_url - * @property voiceMethod - The HTTP method we should use when we call voice_url - * @property voiceUrl - The URL we should call when the SIM-connected device makes a voice call + * @property voiceFallbackMethod - Deprecated + * @property voiceFallbackUrl - Deprecated + * @property voiceMethod - Deprecated + * @property voiceUrl - Deprecated */ interface SimInstanceUpdateOptions { accountSid?: string; diff --git a/lib/rest/wireless/v1/sim.js b/lib/rest/wireless/v1/sim.js index 496767c1d3..e9c411efb0 100644 --- a/lib/rest/wireless/v1/sim.js +++ b/lib/rest/wireless/v1/sim.js @@ -447,19 +447,21 @@ SimPage.prototype[util.inspect.custom] = function inspect(depth, options) { * @property {string} commandsCallbackMethod - * The HTTP method we use to call commands_callback_url * @property {string} smsFallbackMethod - - * The HTTP method we use to call sms_fallback_url + * Deprecated. The HTTP method we use to call sms_fallback_url * @property {string} smsFallbackUrl - - * The URL we call when an error occurs while retrieving or executing the TwiML requested from the sms_url - * @property {string} smsMethod - The HTTP method we use to call sms_url + * Deprecated. The URL we call when an error occurs while retrieving or executing the TwiML requested from the sms_url + * @property {string} smsMethod - + * Deprecated. The HTTP method we use to call sms_url * @property {string} smsUrl - - * The URL we call when the SIM-connected device sends an SMS message that is not a Command + * Deprecated. The URL we call when the SIM-connected device sends an SMS message that is not a Command * @property {string} voiceFallbackMethod - - * The HTTP method we use to call voice_fallback_url + * Deprecated. The HTTP method we use to call voice_fallback_url * @property {string} voiceFallbackUrl - - * The URL we call when an error occurs while retrieving or executing the TwiML requested from voice_url - * @property {string} voiceMethod - The HTTP method we use to call voice_url + * Deprecated. The URL we call when an error occurs while retrieving or executing the TwiML requested from voice_url + * @property {string} voiceMethod - + * Deprecated. The HTTP method we use to call voice_url * @property {string} voiceUrl - - * The URL we call when the SIM-connected device makes a voice call + * Deprecated. The URL we call when the SIM-connected device makes a voice call * @property {Date} dateCreated - * The ISO 8601 date and time in GMT when the resource was created * @property {Date} dateUpdated - @@ -563,14 +565,10 @@ SimInstance.prototype.fetch = function fetch(callback) { * @param {string} [opts.smsMethod] - The HTTP method we should use to call sms_url * @param {string} [opts.smsUrl] - * The URL we should call when the SIM-connected device sends an SMS message that is not a Command - * @param {string} [opts.voiceFallbackMethod] - - * The HTTP method we should use to call voice_fallback_url - * @param {string} [opts.voiceFallbackUrl] - - * The URL we should call when an error occurs while retrieving or executing the TwiML requested from voice_url - * @param {string} [opts.voiceMethod] - - * The HTTP method we should use when we call voice_url - * @param {string} [opts.voiceUrl] - - * The URL we should call when the SIM-connected device makes a voice call + * @param {string} [opts.voiceFallbackMethod] - Deprecated + * @param {string} [opts.voiceFallbackUrl] - Deprecated + * @param {string} [opts.voiceMethod] - Deprecated + * @param {string} [opts.voiceUrl] - Deprecated * @param {sim.reset_status} [opts.resetStatus] - * Initiate a connectivity reset on a SIM * @param {string} [opts.accountSid] - @@ -740,14 +738,10 @@ SimContext.prototype.fetch = function fetch(callback) { * @param {string} [opts.smsMethod] - The HTTP method we should use to call sms_url * @param {string} [opts.smsUrl] - * The URL we should call when the SIM-connected device sends an SMS message that is not a Command - * @param {string} [opts.voiceFallbackMethod] - - * The HTTP method we should use to call voice_fallback_url - * @param {string} [opts.voiceFallbackUrl] - - * The URL we should call when an error occurs while retrieving or executing the TwiML requested from voice_url - * @param {string} [opts.voiceMethod] - - * The HTTP method we should use when we call voice_url - * @param {string} [opts.voiceUrl] - - * The URL we should call when the SIM-connected device makes a voice call + * @param {string} [opts.voiceFallbackMethod] - Deprecated + * @param {string} [opts.voiceFallbackUrl] - Deprecated + * @param {string} [opts.voiceMethod] - Deprecated + * @param {string} [opts.voiceUrl] - Deprecated * @param {sim.reset_status} [opts.resetStatus] - * Initiate a connectivity reset on a SIM * @param {string} [opts.accountSid] - diff --git a/spec/integration/rest/media/v1/mediaProcessor.spec.js b/spec/integration/rest/media/v1/mediaProcessor.spec.js index 38ad63a613..0b2c6785d9 100644 --- a/spec/integration/rest/media/v1/mediaProcessor.spec.js +++ b/spec/integration/rest/media/v1/mediaProcessor.spec.js @@ -58,7 +58,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'started', @@ -107,7 +107,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'started', @@ -158,7 +158,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', @@ -197,7 +197,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', @@ -229,7 +229,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', @@ -266,7 +266,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', @@ -344,7 +344,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', @@ -384,7 +384,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', @@ -424,7 +424,7 @@ describe('MediaProcessor', function() { 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:01:00Z', - 'extension': 'video-composer-v1-preview', + 'extension': 'video-composer-v1', 'extension_context': '{}', 'sid': 'ZXdeadbeefdeadbeefdeadbeefdeadbeef', 'status': 'ended', diff --git a/spec/integration/rest/messaging/v1/brandRegistration/brandVetting.spec.js b/spec/integration/rest/messaging/v1/brandRegistration/brandVetting.spec.js index de0fc335a7..69b66691a3 100644 --- a/spec/integration/rest/messaging/v1/brandRegistration/brandVetting.spec.js +++ b/spec/integration/rest/messaging/v1/brandRegistration/brandVetting.spec.js @@ -60,10 +60,10 @@ describe('BrandVetting', function() { 'account_sid': 'AC78e8e67fc0246521490fb9907fd0c165', 'brand_sid': 'BN0044409f7e067e279523808d267e2d85', 'brand_vetting_sid': 'VT12445353', - 'vetting_provider': 'CAMPAIGN_VERIFY', - 'vetting_id': 'cv|1.0|10DLC|NHDHBD', + 'vetting_provider': 'campaign-verify', + 'vetting_id': 'cv|1.0|tcr|10dlc|9975c339-d46f-49b7-a399-EXAMPLETOKEN|GQ3EXAMPLETOKENAXXBUNBT2AgL-LdQuPveFhEyY', 'vetting_class': 'POLITICAL', - 'vetting_status': 'PENDING', + 'vetting_status': 'IN_PROGRESS', 'date_created': '2021-01-27T14:18:35Z', 'date_updated': '2021-01-27T14:18:35Z', 'url': 'https://messaging.twilio.com/v1/a2p/BrandRegistrations/BN0044409f7e067e279523808d267e2d85/Vettings/VT12445353' @@ -99,10 +99,10 @@ describe('BrandVetting', function() { 'account_sid': 'AC78e8e67fc0246521490fb9907fd0c165', 'brand_sid': 'BN0044409f7e067e279523808d267e2d85', 'brand_vetting_sid': 'VT12445353', - 'vetting_provider': 'CAMPAIGN_VERIFY', - 'vetting_id': 'cv|1.0|10DLC|NHDHBD', + 'vetting_provider': 'campaign-verify', + 'vetting_id': 'cv|1.0|tcr|10dlc|9975c339-d46f-49b7-a399-EXAMPLETOKEN|GQ3EXAMPLETOKENAXXBUNBT2AgL-LdQuPveFhEyY', 'vetting_class': 'POLITICAL', - 'vetting_status': 'PENDING', + 'vetting_status': 'IN_PROGRESS', 'date_created': '2021-01-27T14:18:35Z', 'date_updated': '2021-01-27T14:18:35Z', 'url': 'https://messaging.twilio.com/v1/a2p/BrandRegistrations/BN0044409f7e067e279523808d267e2d85/Vettings/VT12445353' @@ -131,10 +131,10 @@ describe('BrandVetting', function() { 'account_sid': 'AC78e8e67fc0246521490fb9907fd0c165', 'brand_sid': 'BN0044409f7e067e279523808d267e2d85', 'brand_vetting_sid': 'VT12445353', - 'vetting_provider': 'CAMPAIGN_VERIFY', - 'vetting_id': 'cv|1.0|10DLC|NHDHBD', + 'vetting_provider': 'campaign-verify', + 'vetting_id': 'cv|1.0|tcr|10dlc|9975c339-d46f-49b7-a399-EXAMPLETOKEN|GQ3EXAMPLETOKENAXXBUNBT2AgL-LdQuPveFhEyY', 'vetting_class': 'POLITICAL', - 'vetting_status': 'PENDING', + 'vetting_status': 'IN_PROGRESS', 'date_created': '2021-01-27T14:18:35Z', 'date_updated': '2021-01-27T14:18:35Z', 'url': 'https://messaging.twilio.com/v1/a2p/BrandRegistrations/BN0044409f7e067e279523808d267e2d85/Vettings/VT12445353' @@ -168,10 +168,10 @@ describe('BrandVetting', function() { 'account_sid': 'AC78e8e67fc0246521490fb9907fd0c165', 'brand_sid': 'BN0044409f7e067e279523808d267e2d85', 'brand_vetting_sid': 'VT12445353', - 'vetting_provider': 'CAMPAIGN_VERIFY', - 'vetting_id': 'cv|1.0|10DLC|NHDHBD', + 'vetting_provider': 'campaign-verify', + 'vetting_id': 'cv|1.0|tcr|10dlc|9975c339-d46f-49b7-a399-EXAMPLETOKEN|GQ3EXAMPLETOKENAXXBUNBT2AgL-LdQuPveFhEyY', 'vetting_class': 'POLITICAL', - 'vetting_status': 'PENDING', + 'vetting_status': 'IN_PROGRESS', 'date_created': '2021-01-27T14:18:35Z', 'date_updated': '2021-01-27T14:18:35Z', 'url': 'https://messaging.twilio.com/v1/a2p/BrandRegistrations/BN0044409f7e067e279523808d267e2d85/Vettings/VT12445353' @@ -222,10 +222,10 @@ describe('BrandVetting', function() { 'account_sid': 'AC78e8e67fc0246521490fb9907fd0c165', 'brand_sid': 'BN0044409f7e067e279523808d267e2d85', 'brand_vetting_sid': 'VT12445353', - 'vetting_provider': 'CAMPAIGN_VERIFY', - 'vetting_id': 'cv|1.0|10DLC|NHDHBD', + 'vetting_provider': 'campaign-verify', + 'vetting_id': 'cv|1.0|tcr|10dlc|9975c339-d46f-49b7-a399-EXAMPLETOKEN|GQ3EXAMPLETOKENAXXBUNBT2AgL-LdQuPveFhEyY', 'vetting_class': 'POLITICAL', - 'vetting_status': 'PENDING', + 'vetting_status': 'IN_PROGRESS', 'date_created': '2021-01-27T14:18:35Z', 'date_updated': '2021-01-27T14:18:35Z', 'url': 'https://messaging.twilio.com/v1/a2p/BrandRegistrations/BN0044409f7e067e279523808d267e2d85/Vettings/VT12445353' diff --git a/spec/integration/rest/messaging/v1/service/usAppToPersonUsecase.spec.js b/spec/integration/rest/messaging/v1/service/usAppToPersonUsecase.spec.js index b6fc1c2336..87ff85cd5b 100644 --- a/spec/integration/rest/messaging/v1/service/usAppToPersonUsecase.spec.js +++ b/spec/integration/rest/messaging/v1/service/usAppToPersonUsecase.spec.js @@ -80,8 +80,8 @@ describe('UsAppToPersonUsecase', function() { 'post_approval_required': false }, { - 'code': 'CONVERSATIONAL', - 'name': 'Conversational Messaging', + 'code': 'PROXY', + 'name': 'Proxy', 'description': 'Peer-to-peer app-based group messaging with proxy/pooled numbers (For example: GroupMe)\nSupporting personalized services and non-exposure of personal numbers for enterprise or A2P communications. (Examples include: Uber and AirBnb.)', 'post_approval_required': true }, @@ -115,6 +115,12 @@ describe('UsAppToPersonUsecase', function() { 'description': 'For campaigns created on behalf of Colleges or Universities and will also include School Districts etc that fall outside of any \'free to the consumer\' messaging model', 'post_approval_required': false }, + { + 'code': 'K12_EDUCATION', + 'name': 'K-12 Education', + 'description': 'Campaigns created for messaging platforms that support schools from grades K-12 and distance learning centers. This is not for Post-Secondary schools.', + 'post_approval_required': true + }, { 'code': 'LOW_VOLUME', 'name': 'Low Volume Mixed', @@ -213,8 +219,8 @@ describe('UsAppToPersonUsecase', function() { 'post_approval_required': false }, { - 'code': 'CONVERSATIONAL', - 'name': 'Conversational Messaging', + 'code': 'PROXY', + 'name': 'Proxy', 'description': 'Peer-to-peer app-based group messaging with proxy/pooled numbers (For example: GroupMe)\nSupporting personalized services and non-exposure of personal numbers for enterprise or A2P communications. (Examples include: Uber and AirBnb.)', 'post_approval_required': true }, @@ -248,6 +254,12 @@ describe('UsAppToPersonUsecase', function() { 'description': 'For campaigns created on behalf of Colleges or Universities and will also include School Districts etc that fall outside of any \'free to the consumer\' messaging model', 'post_approval_required': false }, + { + 'code': 'K12_EDUCATION', + 'name': 'K-12 Education', + 'description': 'Campaigns created for messaging platforms that support schools from grades K-12 and distance learning centers. This is not for Post-Secondary schools.', + 'post_approval_required': true + }, { 'code': 'LOW_VOLUME', 'name': 'Low Volume Mixed', diff --git a/spec/integration/rest/serverless/v1/service/build.spec.js b/spec/integration/rest/serverless/v1/service/build.spec.js index 6979b14cbf..b38b939e6e 100644 --- a/spec/integration/rest/serverless/v1/service/build.spec.js +++ b/spec/integration/rest/serverless/v1/service/build.spec.js @@ -139,7 +139,7 @@ describe('Build', function() { 'version': '1.0.1' } ], - 'runtime': 'node10', + 'runtime': 'node14', 'status': 'building', 'date_created': '2018-11-10T20:00:00Z', 'date_updated': '2018-11-10T20:00:00Z', @@ -260,7 +260,7 @@ describe('Build', function() { 'version': '1.0.1' } ], - 'runtime': 'node10', + 'runtime': 'node14', 'status': 'building', 'date_created': '2018-11-10T20:00:00Z', 'date_updated': '2018-11-10T20:00:00Z', diff --git a/spec/integration/rest/verify/v2/service.spec.js b/spec/integration/rest/verify/v2/service.spec.js index 7965a561da..44d86102de 100644 --- a/spec/integration/rest/verify/v2/service.spec.js +++ b/spec/integration/rest/verify/v2/service.spec.js @@ -78,6 +78,7 @@ describe('Service', function() { 'code_length': 3, 'skew': 2 }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', @@ -151,6 +152,7 @@ describe('Service', function() { 'code_length': null, 'skew': null }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', @@ -249,6 +251,7 @@ describe('Service', function() { 'code_length': null, 'skew': null }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', @@ -305,6 +308,7 @@ describe('Service', function() { 'code_length': null, 'skew': null }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', @@ -366,6 +370,7 @@ describe('Service', function() { 'code_length': null, 'skew': null }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', @@ -442,6 +447,7 @@ describe('Service', function() { 'code_length': null, 'skew': null }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', @@ -516,6 +522,7 @@ describe('Service', function() { 'code_length': 3, 'skew': 2 }, + 'default_template_sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'date_created': '2015-07-30T20:00:00Z', 'date_updated': '2015-07-30T20:00:00Z', 'url': 'https://verify.twilio.com/v2/Services/VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', diff --git a/spec/integration/rest/verify/v2/template.spec.js b/spec/integration/rest/verify/v2/template.spec.js index 492d6261b5..5c749257be 100644 --- a/spec/integration/rest/verify/v2/template.spec.js +++ b/spec/integration/rest/verify/v2/template.spec.js @@ -36,14 +36,15 @@ describe('Template', function() { { 'sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - 'friendly_name': 'Friendly Template', + 'friendly_name': 'Base Verification Template 2 with do not share', 'translations': { 'en': { - 'text': 'Hello, your code is {code}.', - 'locale': 'en', + 'is_default_translation': true, 'status': 'approved', - 'date_created': '2021-07-26T22:30:13.003505841Z', - 'date_updated': '2021-07-26T22:31:08.750971289Z' + 'locale': 'en', + 'text': 'Your {{friendly_name}} verification code is: {{code}}. Do not share this code with anyone.', + 'date_updated': '2021-07-29T20:38:28.759979905Z', + 'date_created': '2021-07-29T20:38:28.165602325Z' } } } @@ -69,14 +70,15 @@ describe('Template', function() { { 'sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - 'friendly_name': 'Friendly Template', + 'friendly_name': 'Base Verification Template 2 with do not share', 'translations': { 'en': { - 'text': 'Hello, your code is {code}.', - 'locale': 'en', + 'is_default_translation': true, 'status': 'approved', - 'date_created': '2021-07-26T22:30:13.003505841Z', - 'date_updated': '2021-07-26T22:31:08.750971289Z' + 'locale': 'en', + 'text': 'Your {{friendly_name}} verification code is: {{code}}. Do not share this code with anyone.', + 'date_updated': '2021-07-29T20:38:28.759979905Z', + 'date_created': '2021-07-29T20:38:28.165602325Z' } } } @@ -107,14 +109,15 @@ describe('Template', function() { { 'sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - 'friendly_name': 'Friendly Template', + 'friendly_name': 'Base Verification Template 2 with do not share', 'translations': { 'en': { - 'text': 'Hello, your code is {code}.', - 'locale': 'en', + 'is_default_translation': true, 'status': 'approved', - 'date_created': '2021-07-26T22:30:13.003505841Z', - 'date_updated': '2021-07-26T22:31:08.750971289Z' + 'locale': 'en', + 'text': 'Your {{friendly_name}} verification code is: {{code}}. Do not share this code with anyone.', + 'date_updated': '2021-07-29T20:38:28.759979905Z', + 'date_created': '2021-07-29T20:38:28.165602325Z' } } } @@ -160,14 +163,15 @@ describe('Template', function() { { 'sid': 'HJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'account_sid': 'ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - 'friendly_name': 'Friendly Template', + 'friendly_name': 'Base Verification Template 2 with do not share', 'translations': { 'en': { - 'text': 'Hello, your code is {code}.', - 'locale': 'en', + 'is_default_translation': true, 'status': 'approved', - 'date_created': '2021-07-26T22:30:13.003505841Z', - 'date_updated': '2021-07-26T22:31:08.750971289Z' + 'locale': 'en', + 'text': 'Your {{friendly_name}} verification code is: {{code}}. Do not share this code with anyone.', + 'date_updated': '2021-07-29T20:38:28.759979905Z', + 'date_created': '2021-07-29T20:38:28.165602325Z' } } }