diff --git a/CHANGELOG.md b/CHANGELOG.md index e519254ac..667a31037 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,13 @@ All notable changes to the **Sinch Java SDK** are documented in this file. ## v2.1 – unreleased +### Numbers +- Extend `NumberSinchEvents` class. + - **[fix]** `EventTypeEnum`: `DEPROVISIONING_FROM_VOICE_PLATFORM` is deprecated and has to be replaced by `VOICE_PLATFORM_DEPROVISIONING`. + - **[feature]** Support new `internalFailureCode` field. + - **[feature]** Support new `StatusEnum` values: `IN_REVIEW`, `BLOCKED`, `COMPLETED`, `REJECTED`, `EXPIRED`. + - **[feature]** Support new `EventTypeEnum` value: `NUMBER_ORDER_PROCESSING`. + ### Conversation - **[feature]** Support `Consents` API: `listIdentities` and `listAuditRecords` endpoints diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/numbers/v1/SinchEventsSteps.java b/client/src/test/java/com/sinch/sdk/e2e/domains/numbers/v1/SinchEventsSteps.java index a8b39cae9..8adcd341c 100644 --- a/client/src/test/java/com/sinch/sdk/e2e/domains/numbers/v1/SinchEventsSteps.java +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/numbers/v1/SinchEventsSteps.java @@ -81,6 +81,7 @@ public void validateResult(String status, String trigger) { .setEventType(EventTypeEnum.PROVISIONING_TO_VOICE_PLATFORM) .setStatus(StatusEnum.SUCCEEDED) .setFailureCode(null) + .setInternalFailureCode(null) .build(); NumberSinchEvent expectedFailure = @@ -93,6 +94,7 @@ public void validateResult(String status, String trigger) { .setEventType(EventTypeEnum.PROVISIONING_TO_VOICE_PLATFORM) .setStatus(StatusEnum.FAILED) .setFailureCode(FailureCodeEnum.from("PROVISIONING_TO_VOICE_PLATFORM_FAILED")) + .setInternalFailureCode(null) .build(); NumberSinchEvent expected = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/BadRequest.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/BadRequest.java index d852e6610..243f28b26 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/BadRequest.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/BadRequest.java @@ -23,6 +23,7 @@ public interface BadRequest { /** Gets or Sets type */ public class TypeEnum extends EnumDynamic { + /** The request was malformed in some way. */ public static final TypeEnum BAD_REQUEST = new TypeEnum("BadRequest"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InternalError.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InternalError.java index cf929c17b..4c77289a8 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InternalError.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InternalError.java @@ -23,6 +23,7 @@ public interface InternalError { /** Gets or Sets code */ public class CodeEnum extends EnumDynamic { + /** The HTTP status code for an internal server error. */ public static final CodeEnum NUMBER_500 = new CodeEnum(500); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -61,7 +62,10 @@ public static Integer valueOf(CodeEnum e) { /** Gets or Sets status */ public class StatusEnum extends EnumDynamic { + /** An internal server error. */ public static final StatusEnum INTERNAL = new StatusEnum("INTERNAL"); + + /** Some unknown error. */ public static final StatusEnum UNKNOWN = new StatusEnum("UNKNOWN"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InvalidArgument.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InvalidArgument.java index 002733b2d..5e0e5d41e 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InvalidArgument.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/InvalidArgument.java @@ -23,6 +23,7 @@ public interface InvalidArgument { /** Gets or Sets code */ public class CodeEnum extends EnumDynamic { + /** The HTTP status code for invalid arguments. */ public static final CodeEnum NUMBER_400 = new CodeEnum(400); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -61,6 +62,7 @@ public static Integer valueOf(CodeEnum e) { /** Gets or Sets status */ public class StatusEnum extends EnumDynamic { + /** The request contained invalid arguments. */ public static final StatusEnum INVALID_ARGUMENT = new StatusEnum("INVALID_ARGUMENT"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/NotFound.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/NotFound.java index 43351bc95..1d6bb1416 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/NotFound.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/NotFound.java @@ -23,6 +23,7 @@ public interface NotFound { /** Gets or Sets code */ public class CodeEnum extends EnumDynamic { + /** The HTTP status code for a resource not found. */ public static final CodeEnum NUMBER_404 = new CodeEnum(404); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -61,6 +62,7 @@ public static Integer valueOf(CodeEnum e) { /** Gets or Sets status */ public class StatusEnum extends EnumDynamic { + /** The request resource could not be found. */ public static final StatusEnum NOT_FOUND = new StatusEnum("NOT_FOUND"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InternalErrorError.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InternalErrorError.java index a60ecf0b4..b013639f2 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InternalErrorError.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InternalErrorError.java @@ -23,6 +23,7 @@ public interface InternalErrorError { /** Gets or Sets code */ public class CodeEnum extends EnumDynamic { + /** The HTTP status code for an internal server error. */ public static final CodeEnum NUMBER_500 = new CodeEnum(500); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -61,7 +62,10 @@ public static Integer valueOf(CodeEnum e) { /** Gets or Sets status */ public class StatusEnum extends EnumDynamic { + /** An internal server error. */ public static final StatusEnum INTERNAL = new StatusEnum("INTERNAL"); + + /** Some unknown error. */ public static final StatusEnum UNKNOWN = new StatusEnum("UNKNOWN"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InvalidArgumentError.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InvalidArgumentError.java index 6c1ef6f4d..85e04a439 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InvalidArgumentError.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/InvalidArgumentError.java @@ -24,6 +24,7 @@ public interface InvalidArgumentError { /** Gets or Sets code */ public class CodeEnum extends EnumDynamic { + /** The HTTP status code for invalid arguments. */ public static final CodeEnum NUMBER_400 = new CodeEnum(400); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -62,6 +63,7 @@ public static Integer valueOf(CodeEnum e) { /** Gets or Sets status */ public class StatusEnum extends EnumDynamic { + /** The request contained invalid arguments. */ public static final StatusEnum INVALID_ARGUMENT = new StatusEnum("INVALID_ARGUMENT"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/NotFoundError.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/NotFoundError.java index 3813ceb5a..7e4f032e6 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/NotFoundError.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/errors/internal/NotFoundError.java @@ -24,6 +24,7 @@ public interface NotFoundError { /** Gets or Sets code */ public class CodeEnum extends EnumDynamic { + /** The HTTP status code for a resource not found. */ public static final CodeEnum NUMBER_404 = new CodeEnum(404); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -62,6 +63,7 @@ public static Integer valueOf(CodeEnum e) { /** Gets or Sets status */ public class StatusEnum extends EnumDynamic { + /** The request resource could not be found. */ public static final StatusEnum NOT_FOUND = new StatusEnum("NOT_FOUND"); private static final EnumSupportDynamic ENUM_SUPPORT = diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/eventdestinations/request/EventDestinationUpdateRequest.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/eventdestinations/request/EventDestinationUpdateRequest.java index aeca3cb64..15c163234 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/eventdestinations/request/EventDestinationUpdateRequest.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/eventdestinations/request/EventDestinationUpdateRequest.java @@ -17,7 +17,9 @@ public interface EventDestinationUpdateRequest { /** - * The HMAC secret to be updated for the specified project + * The HMAC secret to be updated for the specified project. It must be between 32 and 64 + * characters, alphanumeric (A-Z, a-z, 0-9) and hyphens (-) only. Regex pattern: + * ^[a-zA-Z0-9-]{32,64}$ * * @return hmacSecret */ diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEvent.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEvent.java index 3492004d6..f66eb20d4 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEvent.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEvent.java @@ -59,16 +59,35 @@ public interface NumberSinchEvent { /** The type of the event. */ public class EventTypeEnum extends EnumDynamic { + /** An event that occurs when a number is linked to a Service Plan ID. */ public static final EventTypeEnum PROVISIONING_TO_SMS_PLATFORM = new EventTypeEnum("PROVISIONING_TO_SMS_PLATFORM"); + + /** An event that occurs when a number is unlinked from a Service Plan ID. */ public static final EventTypeEnum DEPROVISIONING_FROM_SMS_PLATFORM = new EventTypeEnum("DEPROVISIONING_FROM_SMS_PLATFORM"); + + /** An event that occurs when a number is linked to a Campaign. */ public static final EventTypeEnum PROVISIONING_TO_CAMPAIGN = new EventTypeEnum("PROVISIONING_TO_CAMPAIGN"); + + /** An event that occurs when a number is unlinked from a Campaign. */ public static final EventTypeEnum DEPROVISIONING_FROM_CAMPAIGN = new EventTypeEnum("DEPROVISIONING_FROM_CAMPAIGN"); + + /** An event that occurs when a number is enabled for Voice operations. */ public static final EventTypeEnum PROVISIONING_TO_VOICE_PLATFORM = new EventTypeEnum("PROVISIONING_TO_VOICE_PLATFORM"); + + /** An event that occurs when a number is disabled for Voice operations. */ + public static final EventTypeEnum DEPROVISIONING_FROM_VOICE_PLATFORM = + new EventTypeEnum("DEPROVISIONING_FROM_VOICE_PLATFORM"); + + /** An event that occurs when a Number Order transitions to a new state. */ + public static final EventTypeEnum NUMBER_ORDER_PROCESSING = + new EventTypeEnum("NUMBER_ORDER_PROCESSING"); + + /** Deprecated. Replaced by DEPROVISIONING_FROM_VOICE_PLATFORM. */ public static final EventTypeEnum DEPROVISIONING_TO_VOICE_PLATFORM = new EventTypeEnum("DEPROVISIONING_TO_VOICE_PLATFORM"); @@ -82,6 +101,8 @@ public class EventTypeEnum extends EnumDynamic { PROVISIONING_TO_CAMPAIGN, DEPROVISIONING_FROM_CAMPAIGN, PROVISIONING_TO_VOICE_PLATFORM, + DEPROVISIONING_FROM_VOICE_PLATFORM, + NUMBER_ORDER_PROCESSING, DEPROVISIONING_TO_VOICE_PLATFORM)); private EventTypeEnum(String value) { @@ -108,14 +129,34 @@ public static String valueOf(EventTypeEnum e) { */ EventTypeEnum getEventType(); - /** The status of the event. For example, SUCCEEDED or FAILED. */ + /** The status of the event or the state transition it represents. */ public class StatusEnum extends EnumDynamic { + /** The event has succeeded. */ public static final StatusEnum SUCCEEDED = new StatusEnum("SUCCEEDED"); + + /** The event has failed. */ public static final StatusEnum FAILED = new StatusEnum("FAILED"); + /** The Number Order transitioned to the IN_REVIEW state. */ + public static final StatusEnum IN_REVIEW = new StatusEnum("IN_REVIEW"); + + /** The Number Order transitioned to the BLOCKED state. */ + public static final StatusEnum BLOCKED = new StatusEnum("BLOCKED"); + + /** The Number Order transitioned to the COMPLETED state. */ + public static final StatusEnum COMPLETED = new StatusEnum("COMPLETED"); + + /** The Number Order transitioned to the REJECTED state. */ + public static final StatusEnum REJECTED = new StatusEnum("REJECTED"); + + /** The Number Order transitioned to the EXPIRED state. */ + public static final StatusEnum EXPIRED = new StatusEnum("EXPIRED"); + private static final EnumSupportDynamic ENUM_SUPPORT = new EnumSupportDynamic<>( - StatusEnum.class, StatusEnum::new, Arrays.asList(SUCCEEDED, FAILED)); + StatusEnum.class, + StatusEnum::new, + Arrays.asList(SUCCEEDED, FAILED, IN_REVIEW, BLOCKED, COMPLETED, REJECTED, EXPIRED)); private StatusEnum(String value) { super(value); @@ -135,7 +176,7 @@ public static String valueOf(StatusEnum e) { } /** - * The status of the event. For example, SUCCEEDED or FAILED. + * The status of the event or the state transition it represents. * * @return status */ @@ -147,32 +188,61 @@ public static String valueOf(StatusEnum e) { * campaign provisioning-related failures, refer to the list for the possible values. */ public class FailureCodeEnum extends EnumDynamic { + /** The specified campaign is not available. */ public static final FailureCodeEnum CAMPAIGN_NOT_AVAILABLE = new FailureCodeEnum("CAMPAIGN_NOT_AVAILABLE"); + + /** Exceeded the limit for 10DLC. */ public static final FailureCodeEnum EXCEEDED_10_DLC_LIMIT = new FailureCodeEnum("EXCEEDED_10DLC_LIMIT"); + + /** Provisioning the number failed. */ public static final FailureCodeEnum NUMBER_PROVISIONING_FAILED = new FailureCodeEnum("NUMBER_PROVISIONING_FAILED"); + + /** The third party service is unavailable. */ public static final FailureCodeEnum PARTNER_SERVICE_UNAVAILABLE = new FailureCodeEnum("PARTNER_SERVICE_UNAVAILABLE"); + + /** The campaign is not yet accepted. */ public static final FailureCodeEnum CAMPAIGN_PENDING_ACCEPTANCE = new FailureCodeEnum("CAMPAIGN_PENDING_ACCEPTANCE"); + + /** Error with MNO. */ public static final FailureCodeEnum MNO_SHARING_ERROR = new FailureCodeEnum("MNO_SHARING_ERROR"); + + /** The campaign failed to provision. */ public static final FailureCodeEnum CAMPAIGN_PROVISIONING_FAILED = new FailureCodeEnum("CAMPAIGN_PROVISIONING_FAILED"); + + /** The campaign expired. */ public static final FailureCodeEnum CAMPAIGN_EXPIRED = new FailureCodeEnum("CAMPAIGN_EXPIRED"); + + /** The campaign MNO was rejected. */ public static final FailureCodeEnum CAMPAIGN_MNO_REJECTED = new FailureCodeEnum("CAMPAIGN_MNO_REJECTED"); + + /** The campaign MNO was suspended. */ public static final FailureCodeEnum CAMPAIGN_MNO_SUSPENDED = new FailureCodeEnum("CAMPAIGN_MNO_SUSPENDED"); + + /** The campaign MNO is under review. */ public static final FailureCodeEnum CAMPAIGN_MNO_REVIEW = new FailureCodeEnum("CAMPAIGN_MNO_REVIEW"); + + /** Not enough credit in the account. */ public static final FailureCodeEnum INSUFFICIENT_BALANCE = new FailureCodeEnum("INSUFFICIENT_BALANCE"); + + /** Provisioning not allowed for mock campaigns. */ public static final FailureCodeEnum MOCK_CAMPAIGN_NOT_ALLOWED = new FailureCodeEnum("MOCK_CAMPAIGN_NOT_ALLOWED"); + + /** Toll free numbers not allowed. */ public static final FailureCodeEnum TFN_NOT_ALLOWED = new FailureCodeEnum("TFN_NOT_ALLOWED"); + + /** Invalid NNID. */ public static final FailureCodeEnum INVALID_NNID = new FailureCodeEnum("INVALID_NNID"); private static final EnumSupportDynamic ENUM_SUPPORT = @@ -222,6 +292,16 @@ public static String valueOf(FailureCodeEnum e) { */ FailureCodeEnum getFailureCode(); + /** + * If the status is FAILED, certain processes (eg. number to campaign provisioning) will have an + * internalFailureCode in the payload. The details of these codes can be found in our dedicated Provisioning + * errors documentation. + * + * @return internalFailureCode + */ + String getInternalFailureCode(); + /** * Getting builder * @@ -306,6 +386,15 @@ interface Builder { */ Builder setFailureCode(FailureCodeEnum failureCode); + /** + * see getter + * + * @param internalFailureCode see getter + * @return Current builder + * @see #getInternalFailureCode + */ + Builder setInternalFailureCode(String internalFailureCode); + /** * Create instance * diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEventImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEventImpl.java index fb7003b65..122fd950a 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEventImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numbers/models/v1/sinchevents/NumberSinchEventImpl.java @@ -18,7 +18,8 @@ NumberSinchEventImpl.JSON_PROPERTY_RESOURCE_TYPE, NumberSinchEventImpl.JSON_PROPERTY_EVENT_TYPE, NumberSinchEventImpl.JSON_PROPERTY_STATUS, - NumberSinchEventImpl.JSON_PROPERTY_FAILURE_CODE + NumberSinchEventImpl.JSON_PROPERTY_FAILURE_CODE, + NumberSinchEventImpl.JSON_PROPERTY_INTERNAL_FAILURE_CODE }) @JsonFilter("uninitializedFilter") @JsonInclude(value = JsonInclude.Include.CUSTOM) @@ -57,6 +58,10 @@ public class NumberSinchEventImpl implements NumberSinchEvent { private OptionalValue failureCode; + public static final String JSON_PROPERTY_INTERNAL_FAILURE_CODE = "internalFailureCode"; + + private OptionalValue internalFailureCode; + public NumberSinchEventImpl() {} protected NumberSinchEventImpl( @@ -67,7 +72,8 @@ protected NumberSinchEventImpl( OptionalValue resourceType, OptionalValue eventType, OptionalValue status, - OptionalValue failureCode) { + OptionalValue failureCode, + OptionalValue internalFailureCode) { this.eventId = eventId; this.timestamp = timestamp; this.projectId = projectId; @@ -76,6 +82,7 @@ protected NumberSinchEventImpl( this.eventType = eventType; this.status = status; this.failureCode = failureCode; + this.internalFailureCode = internalFailureCode; } @JsonIgnore @@ -166,6 +173,17 @@ public OptionalValue failureCode() { return failureCode; } + @JsonIgnore + public String getInternalFailureCode() { + return internalFailureCode.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_INTERNAL_FAILURE_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue internalFailureCode() { + return internalFailureCode; + } + /** Return true if this CallbackPayload object is equal to o. */ @Override public boolean equals(Object o) { @@ -183,13 +201,22 @@ public boolean equals(Object o) { && Objects.equals(this.resourceType, callbackPayload.resourceType) && Objects.equals(this.eventType, callbackPayload.eventType) && Objects.equals(this.status, callbackPayload.status) - && Objects.equals(this.failureCode, callbackPayload.failureCode); + && Objects.equals(this.failureCode, callbackPayload.failureCode) + && Objects.equals(this.internalFailureCode, callbackPayload.internalFailureCode); } @Override public int hashCode() { return Objects.hash( - eventId, timestamp, projectId, resourceId, resourceType, eventType, status, failureCode); + eventId, + timestamp, + projectId, + resourceId, + resourceType, + eventType, + status, + failureCode, + internalFailureCode); } @Override @@ -204,6 +231,9 @@ public String toString() { sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" failureCode: ").append(toIndentedString(failureCode)).append("\n"); + sb.append(" internalFailureCode: ") + .append(toIndentedString(internalFailureCode)) + .append("\n"); sb.append("}"); return sb.toString(); } @@ -228,6 +258,7 @@ static class Builder implements NumberSinchEvent.Builder { OptionalValue eventType = OptionalValue.empty(); OptionalValue status = OptionalValue.empty(); OptionalValue failureCode = OptionalValue.empty(); + OptionalValue internalFailureCode = OptionalValue.empty(); @JsonProperty(JSON_PROPERTY_EVENT_ID) public Builder setEventId(String eventId) { @@ -277,9 +308,23 @@ public Builder setFailureCode(FailureCodeEnum failureCode) { return this; } + @JsonProperty(JSON_PROPERTY_INTERNAL_FAILURE_CODE) + public Builder setInternalFailureCode(String internalFailureCode) { + this.internalFailureCode = OptionalValue.of(internalFailureCode); + return this; + } + public NumberSinchEvent build() { return new NumberSinchEventImpl( - eventId, timestamp, projectId, resourceId, resourceType, eventType, status, failureCode); + eventId, + timestamp, + projectId, + resourceId, + resourceType, + eventType, + status, + failureCode, + internalFailureCode); } } } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/numbers/models/v1/SinchEventsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numbers/models/v1/SinchEventsDtoTest.java index 19cbcc587..915656ca6 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/numbers/models/v1/SinchEventsDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numbers/models/v1/SinchEventsDtoTest.java @@ -29,6 +29,7 @@ public class SinchEventsDtoTest extends NumbersBaseTest { .setEventType(EventTypeEnum.PROVISIONING_TO_CAMPAIGN) .setStatus(StatusEnum.FAILED) .setFailureCode(FailureCodeEnum.CAMPAIGN_NOT_AVAILABLE) + .setInternalFailureCode("CRS0018") .build(); @Test diff --git a/openapi-contracts/src/test/resources/domains/numbers/v1/sinchevents/number-sinch-event.json b/openapi-contracts/src/test/resources/domains/numbers/v1/sinchevents/number-sinch-event.json index 55ce33569..3716b90f2 100644 --- a/openapi-contracts/src/test/resources/domains/numbers/v1/sinchevents/number-sinch-event.json +++ b/openapi-contracts/src/test/resources/domains/numbers/v1/sinchevents/number-sinch-event.json @@ -6,5 +6,6 @@ "resourceType": "ACTIVE_NUMBER", "eventType": "PROVISIONING_TO_CAMPAIGN", "status": "FAILED", - "failureCode": "CAMPAIGN_NOT_AVAILABLE" + "failureCode": "CAMPAIGN_NOT_AVAILABLE", + "internalFailureCode": "CRS0018" } \ No newline at end of file