From 457dd8c36e1210fad28c65ddc5d083304c97b984 Mon Sep 17 00:00:00 2001 From: Alex Vuong Date: Wed, 5 Feb 2025 11:46:29 -0800 Subject: [PATCH 1/4] Update version 4.1.0 --- CHANGELOG.md | 3 + apis/cdn/cdn-api-process-apis/.metadata.json | 4 +- .../cdnapi-process-api.raml | 81 +- .../dataTypes/Certificate.raml | 19 + .../dataTypes/CertificateRequest.raml | 8 + .../dataTypes/DCVDelegationRecord.raml | 12 + .../dataTypes/MRTRulePatchRequest.raml | 7 +- .../dataTypes/MRTRules.raml | 4 + .../dataTypes/MRTRulesPostRequest.raml | 7 +- .../dataTypes/MRTRulesetPatchRequest.raml | 5 + .../dataTypes/MtlsCertificateRequest.raml | 16 + .../dataTypes/MtlsCertificateResponse.raml | 41 + .../dataTypes/SpeedSetting.raml | 27 - .../dataTypes/WAFManagedRule.raml | 5 + .../mrtrules/mrt-rule-patch-request.raml | 3 +- .../mrtrules/mrt-rule-patch-response.raml | 1 + .../mrtrules/mrt-rules-get-response.raml | 3 + ...rules-post-request-multiple-hostnames.raml | 3 +- ...rt-rules-post-request-single-hostname.raml | 3 +- ...ules-post-response-multiple-hostnames.raml | 1 + ...t-rules-post-response-single-hostname.raml | 1 + .../mrt-ruleset-patch-request-add-rules.raml | 4 +- .../mrt-ruleset-patch-response-add-rules.raml | 2 + ...uleset-patch-response-update-hostname.raml | 2 + ...s-codeupload-get-certificate-response.raml | 17 + ...-codeupload-get-certificates-response.raml | 30 + ...s-codeupload-post-certificate-request.raml | 7 + .../waf-managed-rules-response.raml | 64 +- .../waf-managed-rules-update-response.raml | 32 +- .../zone/speed-settings-response.raml | 3 - apis/cdn/cdn-api-process-apis/exchange.json | 29 +- .../2.0.1/SecuritySchemes/am-oauth-2.raml | 46 - .../SecuritySchemes/shopper-token-taob.raml | 51 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../2.0.1/SecuritySchemes/shopper-token.raml | 50 - .../2.0.1/Types/ISO-standards.raml | 85 - .../Types/attribute-definition-types.raml | 177 - .../2.0.1/Types/search-types.raml | 360 - .../2.0.1/commerce-cloud-standards.raml | 118 - .../2.0.1/exchange.json | 10 - apis/checkout/shopper-baskets/.metadata.json | 4 +- apis/checkout/shopper-baskets/exchange.json | 32 +- .../{2.0.5 => 2.0.6}/checkout-data-types.raml | 2 +- .../examples/error/bad-request-auth.raml | 0 .../examples/error/bad-request-example.raml | 0 .../examples/error/basket-not-found.raml | 0 .../examples/error/forbidden.raml | 0 .../examples/error/invalid-tax-mode.raml | 0 .../examples/error/order-not-found.raml | 0 .../examples/error/shipment-not-found.raml | 0 .../examples/error/unsupported-request.raml | 0 .../{2.0.5 => 2.0.6}/exchange.json | 2 +- .../shopper-baskets/shopper-baskets.raml | 132 +- apis/customer/shopper-context/.metadata.json | 4 +- .../Examples/shopper-context-example.raml | 3 +- ...hopper-context-update-request-example.raml | 14 +- ...opper-context-update-response-example.raml | 15 +- apis/customer/shopper-context/exchange.json | 2 +- .../shopper-context-description.md | 21 +- .../shopper-context/shopper-context.raml | 78 +- .../customer/shopper-customers/.metadata.json | 4 +- apis/customer/shopper-customers/exchange.json | 2 +- .../shopper-customers/shopper-customers.raml | 5 + apis/customer/shopper-login/.metadata.json | 31 - apis/customer/shopper-login/exchange.json | 1 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.0.24/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.24/SecuritySchemes/bearer-token.raml | 13 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../1.0.24/SecuritySchemes/shopper-token.raml | 46 - .../1.0.24/Types/ISO-standards.raml | 85 - .../Types/attribute-definition-types.raml | 177 - .../1.0.24/Types/search-types.raml | 360 - .../1.0.24/commerce-cloud-standards.raml | 108 - .../1.0.24/example.raml | 68 - apis/customer/slas-admin-uap/.metadata.json | 13 + .../slas-admin-uap}/Examples/Client.raml | 7 +- .../Examples/ClientListResponse.raml | 9 +- .../Examples/ClientRequest.raml | 3 +- .../Examples/ClientWithSecret.raml | 3 +- .../Examples/IdentityProvider.raml | 0 .../Examples/IdentityProviderResponse.raml | 0 .../Examples/IdpListResponse.raml | 0 .../Examples/PasswordActionTemplate.raml | 0 .../PasswordActionTemplateRequest.raml | 0 .../Examples/Tenant.raml | 0 .../Examples/TenantDto.raml | 0 .../Examples/TenantListResponse.raml | 0 .../Examples/UpdateTenant.raml | 0 apis/customer/slas-admin-uap/exchange.json | 12 + .../slas-admin-description.md | 0 .../slas-admin.raml | 31 +- .../slas-bearer-SecurityScheme.raml | 0 apis/customer/slas-admin/.metadata.json | 25 - apis/customer/slas-admin/exchange.json | 20 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../1.1.15/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.15/dataTypes/uri.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.15/traits/etag-response.raml | 22 - .../1.1.15/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.1.15/traits/sync-created.raml | 18 - .../slas-shopper-login-uap/.metadata.json | 13 + .../examples/jwks-get-response.raml | 31 + .../slas-shopper-login-uap/exchange.json | 12 + ...hopper-login-and-api-access-description.md | 0 .../shopper-login.raml | 243 +- .../slasJWT-BearerSecurityScheme.raml | 0 .../traits/private/slasRateLimitHeaders.raml | 0 .../traits/slasRateLimit.raml | 0 apis/discovery/shopper-search/.metadata.json | 4 +- .../product-search-result-example.raml | 10 + apis/discovery/shopper-search/exchange.json | 2 +- .../shopper-search-library.raml | 20 + .../shopper-search/shopper-search.raml | 10 +- apis/pricing/coupons/.metadata.json | 4 +- apis/pricing/coupons/coupons.raml | 11 +- apis/pricing/coupons/exchange.json | 2 +- apis/product/catalogs/.metadata.json | 4 +- apis/product/catalogs/catalogs-description.md | 2 + apis/product/catalogs/catalogs.raml | 44 +- apis/product/catalogs/exchange.json | 2 +- apis/product/products/.metadata.json | 4 +- apis/product/products/exchange.json | 2 +- apis/product/products/products-description.md | 2 + apis/product/products/products.raml | 19 +- apis/product/shopper-products/.metadata.json | 4 +- .../Examples/product-example.raml | 14 + .../Examples/product-result-example.raml | 28 + apis/product/shopper-products/exchange.json | 2 +- .../shopper-products-description.md | 2 + .../shopper-products/shopper-products.raml | 33 +- package-lock.json | 13289 +++++++++++++++- package.json | 2 +- .../cdn/cdn-api-process-apis/.metadata.json | 4 +- .../cdnapi-process-api.raml | 81 +- .../dataTypes/Certificate.raml | 19 + .../dataTypes/CertificateRequest.raml | 8 + .../dataTypes/DCVDelegationRecord.raml | 12 + .../dataTypes/MRTRulePatchRequest.raml | 7 +- .../dataTypes/MRTRules.raml | 4 + .../dataTypes/MRTRulesPostRequest.raml | 7 +- .../dataTypes/MRTRulesetPatchRequest.raml | 5 + .../dataTypes/MtlsCertificateRequest.raml | 16 + .../dataTypes/MtlsCertificateResponse.raml | 41 + .../dataTypes/SpeedSetting.raml | 27 - .../dataTypes/WAFManagedRule.raml | 5 + .../mrtrules/mrt-rule-patch-request.raml | 3 +- .../mrtrules/mrt-rule-patch-response.raml | 1 + .../mrtrules/mrt-rules-get-response.raml | 3 + ...rules-post-request-multiple-hostnames.raml | 3 +- ...rt-rules-post-request-single-hostname.raml | 3 +- ...ules-post-response-multiple-hostnames.raml | 1 + ...t-rules-post-response-single-hostname.raml | 1 + .../mrt-ruleset-patch-request-add-rules.raml | 4 +- .../mrt-ruleset-patch-response-add-rules.raml | 2 + ...uleset-patch-response-update-hostname.raml | 2 + ...s-codeupload-get-certificate-response.raml | 17 + ...-codeupload-get-certificates-response.raml | 30 + ...s-codeupload-post-certificate-request.raml | 7 + .../waf-managed-rules-response.raml | 64 +- .../waf-managed-rules-update-response.raml | 32 +- .../zone/speed-settings-response.raml | 3 - .../cdn/cdn-api-process-apis/exchange.json | 29 +- .../checkout/shopper-baskets/.metadata.json | 4 +- .../checkout/shopper-baskets/exchange.json | 32 +- .../2.0.6/checkout-data-types.raml | 2364 +++ .../examples/error/bad-request-auth.raml | 7 + .../examples/error/bad-request-example.raml | 7 + .../examples/error/basket-not-found.raml | 7 + .../2.0.6/examples/error/forbidden.raml | 7 + .../examples/error/invalid-tax-mode.raml | 7 + .../2.0.6/examples/error/order-not-found.raml | 7 + .../examples/error/shipment-not-found.raml | 7 + .../examples/error/unsupported-request.raml | 7 + .../checkout-data-types/2.0.6/exchange.json | 1 + .../shopper-baskets/shopper-baskets.raml | 132 +- .../customer/shopper-context/.metadata.json | 4 +- .../Examples/shopper-context-example.raml | 3 +- ...hopper-context-update-request-example.raml | 14 +- ...opper-context-update-response-example.raml | 15 +- .../customer/shopper-context/exchange.json | 2 +- .../shopper-context-description.md | 21 +- .../shopper-context/shopper-context.raml | 78 +- .../customer/shopper-customers/.metadata.json | 4 +- .../customer/shopper-customers/exchange.json | 2 +- .../shopper-customers/shopper-customers.raml | 5 + .../customer/shopper-login/.metadata.json | 31 - ...edential-quality-statistics-description.md | 16 - .../customer/shopper-login/exchange.json | 1 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../1.1.15/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.15/dataTypes/uri.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.15/traits/etag-response.raml | 22 - .../1.1.15/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.1.15/traits/sync-created.raml | 18 - .../api-standards/1.1.8/api-standards.raml | 34 - .../1.1.8/dataTypes/pagination-types.raml | 17 - .../api-standards/1.1.8/example.raml | 92 - .../api-standards/1.1.8/exchange.json | 1 - .../1.1.8/securitySchemes/gdot.raml | 58 - .../1.1.8/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.8/traits/etag-response.raml | 22 - .../1.1.8/traits/offset-paginated.raml | 38 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.8/traits/sync-created.raml | 18 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.10/Documentation/baseUri.raml | 23 - .../1.0.10/Examples/BoolFilter.json | 23 - .../1.0.10/Examples/BoolQuery.json | 33 - .../1.0.10/Examples/Filter.json | 9 - .../1.0.10/Examples/FilteredQuery.json | 19 - .../1.0.10/Examples/NestedQuery.json | 44 - .../1.0.10/Examples/Query.json | 21 - .../1.0.10/Examples/QueryFilter.json | 14 - .../1.0.10/Examples/Range2Filter.json | 7 - .../1.0.10/Examples/RangeFilter.json | 6 - .../1.0.10/Examples/SearchRequest.json | 10 - .../1.0.10/Examples/SearchResult.json | 7 - .../1.0.10/Examples/TermFilter.json | 7 - .../1.0.10/Examples/TermQuery.json | 9 - .../1.0.10/Examples/TextQuery.json | 6 - .../1.0.10/Types/error-response.raml | 45 - .../1.0.10/Types/pagination-types.raml | 16 - .../1.0.10/Types/search-types.raml | 373 - .../1.0.10/commerce-cloud-standards.raml | 80 - .../1.0.10/example.raml | 21 - .../1.0.10/exchange.json | 1 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.18/Documentation/baseUri.raml | 23 - .../1.0.18/Examples/BoolFilter.json | 23 - .../1.0.18/Examples/BoolQuery.json | 33 - .../1.0.18/Examples/BoolQuery.raml | 57 - .../1.0.18/Examples/Filter.json | 9 - .../1.0.18/Examples/FilteredQuery.json | 19 - .../1.0.18/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.18/Examples/Query.json | 21 - .../1.0.18/Examples/QueryFilter.json | 14 - .../1.0.18/Examples/Range2Filter.json | 7 - .../1.0.18/Examples/RangeFilter.json | 6 - .../1.0.18/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.18/Examples/TermFilter.json | 7 - .../1.0.18/Examples/TermQuery.json | 9 - .../1.0.18/Examples/TextQuery.json | 6 - .../1.0.18/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.18/SecuritySchemes/tsob-token.raml | 47 - .../1.0.18/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.18/Types/error-response.raml | 45 - .../1.0.18/Types/pagination-types.raml | 25 - .../1.0.18/example.raml | 68 - .../1.0.18/exchange.json | 1 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.22/Documentation/baseUri.raml | 23 - .../1.0.22/Examples/BoolFilter.json | 23 - .../1.0.22/Examples/BoolQuery.json | 33 - .../1.0.22/Examples/BoolQuery.raml | 57 - .../1.0.22/Examples/Filter.json | 9 - .../1.0.22/Examples/FilteredQuery.json | 19 - .../1.0.22/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.22/Examples/Query.json | 21 - .../1.0.22/Examples/QueryFilter.json | 14 - .../1.0.22/Examples/Range2Filter.json | 7 - .../1.0.22/Examples/RangeFilter.json | 6 - .../1.0.22/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.22/Examples/TermFilter.json | 7 - .../1.0.22/Examples/TermQuery.json | 9 - .../1.0.22/Examples/TextQuery.json | 6 - .../1.0.22/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.22/SecuritySchemes/bearer-token.raml | 13 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../1.0.22/SecuritySchemes/shopper-token.raml | 46 - .../1.0.22/Types/ISO-standards.raml | 83 - .../1.0.22/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.22/Types/error-response.raml | 45 - .../1.0.22/Types/pagination-types.raml | 25 - .../1.0.22/Types/search-types.raml | 360 - .../1.0.22/commerce-cloud-standards.raml | 113 - .../1.0.22/example.raml | 68 - .../1.0.22/exchange.json | 1 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.24/Documentation/baseUri.raml | 23 - .../1.0.24/Examples/BoolFilter.json | 23 - .../1.0.24/Examples/BoolQuery.json | 33 - .../1.0.24/Examples/BoolQuery.raml | 57 - .../1.0.24/Examples/Filter.json | 9 - .../1.0.24/Examples/FilteredQuery.json | 19 - .../1.0.24/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.24/Examples/Query.json | 21 - .../1.0.24/Examples/QueryFilter.json | 14 - .../1.0.24/Examples/Range2Filter.json | 7 - .../1.0.24/Examples/RangeFilter.json | 6 - .../1.0.24/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.24/Examples/TermFilter.json | 7 - .../1.0.24/Examples/TermQuery.json | 9 - .../1.0.24/Examples/TextQuery.json | 6 - .../1.0.24/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.24/SecuritySchemes/bearer-token.raml | 13 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../1.0.24/SecuritySchemes/shopper-token.raml | 46 - .../1.0.24/Types/ISO-standards.raml | 85 - .../1.0.24/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.24/Types/error-response.raml | 45 - .../1.0.24/Types/pagination-types.raml | 25 - .../1.0.24/Types/search-types.raml | 360 - .../1.0.24/commerce-cloud-standards.raml | 108 - .../1.0.24/example.raml | 68 - .../1.0.24/exchange.json | 1 - .../shopper-login-description.md | 1 - .../customer/slas-admin-uap/.metadata.json | 13 + .../slas-admin-uap}/Examples/Client.raml | 7 +- .../Examples/ClientListResponse.raml | 9 +- .../Examples/ClientRequest.raml | 3 +- .../Examples/ClientWithSecret.raml | 3 +- .../Examples/IdentityProvider.raml | 0 .../Examples/IdentityProviderResponse.raml | 0 .../Examples/IdpListResponse.raml | 0 .../Examples/PasswordActionTemplate.raml | 0 .../PasswordActionTemplateRequest.raml | 0 .../Examples/Tenant.raml | 0 .../Examples/TenantDto.raml | 0 .../Examples/TenantListResponse.raml | 0 .../Examples/UpdateTenant.raml | 0 .../customer/slas-admin-uap/exchange.json | 12 + .../slas-admin-description.md | 0 .../slas-admin.raml | 31 +- .../slas-bearer-SecurityScheme.raml | 0 .../customer/slas-admin/.metadata.json | 25 - .../Examples/CredQualityResponse.raml | 21 - .../Examples/CredQualityUserResponse.raml | 18 - ...edential-quality-statistics-description.md | 16 - .../customer/slas-admin/exchange.json | 20 - .../1.1.12/dataTypes/error-response.raml | 45 - .../1.1.12/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.12/dataTypes/uri.raml | 16 - .../1.1.12/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.12/traits/etag-response.raml | 22 - .../1.1.12/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.12/traits/rate-limited-2.raml | 19 - .../1.1.12/traits/rate-limited-3.raml | 23 - .../1.1.12/traits/rate-limited-4.raml | 27 - .../1.1.12/traits/rate-limited-5.raml | 31 - .../1.1.12/traits/rate-limited.raml | 19 - .../1.1.12/traits/sync-created.raml | 18 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../1.1.15/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.15/dataTypes/uri.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.15/traits/etag-response.raml | 22 - .../1.1.15/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.1.15/traits/sync-created.raml | 18 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.17/Documentation/baseUri.raml | 23 - .../1.0.17/Examples/BoolFilter.json | 23 - .../1.0.17/Examples/BoolQuery.json | 33 - .../1.0.17/Examples/BoolQuery.raml | 57 - .../1.0.17/Examples/Filter.json | 9 - .../1.0.17/Examples/FilteredQuery.json | 19 - .../1.0.17/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.17/Examples/Query.json | 21 - .../1.0.17/Examples/QueryFilter.json | 14 - .../1.0.17/Examples/Range2Filter.json | 7 - .../1.0.17/Examples/RangeFilter.json | 6 - .../1.0.17/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.17/Examples/TermFilter.json | 7 - .../1.0.17/Examples/TermQuery.json | 9 - .../1.0.17/Examples/TextQuery.json | 6 - .../1.0.17/SecuritySchemes/shopper-token.raml | 43 - .../1.0.17/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.17/Types/error-response.raml | 45 - .../1.0.17/Types/pagination-types.raml | 25 - ...edential-quality-statistics-description.md | 11 - .../slas-shopper-login-uap/.metadata.json | 13 + .../examples/jwks-get-response.raml | 31 + .../slas-shopper-login-uap/exchange.json | 12 + ...hopper-login-and-api-access-description.md | 0 .../shopper-login.raml | 243 +- .../slasJWT-BearerSecurityScheme.raml | 0 .../traits/private/slasRateLimitHeaders.raml | 0 .../traits/slasRateLimit.raml | 0 .../data-discovery-ingestion/.metadata.json | 19 + .../Types/enums/file-hash-algorithm.raml | 6 + .../Types/enums/file-upload-status.raml | 12 + .../Types/enums/ingestion-behavior.raml | 9 + .../Types/enums/ingestion-job-status.raml | 11 + .../Types/enums/upload-method.raml | 7 + .../Types/identifiers.raml | 13 + .../data-discovery-ingestion.raml | 155 + .../data-transfer-record.raml | 127 + .../discovery-ingestion-library.raml | 21 + .../data-discovery-ingestion/exchange.json | 1 + .../api-standards/1.1.12/api-standards.raml | 0 .../1.1.12/dataTypes/error-response.raml | 0 .../1.1.12/dataTypes/identifers.raml | 0 .../1.1.12/dataTypes/pagination-types.raml | 0 .../api-standards/1.1.12/dataTypes/uri.raml | 0 .../api-standards/1.1.12/example.raml | 0 .../api-standards/1.1.12/exchange.json | 0 .../1.1.12/securitySchemes/gdot.raml | 0 .../1.1.12/traits/async-created.raml | 0 .../traits/date-conditional-request.raml | 0 .../traits/etag-conditional-request.raml | 0 .../1.1.12/traits/etag-response.raml | 0 .../1.1.12/traits/offset-paginated.raml | 0 .../private/rate-limited-include-429.raml | 0 .../private/rate-limited-include-headers.raml | 0 .../1.1.12/traits/rate-limited-2.raml | 0 .../1.1.12/traits/rate-limited-3.raml | 0 .../1.1.12/traits/rate-limited-4.raml | 0 .../1.1.12/traits/rate-limited-5.raml | 0 .../1.1.12/traits/rate-limited.raml | 0 .../1.1.12/traits/sync-created.raml | 0 .../Documentation/ErrorResponseMapping.raml | 0 .../1.0.16}/Documentation/baseUri.raml | 0 .../1.0.16}/Examples/BoolFilter.json | 0 .../1.0.16}/Examples/BoolQuery.json | 0 .../1.0.16}/Examples/BoolQuery.raml | 0 .../1.0.16}/Examples/Filter.json | 0 .../1.0.16}/Examples/FilteredQuery.json | 0 .../1.0.16}/Examples/NestedQuery.json | 0 .../Examples/PaginatedSearchResultBase.json | 0 .../1.0.16}/Examples/Query.json | 0 .../1.0.16}/Examples/QueryFilter.json | 0 .../1.0.16}/Examples/Range2Filter.json | 0 .../1.0.16}/Examples/RangeFilter.json | 0 .../1.0.16}/Examples/SearchRequestBase.json | 0 .../Examples/SimpleSearchResultBase.json | 0 .../1.0.16}/Examples/TermFilter.json | 0 .../1.0.16}/Examples/TermQuery.json | 0 .../1.0.16}/Examples/TextQuery.json | 0 .../1.0.16}/SecuritySchemes/am-oauth-2.raml | 0 .../1.0.16}/SecuritySchemes/bearer-token.raml | 0 .../SecuritySchemes/shopper-token.raml | 0 .../1.0.16}/Types/ISO-standards.raml | 16 - .../1.0.16}/Types/additional-properties.raml | 0 .../1.0.16}/Types/error-response.raml | 0 .../1.0.16}/Types/pagination-types.raml | 0 .../1.0.16}/Types/search-types.raml | 15 +- .../1.0.16}/commerce-cloud-standards.raml | 8 - .../1.0.16}/example.raml | 0 .../1.0.16}/exchange.json | 2 +- .../Errors/Examples/Authentication.json | 6 + .../0.0.28/Errors/Examples/Authorization.json | 6 + .../Errors/Examples/InternalServerError.json | 6 + .../Errors/Examples/InvalidRequest.json | 6 + .../0.0.28/Errors/Examples/LimitExceeded.json | 18 + .../Examples/NonReadableHttpMessage.json | 6 + .../0.0.28/Errors/Examples/NotFound.json | 6 + .../Errors/Examples/RateLimitExceeded.json | 7 + .../Errors/Examples/ServiceUnavailable.json | 6 + .../0.0.28/Errors/Traits/common-errors.raml | 50 + .../Errors/Traits/resource-common-errors.raml | 50 + .../0.0.28/Errors/discovery-error-types.raml | 156 + .../0.0.28/Traits/bulk-retrieval-filters.raml | 28 + .../0.0.28/Traits/tenant-tier.raml | 10 + .../0.0.28/Traits/traceable.raml | 10 + .../0.0.28/Types/base-uri-parameters.raml | 12 + .../0.0.28/Types/date-times.raml | 13 + .../0.0.28/Types/expansion-attribute.raml | 15 + .../0.0.28/Types/identifiers.raml | 15 + .../0.0.28/Types/links.raml | 33 + .../0.0.28/discovery-standards.raml | 52 + .../discovery-standards/0.0.28/exchange.json | 1 + .../ingestion-job.raml | 80 + .../data-discovery-ingestion/ramltojaxrs.raml | 32 + .../data-discovery-management/.metadata.json | 19 + .../attribute-definitions.raml | 231 + .../boost-bury-rule-target-conditions.raml | 41 + .../data-discovery-management.raml | 215 + .../data-discovery-management/data-set.raml | 106 + .../data-discovery-management}/exchange.json | 18 +- .../api-standards/1.1.12/api-standards.raml | 0 .../1.1.12/dataTypes}/error-response.raml | 0 .../1.1.12/dataTypes/identifers.raml | 0 .../1.1.12}/dataTypes/pagination-types.raml | 0 .../api-standards/1.1.12}/dataTypes/uri.raml | 0 .../api-standards/1.1.12/example.raml | 0 .../api-standards/1.1.12/exchange.json | 0 .../1.1.12/securitySchemes/gdot.raml | 0 .../1.1.12}/traits/async-created.raml | 0 .../traits/date-conditional-request.raml | 0 .../traits/etag-conditional-request.raml | 0 .../1.1.12}/traits/etag-response.raml | 0 .../1.1.12}/traits/offset-paginated.raml | 0 .../private/rate-limited-include-429.raml | 0 .../private/rate-limited-include-headers.raml | 0 .../1.1.12}/traits/rate-limited-2.raml | 0 .../1.1.12}/traits/rate-limited-3.raml | 0 .../1.1.12}/traits/rate-limited-4.raml | 0 .../1.1.12}/traits/rate-limited-5.raml | 0 .../1.1.12}/traits/rate-limited.raml | 0 .../1.1.12}/traits/sync-created.raml | 0 .../Documentation/ErrorResponseMapping.raml | 0 .../1.0.16}/Documentation/baseUri.raml | 0 .../1.0.16}/Examples/BoolFilter.json | 0 .../1.0.16}/Examples/BoolQuery.json | 0 .../1.0.16}/Examples/BoolQuery.raml | 0 .../1.0.16}/Examples/Filter.json | 0 .../1.0.16}/Examples/FilteredQuery.json | 0 .../1.0.16}/Examples/NestedQuery.json | 0 .../Examples/PaginatedSearchResultBase.json | 0 .../1.0.16}/Examples/Query.json | 0 .../1.0.16}/Examples/QueryFilter.json | 0 .../1.0.16}/Examples/Range2Filter.json | 0 .../1.0.16}/Examples/RangeFilter.json | 0 .../1.0.16}/Examples/SearchRequestBase.json | 0 .../Examples/SimpleSearchResultBase.json | 0 .../1.0.16}/Examples/TermFilter.json | 0 .../1.0.16}/Examples/TermQuery.json | 0 .../1.0.16}/Examples/TextQuery.json | 0 .../1.0.16}/SecuritySchemes/am-oauth-2.raml | 0 .../1.0.16}/SecuritySchemes/bearer-token.raml | 0 .../SecuritySchemes/shopper-token.raml | 0 .../1.0.16}/Types/ISO-standards.raml | 16 - .../1.0.16}/Types/additional-properties.raml | 0 .../1.0.16/Types}/error-response.raml | 0 .../1.0.16}/Types/pagination-types.raml | 0 .../1.0.16}/Types/search-types.raml | 15 +- .../1.0.16}/commerce-cloud-standards.raml | 10 - .../1.0.16}/example.raml | 13 +- .../1.0.16}/exchange.json | 2 +- .../Errors/Examples/Authentication.json | 6 + .../0.0.34/Errors/Examples/Authorization.json | 6 + .../Errors/Examples/InternalServerError.json | 6 + .../Errors/Examples/InvalidRequest.json | 6 + .../0.0.34/Errors/Examples/LimitExceeded.json | 18 + .../Examples/NonReadableHttpMessage.json | 6 + .../0.0.34/Errors/Examples/NotFound.json | 6 + .../Errors/Examples/RateLimitExceeded.json | 7 + .../Errors/Examples/ServiceUnavailable.json | 6 + .../0.0.34/Errors/Traits/common-errors.raml | 50 + .../Errors/Traits/resource-common-errors.raml | 50 + .../0.0.34/Errors/discovery-error-types.raml | 156 + .../0.0.34/Traits/bulk-retrieval-filters.raml | 28 + .../0.0.34/Traits/meta-data.raml | 20 + .../0.0.34/Traits/tenant-tier.raml | 10 + .../0.0.34/Traits/traceable.raml | 10 + .../0.0.34/Types/attribute-info.raml | 16 + .../0.0.34/Types/base-uri-parameters.raml | 12 + .../0.0.34/Types/date-times.raml | 13 + .../0.0.34/Types/expansion-attribute.raml | 12 + .../0.0.34/Types/group-expansion.raml | 28 + .../0.0.34/Types/identifiers.raml | 31 + .../0.0.34/Types/links.raml | 33 + .../0.0.34/discovery-standards.raml | 67 + .../discovery-standards/0.0.34/example.raml | 58 + .../discovery-standards/0.0.34/exchange.json | 1 + .../feature-definitions.raml | 22 + .../ramltojaxrs.raml | 32 + .../search-result-rule-definitions.raml | 52 + .../search-rule.raml | 129 + .../discovery/shopper-search/.metadata.json | 4 +- .../product-search-result-example.raml | 10 + .../discovery/shopper-search/exchange.json | 2 +- .../shopper-search-library.raml | 20 + .../shopper-search/shopper-search.raml | 10 +- .../inventory/impex/.metadata.json | 19 - ...oadAvailabilityImportFile200Responses.raml | 16 - ...xportLocationGraphDownloadFileExample.raml | 29 - ...ortLocationGraphStatusResponseExample.raml | 22 - ...validProductSegmentationImportRequest.raml | 7 - ...uestParameterErrorEventsExportExample.raml | 7 - ...00InvalidRequestParameterErrorExample.raml | 7 - ...alidRequestParameterGroupDoesNotExist.raml | 8 - ...questParameterLocationAndGroupExample.raml | 7 - ...dRequestParameterLocationDoesNotExist.raml | 8 - .../Examples/HttpErrors/403ErrorExample.raml | 10 - .../404EntityNotFoundErrorExample.raml | 7 - .../409ExportInProcessErrorExample.raml | 7 - .../409FileAlreadyReceivedErrorExample.raml | 7 - .../409ImportInProgressErrorExample.raml | 7 - .../410ExpiredResultLinkErrorExample.raml | 7 - .../410ExpiredUploadLinkErrorExample.raml | 7 - .../ImportGetBatchStatusResponseExample.raml | 61 - .../ImportGetStatusResponseExample.raml | 25 - .../InitiateGroupInventoryExportExample.raml | 6 - ...tiateInventoryExportByLocationOrGroup.raml | 20 - ...nitiateLocationInventoryExportExample.raml | 6 - ...tionGraphExportBatchDeleteBodyExample.raml | 9 - ...entationExportInvalidRequestParameter.raml | 7 - ...oryProductSegmentationExportAllGroups.raml | 6 - ...toryProductSegmentationExportByGroups.raml | 7 - ...tiateProductSegmentationExportExample.raml | 6 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../1.1.15/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.15/dataTypes/uri.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.15/traits/etag-response.raml | 22 - .../1.1.15/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.1.15/traits/sync-created.raml | 18 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.24/Documentation/baseUri.raml | 23 - .../1.0.24/Examples/BoolFilter.json | 23 - .../1.0.24/Examples/BoolQuery.json | 33 - .../1.0.24/Examples/BoolQuery.raml | 57 - .../1.0.24/Examples/Filter.json | 9 - .../1.0.24/Examples/FilteredQuery.json | 19 - .../1.0.24/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.24/Examples/Query.json | 21 - .../1.0.24/Examples/QueryFilter.json | 14 - .../1.0.24/Examples/Range2Filter.json | 7 - .../1.0.24/Examples/RangeFilter.json | 6 - .../1.0.24/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.24/Examples/TermFilter.json | 7 - .../1.0.24/Examples/TermQuery.json | 9 - .../1.0.24/Examples/TextQuery.json | 6 - .../1.0.24/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.24/SecuritySchemes/bearer-token.raml | 13 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../1.0.24/SecuritySchemes/shopper-token.raml | 46 - .../1.0.24/Types/ISO-standards.raml | 85 - .../1.0.24/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.24/Types/error-response.raml | 45 - .../1.0.24/Types/pagination-types.raml | 25 - .../1.0.24/Types/search-types.raml | 360 - .../1.0.24/commerce-cloud-standards.raml | 108 - .../1.0.24/example.raml | 68 - .../1.0.24/exchange.json | 1 - .../1.0.16/exchange.json | 1 - .../inventory-availability-standards.raml | 35 - .../traits/GenericResponseErrorCode.raml | 12 - .../1.0.16/types/ATF.raml | 7 - .../1.0.16/types/ATO.raml | 7 - .../1.0.16/types/Date.raml | 5 - .../1.0.16/types/DeltaToken.raml | 4 - .../1.0.16/types/EffectiveDate.raml | 4 - .../1.0.16/types/ErrorCode.raml | 16 - .../1.0.16/types/ExternalRefId.raml | 4 - .../1.0.16/types/FileValidation.raml | 17 - .../1.0.16/types/Future.raml | 13 - .../1.0.16/types/GenericAttribute.raml | 11 - .../1.0.16/types/GenericProcessStats.raml | 19 - .../1.0.16/types/GenericStatuses.raml | 10 - .../1.0.16/types/GroupId.raml | 4 - .../1.0.16/types/IdempotenceId.raml | 4 - .../1.0.16/types/LocationGroup.raml | 9 - .../1.0.16/types/LocationId.raml | 4 - .../1.0.16/types/LocationOrGroup.raml | 9 - .../1.0.16/types/Place.raml | 9 - .../1.0.16/types/PlaceId.raml | 4 - .../1.0.16/types/PlaceType.raml | 5 - .../1.0.16/types/QOH.raml | 7 - .../1.0.16/types/ReservedQuantity.raml | 7 - .../1.0.16/types/SafetyStock.raml | 7 - .../1.0.16/types/SkuId.raml | 9 - .../1.0.16/types/UniqueId.raml | 5 - .../stagingApis/inventory/impex/impex.raml | 1020 -- .../impex/inventory-impex-description.md | 555 - .../ErrorHandling/ErrorCodeTypesEnum.raml | 96 - .../ErrorHandling/ErrorResponses.raml | 241 - .../impex/libraries/ExportReservations.raml | 79 - .../inventory/impex/libraries/Exports.raml | 200 - .../impex/libraries/GetEventLog.raml | 137 - .../inventory/impex/libraries/Imports.raml | 69 - .../impex/libraries/LocationGraphExport.raml | 117 - .../libraries/ProductSegmentationLib.raml | 208 - .../impex/traits/403ErrorResponse.raml | 14 - .../traits/GenericResponseErrorCode.raml | 16 - .../types/EventLog/DeleteEventLogErrors.raml | 14 - .../types/EventLog/EventLogDownloadLink.raml | 13 - .../EventLogExportDownloadFileRaw.raml | 6 - .../EventLog/EventLogFileValidation.raml | 6 - .../impex/types/EventLog/EventLogRecord.raml | 18 - .../impex/types/EventLog/EventLogStats.raml | 5 - .../types/EventLog/EventLogStatuses.raml | 8 - .../impex/types/EventLog/ExportStatuses.raml | 5 - .../types/Exports/DeleteExportErrors.raml | 13 - .../types/Exports/ExportBatchDataType.raml | 6 - .../types/Exports/ExportFileValidation.raml | 6 - .../Exports/ExportGroupDownloadLink.raml | 13 - .../Exports/ExportLocationDownloadLink.raml | 13 - .../types/Exports/ExportResultsRecord.raml | 30 - .../impex/types/Exports/ExportStatsGroup.raml | 26 - .../types/Exports/ExportStatsLocation.raml | 26 - .../impex/types/Exports/ExportStatusLink.raml | 5 - .../impex/types/Exports/ExportStatuses.raml | 5 - .../types/Exports/GetEventLogRequestBody.raml | 30 - .../InitiateEventLogExportResponse200.raml | 12 - .../GetReservationsRequestBody.raml | 18 - ...InitiateReservationsExportResponse200.raml | 12 - .../ReservationsExportDownloadFileRaw.raml | 4 - .../ReservationsExportStatuses.raml | 5 - .../inventory/impex/types/FileHashTypes.raml | 7 - .../impex/types/GlobalTypes/ATF.raml | 10 - .../impex/types/GlobalTypes/ATO.raml | 10 - .../impex/types/GlobalTypes/Date.raml | 7 - .../impex/types/GlobalTypes/DeltaToken.raml | 7 - .../types/GlobalTypes/EffectiveDate.raml | 7 - .../types/GlobalTypes/ExternalRefId.raml | 6 - .../types/GlobalTypes/FileValidation.raml | 19 - .../impex/types/GlobalTypes/Future.raml | 15 - .../GlobalTypes/GenericProcessStats.raml | 21 - .../types/GlobalTypes/GenericStatuses.raml | 11 - .../impex/types/GlobalTypes/GroupId.raml | 10 - .../types/GlobalTypes/LocationGroup.raml | 12 - .../impex/types/GlobalTypes/LocationId.raml | 10 - .../types/GlobalTypes/LocationOrGroup.raml | 8 - .../impex/types/GlobalTypes/QOH.raml | 10 - .../types/GlobalTypes/ReservedQuantity.raml | 10 - .../impex/types/GlobalTypes/SafetyStock.raml | 10 - .../impex/types/GlobalTypes/SkuId.raml | 9 - .../impex/types/GlobalTypes/UniqueId.raml | 8 - .../types/Imports/ImportBatchDataType.raml | 6 - .../types/Imports/ImportInventoryFuture.raml | 7 - .../ImportInventoryLocationRecords.raml | 9 - .../types/Imports/ImportInventoryRecord.raml | 23 - ...eProductSegmentationImportRequestBody.raml | 12 - .../DeletedBatchResponse200.raml | 11 - .../DeletedImportErrorsObjects.raml | 15 - .../ImportsCommon/ImportRequestObjects.raml | 32 - .../ImportStatusBatchResponse200.raml | 9 - .../ImportStatusResponseObject.raml | 64 - .../ImportUploadLinkResponse200.raml | 12 - .../InitiateImportResponse200.raml | 25 - .../ExportLocationGraphDeleteErrors.raml | 16 - .../ExportLocationGraphGroups.raml | 17 - .../inventory-availability/.metadata.json | 19 - .../Examples/400ErrorEntityNotFound.raml | 8 - .../Examples/400ErrorExample.raml | 7 - .../Examples/400ErrorExpiredDeltaLink.raml | 8 - .../Examples/400ErrorInvalidLocation.raml | 7 - .../400ErrorInvalidRequestParameterMode.raml | 8 - .../Examples/403ErrorExample.raml | 7 - .../Examples/404ErrorExample.raml | 7 - .../404ErrorExampleDeleteLocationSKU.raml | 7 - .../409ExportInProcessErrorExample.raml | 7 - .../Examples/410ErrorExample.raml | 7 - .../Examples/GetATSAllLocations.raml | 6 - .../GetATSAllUnassignedLocations.raml | 5 - .../Examples/GetATSLocationsAndGroups.raml | 13 - .../GetAllLocationsAndGroupsResponse.raml | 50 - .../Examples/GetAllLocationsResponse.raml | 70 - .../GetAllUnassignedLocationsResponse.raml | 46 - .../inventory-availability/exchange.json | 1 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../1.1.15/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.15/dataTypes/uri.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.15/traits/etag-response.raml | 22 - .../1.1.15/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.1.15/traits/sync-created.raml | 18 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.24/Documentation/baseUri.raml | 23 - .../1.0.24/Examples/BoolFilter.json | 23 - .../1.0.24/Examples/BoolQuery.json | 33 - .../1.0.24/Examples/BoolQuery.raml | 57 - .../1.0.24/Examples/Filter.json | 9 - .../1.0.24/Examples/FilteredQuery.json | 19 - .../1.0.24/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.24/Examples/Query.json | 21 - .../1.0.24/Examples/QueryFilter.json | 14 - .../1.0.24/Examples/Range2Filter.json | 7 - .../1.0.24/Examples/RangeFilter.json | 6 - .../1.0.24/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.24/Examples/TermFilter.json | 7 - .../1.0.24/Examples/TermQuery.json | 9 - .../1.0.24/Examples/TextQuery.json | 6 - .../1.0.24/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.24/SecuritySchemes/bearer-token.raml | 13 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../1.0.24/SecuritySchemes/shopper-token.raml | 46 - .../1.0.24/Types/ISO-standards.raml | 85 - .../1.0.24/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.24/Types/error-response.raml | 45 - .../1.0.24/Types/pagination-types.raml | 25 - .../1.0.24/Types/search-types.raml | 360 - .../1.0.24/commerce-cloud-standards.raml | 108 - .../1.0.24/example.raml | 68 - .../1.0.24/exchange.json | 1 - .../inventory-availability-description.md | 107 - .../inventory-availability.raml | 318 - .../AvailabilityByLocationAndGroup.raml | 52 - .../BatchInventoryUpdate.raml | 15 - .../ErrorCodeTypesEnum.raml | 101 - .../ExceptionResponses/ErrorResponses.raml | 30 - .../ExceptionResponses/GenericError.raml | 197 - .../GetAvailabilityDeltas.raml | 21 - .../InventoryUpdatesRequestAndResponses.raml | 72 - .../libraries/PlaceType/PlaceType.raml | 10 - .../ProductSegmentationLibrary.raml | 63 - .../traits/GenericResponseErrorCode.raml | 18 - .../inventory-availability/types/ATF.raml | 7 - .../types/ATFForGroup.raml | 7 - .../inventory-availability/types/ATO.raml | 7 - .../types/ATOForGroup.raml | 7 - .../types/AvailabilityRecordForGroup.raml | 34 - .../types/AvailabilityRecordForLocation.raml | 26 - .../BatchInventoryUpdateErrorDetail.raml | 13 - .../BatchInventoryUpdateErrors.raml | 8 - .../BatchInventoryUpdateRequestRecord.raml | 28 - .../BatchInventoryUpdateSingleError.raml | 14 - .../inventory-availability/types/Date.raml | 5 - .../types/DeltaRecord.raml | 30 - .../types/DeltaToken.raml | 4 - .../types/DelteRecordTypeEnum.raml | 6 - .../types/EffectiveDateGeneric.raml | 5 - .../types/ExternalRefId.raml | 5 - .../inventory-availability/types/Future.raml | 14 - .../types/FutureForGroup.raml | 14 - .../inventory-availability/types/GroupId.raml | 7 - .../types/GroupReserved.raml | 7 - .../types/HttpErrors/404EntityNotFound.raml | 6 - .../types/HttpErrors/410ExpiredLink.raml | 6 - ...stEntityAlreadyExistsOrEntityNotFound.raml | 6 - ...ameterLocDoesNotExistOrEntityNotFound.raml | 5 - ...lidRequestParameterOrExpiredDeltaLink.raml | 5 - ...uestParameterOrLocOrGroupDoesNotExist.raml | 5 - ...equestParameterOrLocationDoesNotExist.raml | 5 - .../types/HttpErrors/IasError.raml | 6 - .../types/IdempotenceId.raml | 4 - .../types/ItemGroupInfo.raml | 11 - .../types/ItemLocationInfo.raml | 12 - .../types/LocationId.raml | 7 - .../inventory-availability/types/PlaceId.raml | 4 - .../types/PlaceType.raml | 4 - .../inventory-availability/types/QOH.raml | 7 - .../types/QOHForGroup.raml | 7 - .../types/QuantityReserved.raml | 7 - .../types/ReservedQuantity.raml | 7 - .../types/ReservedQuantityForGroup.raml | 7 - .../types/SafetyStock.raml | 7 - .../types/SharedGroupReserved.raml | 7 - .../types/ShouldQueryAgain.raml | 4 - .../inventory-availability/types/SkuId.raml | 7 - .../.metadata.json | 19 - ...ForceReserveLocationToGroupNotAllowed.raml | 7 - .../4xxExamples/Generic400ErrorMessage.raml | 7 - .../4xxExamples/GroupToGroupNotAllowed.raml | 7 - .../InvalidRequestParameterExample.raml | 8 - .../InvalidTransferAllOrNothing.raml | 7 - .../4xxExamples/LocationGroupNotFound.raml | 8 - .../4xxExamples/LocationNotFound.raml | 9 - .../LocationToLocationNotAllowed.raml | 7 - .../NoLocationOrGroupsProvided.raml | 7 - .../4xxExamples/TooManyFieldsProvided.raml | 7 - .../FulfillReservationRequestBody.raml | 22 - .../FulfillReservationResponseErrors.raml | 17 - .../Examples/HttpErrors/400ErrorExample.raml | 11 - .../Examples/HttpErrors/403ErrorExample.raml | 7 - .../Examples/HttpErrors/404ErrorExample.raml | 7 - .../Examples/HttpErrors/409ErrorExample.raml | 7 - .../MoveReservationBatchPostBody.raml | 45 - .../Examples/MoveReservationErrors.raml | 23 - ...BodyReservationNonPartialAllItemsFail.raml | 37 - ...tionNonPartialSomeItemSuccessSomeFail.raml | 41 - ...seBodyReservationPartialNoItemSuccess.raml | 37 - .../exchange.json | 25 - .../api-standards/1.1.15/api-standards.raml | 58 - .../1.1.15/dataTypes/base-types.raml | 38 - .../1.1.15/dataTypes/error-response.raml | 47 - .../1.1.15/dataTypes/error-types.raml | 54 - .../1.1.15/dataTypes/identifers.raml | 16 - .../1.1.15/dataTypes/pagination-types.raml | 25 - .../api-standards/1.1.15/dataTypes/uri.raml | 16 - .../api-standards/1.1.15/exchange.json | 1 - .../snippets/aip180-warn-299-example.raml | 2 - .../snippets/aip193-errors-403-forbidden.raml | 2 - .../1.1.15/traits/async-created.raml | 14 - .../traits/date-conditional-request.raml | 22 - .../traits/etag-conditional-request.raml | 26 - .../1.1.15/traits/etag-response.raml | 22 - .../1.1.15/traits/offset-paginated.raml | 41 - .../private/rate-limited-include-429.raml | 12 - .../private/rate-limited-include-headers.raml | 7 - .../1.1.15/traits/rangeFilter.raml | 22 - .../1.1.15/traits/rate-limited-2.raml | 26 - .../1.1.15/traits/rate-limited-3.raml | 31 - .../1.1.15/traits/rate-limited-4.raml | 35 - .../1.1.15/traits/rate-limited-5.raml | 39 - .../1.1.15/traits/rate-limited.raml | 23 - .../1.1.15/traits/sync-created.raml | 18 - .../Documentation/ErrorResponseMapping.raml | 37 - .../1.0.24/Documentation/baseUri.raml | 23 - .../1.0.24/Examples/BoolFilter.json | 23 - .../1.0.24/Examples/BoolQuery.json | 33 - .../1.0.24/Examples/BoolQuery.raml | 57 - .../1.0.24/Examples/Filter.json | 9 - .../1.0.24/Examples/FilteredQuery.json | 19 - .../1.0.24/Examples/NestedQuery.json | 44 - .../Examples/PaginatedSearchResultBase.json | 35 - .../1.0.24/Examples/Query.json | 21 - .../1.0.24/Examples/QueryFilter.json | 14 - .../1.0.24/Examples/Range2Filter.json | 7 - .../1.0.24/Examples/RangeFilter.json | 6 - .../1.0.24/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 - .../1.0.24/Examples/TermFilter.json | 7 - .../1.0.24/Examples/TermQuery.json | 9 - .../1.0.24/Examples/TextQuery.json | 6 - .../1.0.24/SecuritySchemes/am-oauth-2.raml | 46 - .../1.0.24/SecuritySchemes/bearer-token.raml | 13 - .../SecuritySchemes/shopper-token-tsob.raml | 50 - .../1.0.24/SecuritySchemes/shopper-token.raml | 46 - .../1.0.24/Types/ISO-standards.raml | 85 - .../1.0.24/Types/additional-properties.raml | 24 - .../Types/attribute-definition-types.raml | 177 - .../1.0.24/Types/error-response.raml | 45 - .../1.0.24/Types/pagination-types.raml | 25 - .../1.0.24/Types/search-types.raml | 360 - .../1.0.24/commerce-cloud-standards.raml | 108 - .../1.0.24/example.raml | 68 - .../1.0.24/exchange.json | 1 - .../inventory-reservation-service.raml | 259 - .../inventory-reservations-description.md | 193 - .../libraries/CancelReservations.raml | 10 - .../ErrorHandling/ErrorCodeTypesEnum.raml | 90 - .../libraries/ErrorHandling/GenericError.raml | 188 - .../libraries/FulfillQuantity.raml | 22 - .../libraries/GetReservation.raml | 23 - .../libraries/MoveReservation.raml | 136 - .../libraries/PlaceReservation.raml | 190 - .../ReserveInventoryRequestsAndResponses.raml | 275 - .../libraries/UnreserveReservations.raml | 193 - .../traits/GenericResponseErrorCode.raml | 16 - .../types/AllowPartialReservations.raml | 5 - .../types/ExpirationSeconds.raml | 10 - .../types/FulfillOnlyReservations.raml | 5 - .../FulfillQuantityRequestError.raml | 14 - .../FulfillQuantityRequestRecords.raml | 29 - .../FulfillReservationErrorDetail.raml | 22 - .../types/GlobalTypes/AllOrNothingId.raml | 8 - .../types/GlobalTypes/Date.raml | 7 - .../types/GlobalTypes/ExternalRefId.raml | 6 - .../types/GlobalTypes/GroupId.raml | 9 - .../types/GlobalTypes/IdempotenceId.raml | 7 - .../types/GlobalTypes/LocationId.raml | 9 - .../types/GlobalTypes/Place.raml | 11 - .../types/GlobalTypes/PlaceId.raml | 7 - .../types/GlobalTypes/PlaceType.raml | 8 - .../types/GlobalTypes/QOH.raml | 10 - .../types/GlobalTypes/ReservedQuantity.raml | 10 - .../types/GlobalTypes/SkuId.raml | 9 - ...vReqParamInvReqLocOrGroupDoesNotExist.raml | 6 - ...0InvalidRequestLocOrGroupDoesNotExist.raml | 6 - .../400InvalidRequestParameter.raml | 5 - ...equestParameterLocOrGroupDoesNotExist.raml | 6 - .../types/HttpErrors/400MissingParameter.raml | 5 - .../types/HttpErrors/403Error.raml | 7 - .../404ErrorEntityDoesNotExist.raml | 5 - .../409InvalidRequestParameter.raml | 6 - .../types/HttpErrors/IasError.raml | 6 - .../types/PlaceReservationErrorCode.raml | 9 - .../types/ReservationExpirationTime.raml | 4 - .../types/ReservationId.raml | 5 - .../types/ReservationRequestGroup.raml | 11 - .../types/ReservationRequestLocation.raml | 11 - ...eservationRequestLocationAllOrNothing.raml | 22 - .../types/ReservationRequestRecord.raml | 12 - .../types/ReservationResponseErrorRecord.raml | 12 - .../ReservationResponseErrorRecord2.raml | 16 - .../types/ReservationStatus.raml | 8 - .../types/ReservationSuccess.raml | 4 - .../types/ReservationTime.raml | 4 - .../types/ReservationTimeOf.raml | 4 - .../CancelReservation409Error.raml | 20 - .../CreateReservation409Error.raml | 20 - .../GroupReservationRecordsNoErrors.raml | 15 - .../GroupReservationRecordsWithErrors.raml | 19 - ...GroupReservationRecordsWithItemErrors.raml | 18 - .../LocationReservationRecordsAllErrors.raml | 14 - .../LocationReservationRecordsNoErrors.raml | 13 - .../LocationReservationRecordsWithErrors.raml | 18 - ...ationReservationRecordsWithItemErrors.raml | 21 - .../RequestReservationBodyRecord.raml | 24 - .../ReservationErrorLines.raml | 14 - .../ReservationErrorLines2.raml | 14 - .../ReservationItemErrorLines.raml | 16 - .../ReservationSuccessfulLines.raml | 14 - .../types/ReservedReservationGroup.raml | 9 - .../types/ReservedReservationLocation.raml | 9 - .../types/ReservedReservationRecord.raml | 7 - .../types/Unreserve/UnreserveDetail.raml | 20 - .../Unreserve/UnreserveDetailGroupOnly.raml | 16 - .../UnreserveDetailLocationOnly.raml | 15 - .../pricing/coupons/.metadata.json | 4 +- .../stagingApis/pricing/coupons/coupons.raml | 11 +- .../stagingApis/pricing/coupons/exchange.json | 2 +- .../product/catalogs/.metadata.json | 4 +- .../product/catalogs/catalogs-description.md | 2 + .../product/catalogs/catalogs.raml | 44 +- .../product/catalogs/exchange.json | 2 +- .../product/products/.metadata.json | 4 +- .../product/products/exchange.json | 2 +- .../product/products/products-description.md | 2 + .../product/products/products.raml | 19 +- .../product/shopper-products/.metadata.json | 4 +- .../Examples/product-example.raml | 14 + .../Examples/product-result-example.raml | 28 + .../product/shopper-products/exchange.json | 2 +- .../shopper-products-description.md | 2 + .../shopper-products/shopper-products.raml | 33 +- 1114 files changed, 20239 insertions(+), 25629 deletions(-) create mode 100644 apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml create mode 100644 apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml create mode 100644 apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml create mode 100644 apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml create mode 100644 apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml create mode 100644 apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml delete mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/checkout-data-types.raml (99%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/bad-request-auth.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/bad-request-example.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/basket-not-found.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/forbidden.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/invalid-tax-mode.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/order-not-found.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/shipment-not-found.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/examples/error/unsupported-request.raml (100%) rename apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/{2.0.5 => 2.0.6}/exchange.json (75%) delete mode 100644 apis/customer/shopper-login/.metadata.json delete mode 100644 apis/customer/shopper-login/exchange.json delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml delete mode 100644 apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml create mode 100644 apis/customer/slas-admin-uap/.metadata.json rename {testIntegration/stagingApis/customer/slas-admin => apis/customer/slas-admin-uap}/Examples/Client.raml (70%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/ClientListResponse.raml (86%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/ClientRequest.raml (87%) rename {testIntegration/stagingApis/customer/slas-admin => apis/customer/slas-admin-uap}/Examples/ClientWithSecret.raml (87%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/IdentityProvider.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/IdentityProviderResponse.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/IdpListResponse.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/PasswordActionTemplate.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/PasswordActionTemplateRequest.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/Tenant.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/TenantDto.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/TenantListResponse.raml (100%) rename apis/customer/{slas-admin => slas-admin-uap}/Examples/UpdateTenant.raml (100%) create mode 100644 apis/customer/slas-admin-uap/exchange.json rename apis/customer/{slas-admin => slas-admin-uap}/slas-admin-description.md (100%) rename apis/customer/{slas-admin => slas-admin-uap}/slas-admin.raml (96%) rename apis/customer/{slas-admin => slas-admin-uap}/slas-bearer-SecurityScheme.raml (100%) delete mode 100644 apis/customer/slas-admin/.metadata.json delete mode 100644 apis/customer/slas-admin/exchange.json delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml create mode 100644 apis/customer/slas-shopper-login-uap/.metadata.json create mode 100644 apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange.json rename apis/customer/{shopper-login => slas-shopper-login-uap}/shopper-login-and-api-access-description.md (100%) rename apis/customer/{shopper-login => slas-shopper-login-uap}/shopper-login.raml (87%) rename apis/customer/{shopper-login => slas-shopper-login-uap}/slasJWT-BearerSecurityScheme.raml (100%) rename apis/customer/{shopper-login => slas-shopper-login-uap}/traits/private/slasRateLimitHeaders.raml (100%) rename apis/customer/{shopper-login => slas-shopper-login-uap}/traits/slasRateLimit.raml (100%) create mode 100644 testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml create mode 100644 testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml create mode 100644 testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml create mode 100644 testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml create mode 100644 testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml create mode 100644 testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml create mode 100644 testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/.metadata.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/credential-quality-statistics-description.md delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Query.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchRequest.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchResult.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/example.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Query.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/tsob-token.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/example.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Query.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/ISO-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/example.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml delete mode 100644 testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json delete mode 100644 testIntegration/stagingApis/customer/shopper-login/shopper-login-description.md create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json rename {apis/customer/slas-admin => testIntegration/stagingApis/customer/slas-admin-uap}/Examples/Client.raml (70%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/ClientListResponse.raml (86%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/ClientRequest.raml (87%) rename {apis/customer/slas-admin => testIntegration/stagingApis/customer/slas-admin-uap}/Examples/ClientWithSecret.raml (87%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/IdentityProvider.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/IdentityProviderResponse.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/IdpListResponse.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/PasswordActionTemplate.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/PasswordActionTemplateRequest.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/Tenant.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/TenantDto.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/TenantListResponse.raml (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/Examples/UpdateTenant.raml (100%) create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/exchange.json rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/slas-admin-description.md (100%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/slas-admin.raml (96%) rename testIntegration/stagingApis/customer/{slas-admin => slas-admin-uap}/slas-bearer-SecurityScheme.raml (100%) delete mode 100644 testIntegration/stagingApis/customer/slas-admin/.metadata.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityResponse.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityUserResponse.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/credential-quality-statistics-description.md delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/customer/slas-admin/tenant-credential-quality-statistics-description.md create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json rename testIntegration/stagingApis/customer/{shopper-login => slas-shopper-login-uap}/shopper-login-and-api-access-description.md (100%) rename testIntegration/stagingApis/customer/{shopper-login => slas-shopper-login-uap}/shopper-login.raml (87%) rename testIntegration/stagingApis/customer/{shopper-login => slas-shopper-login-uap}/slasJWT-BearerSecurityScheme.raml (100%) rename testIntegration/stagingApis/customer/{shopper-login => slas-shopper-login-uap}/traits/private/slasRateLimitHeaders.raml (100%) rename testIntegration/stagingApis/customer/{shopper-login => slas-shopper-login-uap}/traits/slasRateLimit.raml (100%) create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml (100%) rename {apis/cdn/cdn-api-process-apis => testIntegration/stagingApis/discovery/data-discovery-ingestion}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Documentation/ErrorResponseMapping.raml (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Documentation/baseUri.raml (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/BoolFilter.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/BoolQuery.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/BoolQuery.raml (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/Filter.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/FilteredQuery.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/NestedQuery.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/PaginatedSearchResultBase.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/Query.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/QueryFilter.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/Range2Filter.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/RangeFilter.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/SearchRequestBase.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/SimpleSearchResultBase.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/TermFilter.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/TermQuery.json (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/TextQuery.json (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/SecuritySchemes/am-oauth-2.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/SecuritySchemes/bearer-token.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/SecuritySchemes/shopper-token.raml (100%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/ISO-standards.raml (77%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/additional-properties.raml (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/error-response.raml (100%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/pagination-types.raml (100%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/search-types.raml (95%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/commerce-cloud-standards.raml (92%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/example.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/exchange.json (88%) create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml rename testIntegration/stagingApis/{inventory/impex => discovery/data-discovery-management}/exchange.json (66%) rename testIntegration/stagingApis/{customer/slas-admin => discovery/data-discovery-management}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes}/error-response.raml (100%) rename testIntegration/stagingApis/{customer/slas-admin => discovery/data-discovery-management}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/dataTypes/pagination-types.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/dataTypes/uri.raml (100%) rename testIntegration/stagingApis/{customer/slas-admin => discovery/data-discovery-management}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml (100%) rename testIntegration/stagingApis/{customer/slas-admin => discovery/data-discovery-management}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json (100%) rename testIntegration/stagingApis/{customer/slas-admin => discovery/data-discovery-management}/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/async-created.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/date-conditional-request.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/etag-conditional-request.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/etag-response.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/offset-paginated.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/private/rate-limited-include-429.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/private/rate-limited-include-headers.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/rate-limited-2.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/rate-limited-3.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/rate-limited-4.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/rate-limited-5.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/rate-limited.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12}/traits/sync-created.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Documentation/ErrorResponseMapping.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Documentation/baseUri.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/BoolFilter.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/BoolQuery.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/BoolQuery.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/Filter.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/FilteredQuery.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/NestedQuery.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/PaginatedSearchResultBase.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/Query.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/QueryFilter.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/Range2Filter.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/RangeFilter.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/SearchRequestBase.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/SimpleSearchResultBase.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/TermFilter.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/TermQuery.json (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Examples/TextQuery.json (100%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/SecuritySchemes/am-oauth-2.raml (100%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/SecuritySchemes/bearer-token.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/SecuritySchemes/shopper-token.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/ISO-standards.raml (77%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/additional-properties.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types}/error-response.raml (100%) rename {apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/pagination-types.raml (100%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/Types/search-types.raml (95%) rename testIntegration/stagingApis/{customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/commerce-cloud-standards.raml (90%) rename {apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1 => testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/example.raml (82%) rename testIntegration/stagingApis/{customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17 => discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16}/exchange.json (88%) create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml create mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/.metadata.json delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/DowloadAvailabilityImportFile200Responses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphDownloadFileExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphStatusResponseExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidProductSegmentationImportRequest.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorEventsExportExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterGroupDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationAndGroupExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/403ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/404EntityNotFoundErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ExportInProcessErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409FileAlreadyReceivedErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ImportInProgressErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredUploadLinkErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ImportGetBatchStatusResponseExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ImportGetStatusResponseExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/InitiateGroupInventoryExportExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/InitiateInventoryExportByLocationOrGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/InitiateLocationInventoryExportExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/LocationGraphExportBatchDeleteBodyExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/400ProductSegmentationExportInvalidRequestParameter.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportAllGroups.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportByGroups.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateProductSegmentationExportExample.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/inventory-availability-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/traits/GenericResponseErrorCode.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATF.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATO.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Date.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/DeltaToken.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/EffectiveDate.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ErrorCode.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ExternalRefId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/FileValidation.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Future.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericAttribute.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericProcessStats.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericStatuses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GroupId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/IdempotenceId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationOrGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Place.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceType.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/QOH.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ReservedQuantity.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SafetyStock.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SkuId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/UniqueId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/impex.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/inventory-impex-description.md delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorCodeTypesEnum.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorResponses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/ExportReservations.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/Exports.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/GetEventLog.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/Imports.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/LocationGraphExport.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/libraries/ProductSegmentationLib.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/traits/403ErrorResponse.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/traits/GenericResponseErrorCode.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/DeleteEventLogErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogDownloadLink.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogExportDownloadFileRaw.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogFileValidation.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStats.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStatuses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/EventLog/ExportStatuses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/DeleteExportErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportBatchDataType.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportFileValidation.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportGroupDownloadLink.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportLocationDownloadLink.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportResultsRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsLocation.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatusLink.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatuses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/GetEventLogRequestBody.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/InitiateEventLogExportResponse200.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/GetReservationsRequestBody.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/InitiateReservationsExportResponse200.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportDownloadFileRaw.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportStatuses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/FileHashTypes.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATF.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATO.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Date.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/DeltaToken.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/EffectiveDate.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ExternalRefId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/FileValidation.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Future.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericProcessStats.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericStatuses.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GroupId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationOrGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/QOH.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ReservedQuantity.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SafetyStock.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SkuId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/GlobalTypes/UniqueId.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Imports/ImportBatchDataType.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryFuture.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryLocationRecords.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/Imports/InitiateProductSegmentationImportRequestBody.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedBatchResponse200.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedImportErrorsObjects.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportRequestObjects.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusBatchResponse200.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusResponseObject.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportUploadLinkResponse200.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/ImportsCommon/InitiateImportResponse200.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphDeleteErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphGroups.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/.metadata.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorEntityNotFound.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExpiredDeltaLink.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidLocation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidRequestParameterMode.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/403ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExampleDeleteLocationSKU.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/409ExportInProcessErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/410ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllLocations.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllUnassignedLocations.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSLocationsAndGroups.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsAndGroupsResponse.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsResponse.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllUnassignedLocationsResponse.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/inventory-availability-description.md delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/inventory-availability.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/AvailabilityByLocationAndGroup/AvailabilityByLocationAndGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/BatchInventoryUpdate/BatchInventoryUpdate.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorCodeTypesEnum.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorResponses.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/GenericError.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/GetAvailabilityDeltas/GetAvailabilityDeltas.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/InventoryUpdates/InventoryUpdatesRequestAndResponses.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/PlaceType/PlaceType.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/libraries/ProductSegmentation/ProductSegmentationLibrary.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/traits/GenericResponseErrorCode.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ATF.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ATFForGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ATO.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ATOForGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForLocation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrorDetail.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateRequestRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateSingleError.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/Date.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/DeltaRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/DeltaToken.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/DelteRecordTypeEnum.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/EffectiveDateGeneric.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ExternalRefId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/Future.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/FutureForGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/GroupId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/GroupReserved.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/404EntityNotFound.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/410ExpiredLink.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrExpiredDeltaLink.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocOrGroupDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocationDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/IasError.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/IdempotenceId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ItemGroupInfo.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ItemLocationInfo.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/LocationId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/PlaceId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/PlaceType.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/QOH.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/QOHForGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/QuantityReserved.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantity.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantityForGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/SafetyStock.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/SharedGroupReserved.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/ShouldQueryAgain.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-availability/types/SkuId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/.metadata.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/ForceReserveLocationToGroupNotAllowed.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/Generic400ErrorMessage.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/GroupToGroupNotAllowed.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidRequestParameterExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidTransferAllOrNothing.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationGroupNotFound.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationNotFound.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationToLocationNotAllowed.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/NoLocationOrGroupsProvided.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/TooManyFieldsProvided.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationRequestBody.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationResponseErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/400ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/403ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/404ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/409ErrorExample.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationBatchPostBody.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialAllItemsFail.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialSomeItemSuccessSomeFail.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationPartialNoItemSuccess.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservation-service.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservations-description.md delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/CancelReservations.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/ErrorCodeTypesEnum.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/GenericError.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/FulfillQuantity.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/GetReservation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/MoveReservation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/PlaceReservation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ReserveInventoryRequestsAndResponses.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/UnreserveReservations.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/traits/GenericResponseErrorCode.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/AllowPartialReservations.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ExpirationSeconds.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/FulfillOnlyReservations.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestError.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestRecords.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillReservationErrorDetail.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/AllOrNothingId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Date.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ExternalRefId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/GroupId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/IdempotenceId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/LocationId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Place.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceType.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/QOH.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ReservedQuantity.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/SkuId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvReqParamInvReqLocOrGroupDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestLocOrGroupDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameter.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameterLocOrGroupDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400MissingParameter.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/403Error.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/404ErrorEntityDoesNotExist.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/409InvalidRequestParameter.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/IasError.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/PlaceReservationErrorCode.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationExpirationTime.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationId.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocationAllOrNothing.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord2.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationStatus.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationSuccess.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTime.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTimeOf.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CancelReservation409Error.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CreateReservation409Error.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsNoErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithItemErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsAllErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsNoErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithItemErrors.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/RequestReservationBodyRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines2.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationItemErrorLines.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationSuccessfulLines.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationGroup.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationLocation.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationRecord.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetail.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailGroupOnly.raml delete mode 100644 testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailLocationOnly.raml diff --git a/CHANGELOG.md b/CHANGELOG.md index 10a236e3..1a04e641 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## CHANGELOG +## v4.1.0 +- Support Node 22 [#412](https://github.com/SalesforceCommerceCloud/commerce-sdk/pull/412) + ## v4.0.0 ### :warning: Planned API Changes :warning: diff --git a/apis/cdn/cdn-api-process-apis/.metadata.json b/apis/cdn/cdn-api-process-apis/.metadata.json index d0ada386..6ee2c17a 100644 --- a/apis/cdn/cdn-api-process-apis/.metadata.json +++ b/apis/cdn/cdn-api-process-apis/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis/1.0.32", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis/1.0.36", "name": "CDN Zones", "description": "Extend your eCDN beyond Business Manager configuration.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "cdn-api-process-apis", - "version": "1.0.32", + "version": "1.0.36", "categories": { "API layer": [ "Process" diff --git a/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml b/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml index 97340254..222bd3aa 100644 --- a/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml +++ b/apis/cdn/cdn-api-process-apis/cdnapi-process-api.raml @@ -71,6 +71,9 @@ types: WAFRulePackage: !include dataTypes/WAFRulePackage.raml OriginHeaderModification: !include dataTypes/OriginHeaderModification.raml OriginHeaderModificationPutRequest: !include dataTypes/OriginHeaderModificationPutRequest.raml + MtlsCertificateRequest: !include dataTypes/MtlsCertificateRequest.raml + MtlsCertificateResponse: !include dataTypes/MtlsCertificateResponse.raml + DCVDelegationRecord: !include dataTypes/DCVDelegationRecord.raml ZonesEnvelope: type: CollectionResponseEnvelope @@ -202,7 +205,17 @@ types: properties: data: type: OriginHeaderModification - + MtlsCertificateResponseEnvelope: + type: ItemResponseEnvelope + properties: + data: + type: MtlsCertificateResponse + MtlsCertificatesResponseEnvelope: + type: CollectionResponseEnvelope + properties: + data: + type: MtlsCertificateResponse[] + traits: hasUnauthorizedResponse: !include traits/HasUnauthorizedResponse.raml hasForbiddenAccessResponse: !include traits/HasForbiddenAccessResponse.raml @@ -232,6 +245,61 @@ traits: example: !include /examples/zone/storefront-zone-create-response.raml securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } + /mtls/code-upload-certificates: + get: + is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] + displayName: getCodeUploadCertificates + description: Returns all the mTLS certificates for the account. + responses: + '200': + description: Successfully retrieved details of the mTLS certificates requested by the + caller. + body: + application/json: + type: MtlsCertificatesResponseEnvelope + example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } + post: + is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] + displayName: createCodeUploadCertificate + description: Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname. + body: + application/json: + type: MtlsCertificateRequest + example: !include /examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml + responses: + '201': + description: Returns information about the uploaded mTLS certificate. + body: + application/json: + type: MtlsCertificateResponseEnvelope + example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } + /mtls/code-upload-certificates/{mtlsCertificateId}: + get: + is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] + displayName: getCodeUploadCertificate + description: Returns the mTLS certificate for the given account's mTLS certificate ID. + responses: + '200': + description: Successfully retrieved mTLS certificate information from the mTLS certificate ID requested by the caller. + body: + application/json: + type: MtlsCertificateResponseEnvelope + example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } + delete: + is: [ hasResourceNotFoundResponse ] + displayName: deleteCodeUploadCertificate + description: Removes an mTLS certificate and associated hostname. + responses: + 204: + description: Successfully deleted the mTLS certificate from the account. + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } /zones/info: is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] get: @@ -975,7 +1043,7 @@ traits: put: is: [hasBadRequestResponse] displayName: upsertOriginHeaderModification - description: Upsert origin header modification. + description: Upsert origin header modification. Only the `mrt` type is supported. body: application/json: type: OriginHeaderModificationPutRequest @@ -998,7 +1066,7 @@ traits: get: is: [hasBadRequestResponse] displayName: getOriginHeaderModification - description: Get origin header modification associated with a zone. + description: Get origin header modification associated with a zone. Only the `mrt` type is supported. responses: 200: description: Successfully returned the origin header modification associated with a zone. @@ -1010,9 +1078,14 @@ traits: - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } delete: displayName: deleteOriginHeaderModification - description: Delete the origin header modification associated with a zone. + description: Delete the origin header modification associated with a zone. Only the `mrt` type is supported. responses: 204: description: Successfully deleted the origin header modification associated with a zone. securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } + uriParameters: + type: + description: The type of origin header modification. Only the `mrt` type is supported. + type: string + example: mrt diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml b/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml index 202794d5..3e81dc71 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml @@ -61,6 +61,19 @@ properties: type: string enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] required: false + wildcardCertificateVerificationTXTName: + description: eCDN automatic renewal certificate verification txt name. + type: string + required: false + wildcardCertificateVerificationTXTValue: + description: eCDN automatic renewal certificate verification txt value. + type: string + required: false + wildcardCertificateVerificationStatus: + description: Current status of certificate verification. + type: string + enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] + required: false customHostnameVerificationTXTName: description: Custom Hostname verification txt name. type: string @@ -82,3 +95,9 @@ properties: type: string enum: [ACTIVE, EXPIRED, DELETED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT, PENDING_DELETION, MOVED] required: false + dcvDelegationRecords: + description: eCDN automatic renewal certificate DCV delegation records + type: array + items: + type: DCVDelegationRecord + required: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml index 289fbf72..398d6f38 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml @@ -5,6 +5,10 @@ properties: hostname: description: Hostname that certificate needs to be applied to. type: string + bundleMethod: + description: Bundle method of the custom certificate chain for verification. + type: string + required: false certificateType: description: Indicates certificate is custom or automatic certificate renewal by eCDN. Optional field, if nothing specified the default value is custom. Valid values are custom or automatic. type: string @@ -25,3 +29,7 @@ properties: description: Certificate validation type is optional only for `certificateType` automatic, default value is `http`. Valid values are `http` or `txt`. type: string required: false + wildcardHostname: + description: Set to true for a wildcard custom hostname. + type: boolean + required: false diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml b/apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml new file mode 100644 index 00000000..8d902a9e --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +description: eCDN automatic renewal certificate DCV delegation records. +type: object +properties: + dcvCname: + description: DNS CNAME for Domain Control Validation. + type: string + required: false + dcvCnameValue: + description: DNS CNAME value for Domain Control Validation. + type: string + required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml index 5f4fcb1e..a805d31e 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml @@ -1,5 +1,5 @@ #%RAML 1.0 DataType -description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression as well as disable/enable the rule. +description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression and description as well as disable/enable the rule. type: object properties: enabled: @@ -11,4 +11,9 @@ properties: description: The expression that determines the MRT rule's routing behavior. type: string example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + required: false + description: + description: The description of the rule. Optional. + type: string + example: Phased rollout rule for dev-customer.salesforce.com required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml index 680ed6fe..eeee65ca 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml @@ -10,6 +10,10 @@ properties: description: The expression that determines the rule's routing behavior. type: string example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + description: + description: The description of the rule. + type: string + example: Phased rollout rule for dev-customer.salesforce.com lastUpdated: description: Date when the rule was last updated. type: datetime diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml index c80fa851..3ae32096 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml @@ -9,4 +9,9 @@ properties: expressions: description: An array containing the expressions for each MRT rule. type: string[] - example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] \ No newline at end of file + example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] + descriptions: + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + type: string[] + example: ["Phased rollout rule for dev-customer.salesforce.com"] + required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml index 3ea5068d..c345993e 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml @@ -15,4 +15,9 @@ properties: description: An array containing the expressions for each MRT rule. type: string[] example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] + required: false + descriptions: + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + type: string[] + example: ["Phased rollout rule for dev-customer.salesforce.com"] required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml new file mode 100644 index 00000000..42eceb31 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 DataType +description: mTLS certificate request information. +type: object +properties: + certificate: + description: Public key for the CA certificate in mTLS. + type: string + required: true + privateKey: + description: Private key of the CA certificate in mTLS. + type: string + required: true + name: + description: Certificate name used for ease of understanding. + type: string + required: true diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml new file mode 100644 index 00000000..c24530e4 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml @@ -0,0 +1,41 @@ +#%RAML 1.0 DataType +type: object +description: mTLS certificate information. +properties: + mtlsCertificateId: + pattern: ([a-f0-9]{8}(-[a-f0-9]{4}){4}[a-f0-9]{8}) + description: ID generated by the CDN provider for the certificate. + type: string + required: false + expiresOn: + description: Expiration date for the mTLS certificate. + type: datetime + required: false + issuer: + description: The certificate authority that issued the mTLS certificate. + type: string + required: false + signature: + description: The type of hash used for the mTLS certificate. + type: string + required: false + uploadedOn: + description: Date the mTLS certificate was uploaded. + type: datetime + required: false + ca: + description: Indicates whether the mTLS certificate is a CA or leaf certificate. + type: boolean + required: false + serialNumber: + description: The mTLS certificate serial number. + type: string + required: false + mtlsCertificateName: + description: Optional name for the mTLS certificate used for ease of understanding. + type: string + required: false + mtlsAssociatedCodeUploadHostname: + description: Hostname associated with this mTLS certificate. + type: string + required: false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml b/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml index df3f1a86..e84eb7ad 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml @@ -26,27 +26,6 @@ properties: required: false default: off enum: [off, lossless, lossy] - example: off - minifyJs: - type: string - description: Minify JavaScript for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyHtml: - type: string - description: Minify HTML for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyCss: - type: string - description: Minify CSS for a zone. - required: false - default: off - enum: ["on", "off"] example: off earlyHints: type: string @@ -79,12 +58,6 @@ examples: polish: off webpExample: webp: off - minifyJsExample: - minifyJs: off - minfyHtmlExample: - minfyHtml: off - minifyCssExample: - minifyCss: off earlyHintsExample: earlyHints: off http3Example: diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml b/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml index e37161cb..3669a0ad 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml @@ -10,6 +10,11 @@ properties: description: The action applied by the WAF managed rule. type: string example: block + score: + description: The score of the WAF managed rule. Only applicable for the OWASP Managed Ruleset. + type: integer + example: 5 + required: false categories: description: A list of categories describing the function of the WAF managed rule. type: string[] diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml index 1611cc6a..3fb51949 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml @@ -2,5 +2,6 @@ value : { "enabled": true, - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))" + "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for dev-customer.salesforce.com" } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml index e5c13f88..8080cdfe 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-27T18:32:34.675182Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml index 53beda7a..225e70ae 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, @@ -20,6 +21,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1233333", "enabled": true, @@ -28,6 +30,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"prd-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for prd-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "98745678901234asdfasfasdf1234567", "enabled": true, diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml index fe76d6cb..1823ee1b 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml @@ -2,5 +2,6 @@ value : { "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"] + "expressions": ["(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], + "descriptions": ["Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com"] } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml index f60b250c..fa8a57b9 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml @@ -2,5 +2,6 @@ value : { "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))"] + "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))"], + "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml index fddcaae1..901cc6b7 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml index a75270f0..79592d93 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml index 44f9bdd2..e82f4873 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml @@ -4,6 +4,6 @@ value : "mrtHostname": "customer.mobify-storefront.com", "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))" - ] + "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], + "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml index 78535c13..490c47f4 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, @@ -20,6 +21,7 @@ value: { "id": "12345678901234asdfasfasdf1234568", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234568", "enabled": true, diff --git a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml index f32ca1c1..c41e4794 100644 --- a/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml +++ b/apis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, @@ -20,6 +21,7 @@ value: { "id": "12345678901234asdfasfasdf1234568", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234568", "enabled": true, diff --git a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml new file mode 100644 index 00000000..7b76bcae --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml @@ -0,0 +1,17 @@ +#%RAML 1.0 NamedExample + +value: + { + "data": + { + "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", + "expiresOn": "2022-01-12T04:15:57Z", + "issuer": "DigiCert", + "signature": "SHA256WithRSA", + "uploadedOn": "2020-01-12T04:15:57Z", + "ca": true, + "serialNumber": "432217133297895665180570788458463042229861757760", + "mtlsCertificateName": "mtls_cert_name", + "mtlsAssociatedHostname": "mtls.cert.salesforce.com" + } + } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml new file mode 100644 index 00000000..fa2d3b27 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml @@ -0,0 +1,30 @@ +#%RAML 1.0 NamedExample + +value: + { + "data": + [ + { + "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", + "expiresOn": "2022-01-12T04:15:57Z", + "issuer": "DigiCert", + "signature": "SHA256WithRSA", + "uploadedOn": "2020-01-12T04:15:57Z", + "ca": true, + "serialNumber": "432217133297895665180570788458463042229861757760", + "mtlsCertificateName": "mtls_cert_name", + "mtlsAssociatedHostname": "mtls.cert.salesforce.com" + }, + { + "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8630", + "expiresOn": "2022-01-12T04:15:57Z", + "issuer": "DigiCert", + "signature": "SHA256WithRSA", + "uploadedOn": "2020-01-12T04:15:57Z", + "ca": true, + "serialNumber": "432217133297895665180570788458463042229861757761", + "mtlsCertificateName": "mtls_cert_name", + "mtlsAssociatedHostname": "mtls.cert.salesforce.com" + } + ] + } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml new file mode 100644 index 00000000..4abc66a2 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "name": "mtls_cert_name", + "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg\/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX\/a+5\n0GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT\/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT\/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5\/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7\/a09c6Lz6AU83cKy\/+x3\/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox\/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN\/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT\/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", + "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg\/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX\/a+50GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows\/6tc8YymZkQE7nolapWsQ+upk2y5Xdp\/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ\/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ\/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf\/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy\/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX\/SwTvxHgXzRyJIIT0eJWgx13Wo\n\/WA3Iziimsjf6qE+SI\/8laxPp2A86VMaIt3Z3mJN\/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj\/IFGC8mwNUAb9CzGU3JpU4PxxGFjS\/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS\/qnSg1uMoH2oVPj9TVst\/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY\/jOmQoPewPVsp\/vQTCnE\/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze\/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO\/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO\/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" + } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml index 2aec67bc..8186305d 100644 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml +++ b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml @@ -2,27 +2,47 @@ value: { "data": [ - { - "ruleId": "ef9520b6b08b4e279a6bf67286aa4371", - "action": "block", - "categories": [ - "broken-access-control", - "wordpress" - ], - "description": "Wordpress - Broken Access Control", - "lastUpdated": "2024-04-15T16:49:28.423829Z", - "enabled": true - }, - { - "ruleId": "20e34d3164a340dbb5c5d29203ccff90", - "action": "block", - "categories": [ - "broken-access-control", - "wordpress" - ], - "description": "Wordpress - Broken Access Control - Update Script", - "lastUpdated": "2024-04-15T16:49:28.423829Z", - "enabled": true - } + { + "ruleId": "8ac8bc2a661e475d940980f9317f28e1", + "action": "block", + "score": 5, + "categories": [ + "application-multi", + "attack-generic", + "capec-1000", + "capec-210", + "capec-220", + "capec-272", + "capec-274", + "language-multi", + "paranoia-level-1", + "pci-12-1", + "platform-multi" + ], + "description": "911100: Method is not allowed by policy", + "lastUpdated": "2024-08-19T17:26:58.593021Z", + "enabled": false + }, + { + "ruleId": "53065ac9bd9449f3895f1865467a0e6a", + "action": "block", + "score": 5, + "categories": [ + "application-multi", + "attack-reputation-scanner", + "capec-1000", + "capec-118", + "capec-224", + "capec-310", + "capec-541", + "language-multi", + "paranoia-level-1", + "pci-6-5-10", + "platform-multi" + ], + "description": "913100: Found User-Agent associated with security scanner", + "lastUpdated": "2024-08-19T17:26:58.593021Z", + "enabled": true + } ] } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml index 3ea1a36f..d1e529c4 100644 --- a/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml +++ b/apis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml @@ -1,15 +1,25 @@ #%RAML 1.0 NamedExample value: { - "data": { - "ruleId": "ef9520b6b08b4e279a6bf67286aa4371", - "action": "log", - "categories": [ - "broken-access-control", - "wordpress" - ], - "description": "Wordpress - Broken Access Control", - "lastUpdated": "2024-04-15T16:49:28.423829Z", - "enabled": true - } + "data": { + "ruleId": "53065ac9bd9449f3895f1865467a0e6a", + "action": "log", + "score": 5, + "categories": [ + "application-multi", + "attack-reputation-scanner", + "capec-1000", + "capec-118", + "capec-224", + "capec-310", + "capec-541", + "language-multi", + "paranoia-level-1", + "pci-6-5-10", + "platform-multi" + ], + "description": "913100: Found User-Agent associated with security scanner", + "lastUpdated": "2024-08-19T17:26:58.593021Z", + "enabled": true + } } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml index 2548311c..c1f4177f 100644 --- a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml +++ b/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml @@ -3,8 +3,5 @@ data: brotliCompression: off http2Prioritization: off - minifyCss: off - minfyHtml": off - minifyJs": off polish: off webp: off \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange.json b/apis/cdn/cdn-api-process-apis/exchange.json index 863d6a9a..931175bf 100644 --- a/apis/cdn/cdn-api-process-apis/exchange.json +++ b/apis/cdn/cdn-api-process-apis/exchange.json @@ -1,25 +1,12 @@ { - "dependencies": [ - { - "version": "1.1.12", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.32", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", "main": "cdnapi-process-api.raml", - "assetId": "cdn-api-process-apis", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "name": "CDN API - Process APIs", - "tags": [] + "classifier": "raml", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "cdn-api-process-apis", + "version": "1.0.36", + "apiVersion": "v1", + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml deleted file mode 100644 index e6754c16..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml +++ /dev/null @@ -1,51 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. - To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). - For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). - -type: OAuth 2.0 -displayName: ShopperTokenTaob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml deleted file mode 100644 index f211a3c0..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: OAuth 2.0 -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token - authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml deleted file mode 100644 index 90ec2324..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml +++ /dev/null @@ -1,118 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Selectable`: adds a query parameter called `select` of type `Select` to the request. - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - Select: - description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. - example: - (name,id,variationAttributes.(**)) - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId - Selectable: - usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. - queryParameters: - select?: Select \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json deleted file mode 100644 index 99686e80..00000000 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "main": "commerce-cloud-standards.raml", - "name": "Commerce Cloud Standards", - "classifier": "raml-fragment", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "2.0.1", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/.metadata.json b/apis/checkout/shopper-baskets/.metadata.json index b595f736..d88db6e8 100644 --- a/apis/checkout/shopper-baskets/.metadata.json +++ b/apis/checkout/shopper-baskets/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets/2.0.9", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets/2.0.10", "name": "Shopper Baskets", "description": "Build a checkout experience.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-baskets", - "version": "2.0.9", + "version": "2.0.10", "categories": { "API layer": [ "Process" diff --git a/apis/checkout/shopper-baskets/exchange.json b/apis/checkout/shopper-baskets/exchange.json index d71509a7..cb2e81c2 100644 --- a/apis/checkout/shopper-baskets/exchange.json +++ b/apis/checkout/shopper-baskets/exchange.json @@ -1 +1,31 @@ -{"dependencies":[{"version":"1.1.15","assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"},{"version":"2.0.5","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"},{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.9","originalFormatVersion":"1.0","apiVersion":"v2","descriptorVersion":"0.1.0","classifier":"raml","main":"shopper-baskets.raml","backwardsCompatible":false,"assetId":"shopper-baskets","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Shopper Baskets","tags":[],"metadata":{"projectId":"f2e890b0-bc72-4034-a8c6-84d0bafd978d","branchId":"v2","commitId":"70e1a2438c09143495266999183cbd4e5fd41752"}} \ No newline at end of file +{ + "dependencies": [ + { + "version": "1.1.15", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + }, + { + "version": "2.0.1", + "assetId": "commerce-cloud-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + }, + { + "version": "2.0.6", + "assetId": "checkout-data-types", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + } + ], + "version": "2.0.10", + "originalFormatVersion": "1.0", + "apiVersion": "v2", + "descriptorVersion": "0.1.0", + "classifier": "raml", + "main": "shopper-baskets.raml", + "backwardsCompatible": false, + "assetId": "shopper-baskets", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "Shopper Baskets", + "tags": [] +} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml similarity index 99% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml index 9e059569..3d3d9c1d 100644 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml +++ b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml @@ -1386,7 +1386,7 @@ types: creditCardToken?: description: |- A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data - in the token store. It is read only. + in the token store. type: string example: "E67TY8GQ27X" diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/order-not-found.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml similarity index 100% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml diff --git a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json similarity index 75% rename from apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json rename to apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json index 25886b6a..39a5e446 100644 --- a/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/exchange.json +++ b/apis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json @@ -1 +1 @@ -{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.5","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"e7cad8834ddd908357c9160b31f3f9de2939fa01"}} \ No newline at end of file +{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.6","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"c2e92b6a330fb7dda1e494b148c506dc9e44ab0f"}} \ No newline at end of file diff --git a/apis/checkout/shopper-baskets/shopper-baskets.raml b/apis/checkout/shopper-baskets/shopper-baskets.raml index 0764a2eb..a59374bf 100644 --- a/apis/checkout/shopper-baskets/shopper-baskets.raml +++ b/apis/checkout/shopper-baskets/shopper-baskets.raml @@ -14,7 +14,7 @@ baseUriParameters: uses: BasketTraits: shopper-baskets-traits.raml - dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml + dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml @@ -66,7 +66,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse1: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse1: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml dataTypes.ErrorResponse2: !include examples/error/customer-basket-quota-exceeded-exception.raml dataTypes.ErrorResponse3: !include examples/error/customer-temporary-basket-quota-exceeded-exception.raml '404': @@ -75,7 +75,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml queryParameters: taxMode?: type: string @@ -265,14 +265,14 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: The basket with the given basket ID is unknown. body: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } get: @@ -296,14 +296,14 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: The basket with the given basket ID is unknown. body: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -336,7 +336,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -348,7 +348,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: removeExternalTax?: description: |- @@ -396,7 +396,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } /billing-address: @@ -422,14 +422,14 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: The basket with the given basket ID is unknown. body: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: useAsShipping?: type: boolean @@ -470,7 +470,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is unknown. @@ -478,7 +478,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.CouponItem examples: @@ -508,7 +508,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -519,7 +519,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } uriParameters: @@ -554,7 +554,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -564,7 +564,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.CustomerInfo examples: @@ -592,7 +592,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -603,7 +603,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.GiftCertificateItem examples: @@ -634,7 +634,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -656,7 +656,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -666,7 +666,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.GiftCertificateItem examples: @@ -747,7 +747,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -757,7 +757,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: array items: dataTypes.ProductItem @@ -828,7 +828,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: basket not found @@ -868,7 +868,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -876,7 +876,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -939,7 +939,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -949,7 +949,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: removeExternalTax?: description: |- @@ -987,7 +987,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml '409': description: |- Possible Reasons: @@ -996,7 +996,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml + dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml body: type: dataTypes.TaxItems examples: @@ -1029,7 +1029,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: The basket with the given basket ID is unknown. @@ -1037,7 +1037,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.BasketPaymentInstrumentRequest examples: @@ -1067,7 +1067,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -1078,7 +1078,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -1105,7 +1105,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -1115,7 +1115,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: removeExternalTax?: description: |- @@ -1151,7 +1151,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1159,7 +1159,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } /price-adjustments: @@ -1191,7 +1191,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1199,7 +1199,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.PriceAdjustmentRequest examples: @@ -1228,7 +1228,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1236,7 +1236,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -1268,7 +1268,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The price adjustment ID is not found. @@ -1304,7 +1304,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } put: @@ -1321,7 +1321,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.PriceBookIds examples: @@ -1372,7 +1372,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is @@ -1381,7 +1381,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.Shipment examples: @@ -1416,7 +1416,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '403': description: |- The given shipment ID corresponds to the @@ -1425,7 +1425,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml '404': description: |- The basket with the given basket ID is @@ -1434,7 +1434,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -1478,7 +1478,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1486,7 +1486,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.Shipment examples: @@ -1523,14 +1523,14 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: The basket with the given basket ID is unknown. body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: useAsBilling?: type: boolean @@ -1571,14 +1571,14 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is unknown. body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.ShippingMethod examples: @@ -1608,7 +1608,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -1617,7 +1617,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } /storefront: @@ -1648,7 +1648,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: exchange?: type: boolean @@ -1674,7 +1674,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml '409': description: |- Possible Reasons: @@ -1682,8 +1682,8 @@ types: body: type: ErrorResponse examples: - dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml + dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml + dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } put: @@ -1700,7 +1700,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml '409': description: |- Possible Reasons: @@ -1709,7 +1709,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml + dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml body: type: dataTypes.Taxes examples: diff --git a/apis/customer/shopper-context/.metadata.json b/apis/customer/shopper-context/.metadata.json index 1ba8e672..46aa3bf5 100644 --- a/apis/customer/shopper-context/.metadata.json +++ b/apis/customer/shopper-context/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context/0.0.29", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context/0.0.30", "name": "Shopper Context", "description": "The Shopper Context API enables developers to build highly contextualized shopping experiences for shoppers.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-context", - "version": "0.0.29", + "version": "0.0.30", "categories": { "API layer": [ "System" diff --git a/apis/customer/shopper-context/Examples/shopper-context-example.raml b/apis/customer/shopper-context/Examples/shopper-context-example.raml index ee88d635..9292f3d2 100644 --- a/apis/customer/shopper-context/Examples/shopper-context-example.raml +++ b/apis/customer/shopper-context/Examples/shopper-context-example.raml @@ -14,5 +14,6 @@ value: { "store": "boston" }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ] + "customerGroupIds" : [ "BigSpenders","MobileUsers" ], + "clientIp": "12.12.12.1" } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml b/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml index 705d39f5..1cf686b9 100644 --- a/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml +++ b/apis/customer/shopper-context/Examples/shopper-context-update-request-example.raml @@ -12,5 +12,17 @@ value: "assignmentQualifiers" : { "store": "london" - } + }, + "clientIp": "12.12.12.1", + "geoLocation": { + "countryCode": "US", + "country": "United States of America", + "city": "Boston", + "postalCode": "01730", + "metroCode": "M234", + "region": "NA", + "regionCode": "12345", + "latitude": 10.11, + "longitude": 198.34 + } } \ No newline at end of file diff --git a/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml b/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml index ed77a951..f14bc0e7 100644 --- a/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml +++ b/apis/customer/shopper-context/Examples/shopper-context-update-response-example.raml @@ -13,6 +13,17 @@ value: { "store": "london" }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ] - + "customerGroupIds" : [ "BigSpenders","MobileUsers" ], + "clientIp": "12.12.12.1", + "geoLocation": { + "countryCode": "US", + "country": "United States of America", + "city": "Boston", + "postalCode": "01730", + "metroCode": "M234", + "region": "NA", + "regionCode": "12345", + "latitude": 10.11, + "longitude": 198.34 + } } \ No newline at end of file diff --git a/apis/customer/shopper-context/exchange.json b/apis/customer/shopper-context/exchange.json index d80be78f..45ae5e0d 100644 --- a/apis/customer/shopper-context/exchange.json +++ b/apis/customer/shopper-context/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.29", + "version": "0.0.30", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/customer/shopper-context/shopper-context-description.md b/apis/customer/shopper-context/shopper-context-description.md index 06e17899..a2b212ce 100644 --- a/apis/customer/shopper-context/shopper-context-description.md +++ b/apis/customer/shopper-context/shopper-context-description.md @@ -1,22 +1,23 @@ # API Overview -With the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment) and then used to activate the experiences that are associated with a particular segment, such as promotions. +With the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment) and is then used to activate the experiences that are associated with a particular segment, such as promotions. -You can also get personalized API responses triggered by shopper context from the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments. +You can also get personalized API responses using Shopper Context in the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments. **Warning** -**PLEASE READ CAREFULLY**: -Access tokens whose scope includes the Shopper Context API are powerful: they can activate specific promotions and be used to see how a storefront would appear in the future. Don't share them with untrusted clients like web browsers or client apps. +Access tokens whose scope includes the Shopper Context API are powerful: they can activate specific promotions and be used to see how a storefront would appear in the future. -It is highly recommended to use Shopper Context calls with a private client and to only make setting Shopper Context calls through a secure backend channel. Users of Shopper Context , should avoid making direct calls through a browser or similar clients where the data can be viewed , to avoid potential misuse. +Recommended usage of Shopper Context is setting context using a secure backend channel with a private client. Do not make direct calls through a browser or similar client in which the data can be viewed. -As part of this, when creating a new public client in SLAS for a tenant, if adding Shopper Context scope is attempted, a warning message is displayed to ensure the user is aware of the pitfalls of doing so. +If you attempt to add a Shopper Context scope for a tenant when creating a new public client in SLAS, a warning message is displayed. **Note**: -The context is valid for 1 day for guest shoppers and 7 days for registered shoppers. To extend the context set, create a new context. As a best practice, refresh your contexts periodically to ensure that the right personalized experience is rendered for your shoppers. +For guest shoppers, the context is valid for 1 day and for registered shoppers, 7 days. To extend the context set, create a new context. As a best practice, periodically refresh your contexts to ensure that the right personalized experience is rendered for your shoppers. -With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. +With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` is required for all new customers, and a bad request response code is returned for requests without a `siteId`. + +## Authentication & Authorization To use the Shopper Context API, you must: @@ -29,4 +30,6 @@ For more information, see [Authorization for Shopper APIs](https://developer.sal ## Use Cases -For detailed usage information, see the [Shopper Context guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html). +To integrate Shopper Context API geolocation features with your storefront, see [Shopper Geolocation](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-geolocation.html). + +For additional usage information, see the [Shopper Context Guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html). diff --git a/apis/customer/shopper-context/shopper-context.raml b/apis/customer/shopper-context/shopper-context.raml index 429eacaa..3dd90155 100644 --- a/apis/customer/shopper-context/shopper-context.raml +++ b/apis/customer/shopper-context/shopper-context.raml @@ -50,11 +50,24 @@ types: required: false clientIp: type: string - description: The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available from version 24.7. + description: |- + The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available with B2C Commerce version 24.7. + + When `clientIp` is set, the geolocation based on the `clientIp` is returned in the `X-Geolocation` header in the response. Note: Use/retrieve this header in a case insensitive manner. + + However, if the `geoLocation` attribute is also set in the context, it takes precedence over the `clientIp`, and the `X-Geolocation` header returns the geolocation based on the `geoLocation` attribute. + + The query parameter `evaluateContextWithClientIp` determines whether to evaluate the context using the provided `clientIp`. + - If `evaluateContextWithClientIp` is set to `true`: + - The `clientIp` is saved and used in subsequent requests. + + Note: If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. + - If `evaluateContextWithClientIp` is set to `false`: + - The `clientIp` is not saved and is not used in subsequent requests. required: false geoLocation: type: object - description: The geographic location of the client. When you set a location, it is saved as context for subsequent requests. This overrides any context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. + description: The geographic location of the client. When you set a geolocation, it is saved as context for subsequent requests. This overrides any geolocation context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. required: false properties: city: @@ -118,6 +131,12 @@ types: responses: '200': description: Success retrieving Shopper Context. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. + type: string + required: false + example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" body: application/json: type: ShopperContext @@ -151,13 +170,13 @@ types: - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context, sfcc.shopper-context.rw] } put: description: |- - Creates the shopper's context based on shopperJWT. + Creates the shopper's context based on shopperJWT. If a shopper context already exists, it replaces the entire existing context. With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. displayName: createShopperContext queryParameters: siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. + description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. example: SiteGenesis type: string @@ -167,7 +186,7 @@ types: description: | Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIp` is saved and used in subsequent requests. + - The `clientIp` is saved and used in subsequent requests. If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. - If `evaluateContextWithClientIp` is set to `false`: - The `clientIp` is not saved and will not be used in subsequent requests. @@ -183,8 +202,20 @@ types: responses: '201': description: Created Shopper Context. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + type: string + required: false + example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" '200': description: Updated Shopper Context. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. + type: string + required: false + example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" '400': description: Usid in incoming request does not match Usid in token. body: @@ -250,7 +281,37 @@ types: - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } patch: description: |- - Updates the shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. If a `custom qualifier/assignment qualifer` or an `effectiveDateTime` or a `sourceCode` or a `customerGroupIds` is already present in the existing shopper context, its value is replaced by the corresponding value from the patch body. If a `custom qualifers'` or a `assignment qualifiers'` value is set to `null`, it's deleted from existing shopper context. If `effectiveDateTime` or `sourceCode` value is set to an empty string (""), it's deleted from existing shopper context. If `effectiveDateTime` or `sourceCode` value is set to `null`, it's ignored. If an `effectiveDateTime` or `sourceCode` or `custom/assignment qualifiiers'` value is new, it's added to the existing Shopper context. If `customerGroupIds` is set to empty array `[]` the existing value in shopper context is deleted. + Updates an existing shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. + - If a new attribute that does not exist in the existing shopper context is present, it is added to the context. + -If an attribute is already present in the existing shopper context, its value is replaced by the corresponding value from the new shopper context in the request body as follows: + - `custom qualifiers` or `assignment qualifiers`: + + If the individual qualifier key exists, it is overwritten with the new value. + + If the value of the key is set to null, it is deleted from the existing shopper context. + + If an empty `custom qualifiers` or `assignment qualifiers` object `{}` is passed, the entire qualifier object is deleted. + - `effectiveDateTime` or `sourceCode` or `clientIp`: + + If the new value is set to an empty string (""), it is deleted from the existing shopper context. + + If the new value is set to null, it is ignored. + + If the new value is not empty or null, it overwrites the existing value. + + - `customerGroupIds`: + + If a list of `customerGroupIds` exists, it is replaced by the new list of customer group IDs from the request. + + If `customerGroupIds` is set to an empty array [], the existing list in the shopper context is deleted. + + - `geoLocation`: + + If it exists, the entire `geoLocation` object is replaced with the new value. + + If the new value is set to null, it is ignored. + + If an empty `geoLocation` object `{}` is passed, it is deleted. With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. displayName: updateShopperContext @@ -282,6 +343,11 @@ types: responses: '200': description: Updated Shopper Context. + headers: + X-Geolocation: + type: string + required: false + example: "CountryCode: US; Country: United States of America; City: Boston; PostalCode: 01730; MetroCode: M234; Region: NA; RegionCode: 12345; Latitude: 10.11; Longitude: 198.34" body: application/json: type: ShopperContext diff --git a/apis/customer/shopper-customers/.metadata.json b/apis/customer/shopper-customers/.metadata.json index 399476f1..89dfdc90 100644 --- a/apis/customer/shopper-customers/.metadata.json +++ b/apis/customer/shopper-customers/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers/0.0.49", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers/0.0.50", "name": "Shopper Customers", "description": "Allow customers to manage their own profiles and product lists.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-customers", - "version": "0.0.49", + "version": "0.0.50", "categories": { "API layer": [ "Process" diff --git a/apis/customer/shopper-customers/exchange.json b/apis/customer/shopper-customers/exchange.json index bd8aa234..b38ea2b9 100644 --- a/apis/customer/shopper-customers/exchange.json +++ b/apis/customer/shopper-customers/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.49", + "version": "0.0.50", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/customer/shopper-customers/shopper-customers.raml b/apis/customer/shopper-customers/shopper-customers.raml index 01133e24..5eab4cd8 100644 --- a/apis/customer/shopper-customers/shopper-customers.raml +++ b/apis/customer/shopper-customers/shopper-customers.raml @@ -402,6 +402,11 @@ types: format: int32 required: false example: 1 + hashedLogin: + description: Represents the read-only hashed value for the `loginId` used for Einstein events. This field is available with B2C Commerce version 24.9. + type: string + required: false + example: "123927deac310a3dae382897d9e458bd92ef1d4ea5cdd327a0fcffd8426dfbb5" jobTitle: description: The customer's job title. maxLength: 256 diff --git a/apis/customer/shopper-login/.metadata.json b/apis/customer/shopper-login/.metadata.json deleted file mode 100644 index eed875a9..00000000 --- a/apis/customer/shopper-login/.metadata.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-login/1.39.22", - "name": "Shopper Login and API Access Service", - "description": "Enable shoppers to log in more easily, stay logged in for longer, and get a more fluid and personalized shopping experience powered by Shopper APIs.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-login", - "version": "1.39.22", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Customer" - ], - "CC_Team_Name": [ - "CC-C4E" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ], - "Status": [ - "GA" - ], - "Visibility": [ - "External" - ] - } -} diff --git a/apis/customer/shopper-login/exchange.json b/apis/customer/shopper-login/exchange.json deleted file mode 100644 index 20f7fd61..00000000 --- a/apis/customer/shopper-login/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"shopper-login.raml","name":"Shopper Login and API Access Service","classifier":"raml","tags":[],"dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.15"},{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"}],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"shopper-login","version":"1.39.22","apiVersion":"v1","originalFormatVersion":"1.0","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","metadata":{"projectId":"2f481347-34d0-4264-8ab9-efedb15c99b5","branchId":"master","commitId":"2cd4d4363b35db873f97afe6a944e4e730d7bac4"}} \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/.metadata.json b/apis/customer/slas-admin-uap/.metadata.json new file mode 100644 index 00000000..15127b2c --- /dev/null +++ b/apis/customer/slas-admin-uap/.metadata.json @@ -0,0 +1,13 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin-uap/1.12.23", + "name": "SLAS Admin-UAP", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-admin-uap", + "version": "1.12.23", + "categories": { + "CC API Family": [ + "Customer" + ] + } +} diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/Client.raml b/apis/customer/slas-admin-uap/Examples/Client.raml similarity index 70% rename from testIntegration/stagingApis/customer/slas-admin/Examples/Client.raml rename to apis/customer/slas-admin-uap/Examples/Client.raml index 0f9b24e4..fb449bac 100644 --- a/testIntegration/stagingApis/customer/slas-admin/Examples/Client.raml +++ b/apis/customer/slas-admin-uap/Examples/Client.raml @@ -4,12 +4,11 @@ value: "clientId": "client-id1", "name": "High Adventure Wear", "secret": "secret1234", - "scopes": ["sfcc.products", - "sfcc.catalogs", - "sfcc.customers:ro"], + "scopes": ["sfcc.products sfcc.catalogs sfcc.customers:ro"], "redirectUri": "http://localhost/callback", "callbackUri": "http://localhost:9010/pwd/reset/callback", "channels": ["SiteGenesis", "OtherSite"], - "privateClient": true + "privateClient": true, + "loginEpRestrict": false } \ No newline at end of file diff --git a/apis/customer/slas-admin/Examples/ClientListResponse.raml b/apis/customer/slas-admin-uap/Examples/ClientListResponse.raml similarity index 86% rename from apis/customer/slas-admin/Examples/ClientListResponse.raml rename to apis/customer/slas-admin-uap/Examples/ClientListResponse.raml index 10aed44f..10cbca8c 100644 --- a/apis/customer/slas-admin/Examples/ClientListResponse.raml +++ b/apis/customer/slas-admin-uap/Examples/ClientListResponse.raml @@ -14,7 +14,8 @@ value: "SiteGenesis", "OtherSite" ], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false }, { "clientId": "726bde86-7b99-415d-98ec-9290bad18904", @@ -27,7 +28,8 @@ value: "SiteGenesis", "OtherSite" ], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false }, { "clientId": "slas-default-client-1", @@ -40,7 +42,8 @@ value: "SiteGenesis", "OtherSite" ], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false } ] } diff --git a/apis/customer/slas-admin/Examples/ClientRequest.raml b/apis/customer/slas-admin-uap/Examples/ClientRequest.raml similarity index 87% rename from apis/customer/slas-admin/Examples/ClientRequest.raml rename to apis/customer/slas-admin-uap/Examples/ClientRequest.raml index ccf23f88..720f3538 100644 --- a/apis/customer/slas-admin/Examples/ClientRequest.raml +++ b/apis/customer/slas-admin-uap/Examples/ClientRequest.raml @@ -13,5 +13,6 @@ value: "callbackUri": ["http://localhost:9010/pwd/reset/callback"], "channels": ["SiteGenesis", "OtherSite"], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/ClientWithSecret.raml b/apis/customer/slas-admin-uap/Examples/ClientWithSecret.raml similarity index 87% rename from testIntegration/stagingApis/customer/slas-admin/Examples/ClientWithSecret.raml rename to apis/customer/slas-admin-uap/Examples/ClientWithSecret.raml index 99518e61..48e73285 100644 --- a/testIntegration/stagingApis/customer/slas-admin/Examples/ClientWithSecret.raml +++ b/apis/customer/slas-admin-uap/Examples/ClientWithSecret.raml @@ -11,5 +11,6 @@ value: "callbackUri": "http://localhost:9010/pwd/reset/callback", "channels": ["SiteGenesis", "OtherSite"], - "privateClient": true + "privateClient": true, + "loginEpRestrict": false } \ No newline at end of file diff --git a/apis/customer/slas-admin/Examples/IdentityProvider.raml b/apis/customer/slas-admin-uap/Examples/IdentityProvider.raml similarity index 100% rename from apis/customer/slas-admin/Examples/IdentityProvider.raml rename to apis/customer/slas-admin-uap/Examples/IdentityProvider.raml diff --git a/apis/customer/slas-admin/Examples/IdentityProviderResponse.raml b/apis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml similarity index 100% rename from apis/customer/slas-admin/Examples/IdentityProviderResponse.raml rename to apis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml diff --git a/apis/customer/slas-admin/Examples/IdpListResponse.raml b/apis/customer/slas-admin-uap/Examples/IdpListResponse.raml similarity index 100% rename from apis/customer/slas-admin/Examples/IdpListResponse.raml rename to apis/customer/slas-admin-uap/Examples/IdpListResponse.raml diff --git a/apis/customer/slas-admin/Examples/PasswordActionTemplate.raml b/apis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml similarity index 100% rename from apis/customer/slas-admin/Examples/PasswordActionTemplate.raml rename to apis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml diff --git a/apis/customer/slas-admin/Examples/PasswordActionTemplateRequest.raml b/apis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml similarity index 100% rename from apis/customer/slas-admin/Examples/PasswordActionTemplateRequest.raml rename to apis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml diff --git a/apis/customer/slas-admin/Examples/Tenant.raml b/apis/customer/slas-admin-uap/Examples/Tenant.raml similarity index 100% rename from apis/customer/slas-admin/Examples/Tenant.raml rename to apis/customer/slas-admin-uap/Examples/Tenant.raml diff --git a/apis/customer/slas-admin/Examples/TenantDto.raml b/apis/customer/slas-admin-uap/Examples/TenantDto.raml similarity index 100% rename from apis/customer/slas-admin/Examples/TenantDto.raml rename to apis/customer/slas-admin-uap/Examples/TenantDto.raml diff --git a/apis/customer/slas-admin/Examples/TenantListResponse.raml b/apis/customer/slas-admin-uap/Examples/TenantListResponse.raml similarity index 100% rename from apis/customer/slas-admin/Examples/TenantListResponse.raml rename to apis/customer/slas-admin-uap/Examples/TenantListResponse.raml diff --git a/apis/customer/slas-admin/Examples/UpdateTenant.raml b/apis/customer/slas-admin-uap/Examples/UpdateTenant.raml similarity index 100% rename from apis/customer/slas-admin/Examples/UpdateTenant.raml rename to apis/customer/slas-admin-uap/Examples/UpdateTenant.raml diff --git a/apis/customer/slas-admin-uap/exchange.json b/apis/customer/slas-admin-uap/exchange.json new file mode 100644 index 00000000..8da9ae34 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "slas-admin.raml", + "name": "SLAS Admin-UAP", + "classifier": "raml", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-admin-uap", + "version": "1.12.23", + "apiVersion": "v1", + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/apis/customer/slas-admin/slas-admin-description.md b/apis/customer/slas-admin-uap/slas-admin-description.md similarity index 100% rename from apis/customer/slas-admin/slas-admin-description.md rename to apis/customer/slas-admin-uap/slas-admin-description.md diff --git a/apis/customer/slas-admin/slas-admin.raml b/apis/customer/slas-admin-uap/slas-admin.raml similarity index 96% rename from apis/customer/slas-admin/slas-admin.raml rename to apis/customer/slas-admin-uap/slas-admin.raml index e13d321c..dfe468b1 100644 --- a/apis/customer/slas-admin/slas-admin.raml +++ b/apis/customer/slas-admin-uap/slas-admin.raml @@ -43,7 +43,7 @@ types: TierType: type: string description: | - This read only value relates to the ECOM realm of the customer. + This read only value relates to the B2C Comerce realm of the customer. - XS = Bronze and Bronze+ - S = Silver and Silver+ - M = Gold and Gold+ @@ -66,7 +66,11 @@ types: type: string example: "client-secret" scopes: - description: Scope + description: | + Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. + + Shopper Custom Objects additionally provides a way to do granular scoping besides the standard + `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. type: string[] example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] redirectUri: @@ -86,6 +90,12 @@ types: required: false type: boolean example: true + loginEpRestrict: + description: |- + When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + required: false + type: boolean + example: false ClientRequest: description: Used to create and update a SLAS Client @@ -103,7 +113,11 @@ types: type: string example: "client_secret" scopes: - description: SLAS scopes + description: | + Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. + + Shopper Custom Objects additionally provides a way to do granular scoping besides the standard + `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. type: string[] example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] redirectUri: @@ -123,6 +137,12 @@ types: description: Private or Public Client. If left blank the client will default to private. type: boolean example: true + loginEpRestrict: + description: |- + When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + required: false + type: boolean + example: false ClientListResponse: properties: @@ -426,7 +446,7 @@ types: body: application/json: type: TenantDto - examples: !include Examples/TenantDto.raml + example: !include Examples/TenantDto.raml securedBy: - SlasSecurityScheme.BearerToken: { role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] } responses: @@ -555,8 +575,7 @@ types: body: application/json: type: Client - examples: - Client: !include Examples/Client.raml + example: !include Examples/Client.raml put: description: Create or Update a client. Note - It is strongly advised to refrain from using the “sfcc-shopper-context.rw” scope with a PUBLIC Client because it offers fewer protections and could potentially enable malicious actors to access Shopper Context enabled promotions. It is highly recommended to use “sfcc-shopper-context.rw” scope with a private client. displayName: registerClient diff --git a/apis/customer/slas-admin/slas-bearer-SecurityScheme.raml b/apis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml similarity index 100% rename from apis/customer/slas-admin/slas-bearer-SecurityScheme.raml rename to apis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml diff --git a/apis/customer/slas-admin/.metadata.json b/apis/customer/slas-admin/.metadata.json deleted file mode 100644 index 2aa6d471..00000000 --- a/apis/customer/slas-admin/.metadata.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin/1.12.18", - "name": "Shopper Login and API Access Admin", - "description": "Enable administrators to set up clients and identity providers for the Shopper Login API Service (SLAS).", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin", - "version": "1.12.18", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Customer" - ], - "CC_Team_Name": [ - "CC-C4E" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/apis/customer/slas-admin/exchange.json b/apis/customer/slas-admin/exchange.json deleted file mode 100644 index ceb34f03..00000000 --- a/apis/customer/slas-admin/exchange.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "main": "slas-admin.raml", - "name": "SLAS Admin", - "classifier": "raml", - "tags": [], - "dependencies": [ - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "api-standards", - "version": "1.1.15" - } - ], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin", - "version": "1.12.18", - "apiVersion": "v1", - "backwardsCompatible": false, - "originalFormatVersion": "1.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/apis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/apis/customer/slas-shopper-login-uap/.metadata.json b/apis/customer/slas-shopper-login-uap/.metadata.json new file mode 100644 index 00000000..a5ce2920 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/.metadata.json @@ -0,0 +1,13 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-shopper-login-uap/1.39.33", + "name": "SLAS Shopper Login-UAP", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-shopper-login-uap", + "version": "1.39.33", + "categories": { + "CC API Family": [ + "Customer" + ] + } +} diff --git a/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml b/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml new file mode 100644 index 00000000..d6b67816 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 NamedExample +value: + { + "keys": [ + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", + "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", + "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", + "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", + "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", + "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", + "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" + } + ] +} + \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange.json b/apis/customer/slas-shopper-login-uap/exchange.json new file mode 100644 index 00000000..7a8e1177 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-login.raml", + "name": "SLAS Shopper Login-UAP", + "classifier": "raml", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-shopper-login-uap", + "version": "1.39.33", + "apiVersion": "v1", + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/apis/customer/shopper-login/shopper-login-and-api-access-description.md b/apis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md similarity index 100% rename from apis/customer/shopper-login/shopper-login-and-api-access-description.md rename to apis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md diff --git a/apis/customer/shopper-login/shopper-login.raml b/apis/customer/slas-shopper-login-uap/shopper-login.raml similarity index 87% rename from apis/customer/shopper-login/shopper-login.raml rename to apis/customer/slas-shopper-login-uap/shopper-login.raml index 3b22d364..15266ef2 100644 --- a/apis/customer/shopper-login/shopper-login.raml +++ b/apis/customer/slas-shopper-login-uap/shopper-login.raml @@ -15,7 +15,7 @@ traits: uses: ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml types: ResponseType: type: string @@ -42,7 +42,7 @@ types: enum: [access_token, refresh_token] ThirdPartyIdps: type: string - description: IDPs that work with SLAS. Use `ecom` when using ECOM is the identity provider. + description: IDPs that work with SLAS. Use `ecom` when using B2C Commerce is the identity provider. enum: [ apple, @@ -50,6 +50,7 @@ types: azure, azure_adb2c, cognito, + default, ecom, facebook, forgerock, @@ -121,7 +122,12 @@ types: maxLength: 40 example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: |- + The channel (B2C Commerce site) that the user is associated with. + + **Important: We strongly recommended using the channel_id query parameter because it will be required in the future. + + **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. required: false type: string maxLength: 100 @@ -130,7 +136,7 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` @@ -185,7 +191,7 @@ types: example: "1000005" enc_user_id: type: string - description: MD5 Hashed ECOM user ID in uppercase. + description: MD5 Hashed B2C Commerce user ID in uppercase. example: "45D39A8499A95288F82855427EBA99B5" idp_access_token: type: string @@ -230,7 +236,7 @@ types: maxLength: 128 example: "samantha.sampleson@example.com" idp_origin: - description: The external IDP that the user is associated with. Use `ecom` as the `idp_origin` value when using ECOM as the identity provider. + description: The external IDP that the user is associated with. Use `ecom` as the `idp_origin` value when using B2C Commerce as the identity provider. type: ThirdPartyIdps maxLength: 16 example: "google" @@ -254,13 +260,15 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` * `true` If not added the `dnt` value will default to `false`. + + Note: The default value for `dnt` is set to `false` for SLAS token requests except for Trusted Agent token request. For Trusted Agent token requests the default value for `dnt` is `true`. required: false type: string @@ -286,7 +294,7 @@ types: maxLength: 40 example: "6c388ebd-6843-4863-aef9-781382c9e8cd" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string required: true maxLength: 100 @@ -310,12 +318,18 @@ types: login_id: description: |- The ID is the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. type: string required: true maxLength: 128 example: "jack.shopper@example.com" idp_origin: - description: The IDP that the user is associated with. + description: |- + The IDP that the user is associated with. + + For TAOB Guest the `idp_origin` parameter should be `slas`. If set to any other IDP origin a 400 Bad Request will be returned. + type: string required: true maxLength: 16 @@ -329,22 +343,39 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` * `true` - If not added the `dnt` value will default to `false`. + If not added the `dnt` value will default to `true` + + Note: The default value for `dnt` is set to `true` for all TAOB flows. This is opposite from other SLAS token requests. required: false type: string example: "true" + state: + description: |- + This is an optional parameter to set state for the trusted agent session. + + If the `state` parameter is used it will be validated and a 400 Bad Request will be returned if missing or invalid. + + For TAOB Guest you must pass the `state` parameter to transfer the state from the TAOB Guest authorization call to the token call. + The `state` parameter value is returned with the authorization code in the response url from the TAOB guest authorization call, + for example: `.../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b`. + + You would use `taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b` for the `state` value in the TAOB request. + + required: false + type: string + example: "taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513" SessionBridgeTokenRequest: properties: code: description: |- - Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. + Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. The SLAS client must have the `sfcc.session_bridge` scope to request a session bridge token. type: string maxLength: 256 example: "M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA" @@ -355,7 +386,7 @@ types: maxLength: 40 example: "6c388ebd-6843-4863-aef9-781382c9e8cd" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string required: true maxLength: 100 @@ -373,11 +404,10 @@ types: description: |- Cookie passed back from the '/authorize' endpoint call for session bridge. This parameter is optional and not needed if using the `dwsgst` parameter. - DEPRECATED - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for session-bridge/token calls. It is recommended to transition over to using a SESB `dwsgst` token. + **DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. The `dwsid` will still be needed for `registered` user session-bridge/token calls. - type: string example: pATvWUO3KSdt-Kmcy-8-RsxKnoO4BMDwoec7ACVlW6tZNnhaOL7gt7mHqL-h7QYn5TyE61z0DeSMCqxngsWeHw== @@ -394,7 +424,7 @@ types: example: session_bridge login_id: description: |- - The ID of the shopper for session bridge access. + The ID of the shopper for session bridge access. If requesting a token for a guest user set login_id to `guest`. type: string required: true maxLength: 128 @@ -403,8 +433,17 @@ types: type: string required: false description: |- - Signed guest Json Web Token (JWT) that was obtained from ECOM. This parameter is optional and not needed if using the `dwsid` parameter. + Signed guest Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the guest `dwsid` parameter. example: eyJraWQiOiIxNjgxNTU5OTkxNzkwIiwiYWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6IkJHVk5fUzA1IiwiZHdzaWQiOiJuWHRhckdNU2ZxbnBaSUNJUGFKTHJSWGZ6b2lWYXBBU3BBTFNfeFdUMV9QZjRBWDA0N1lMQ1dSUFByM1BiSEl4d2RaODFiVGZoM3M1Wlgza2NhOG0zZz09IiwiY3VzdG9tZXJJZCI6ImJjQXI5N2NuMm1ZdmhjMGhqTGsxYmFXSzRqIiwiaWF0IjoxNjg1MTI4NjM2LCJleHAiOjE2ODUxMjkyMzksImlzcyI6ImNvbW1lcmNlY2xvdWQvcHJvZHVjdGlvbi9iZ3ZuczA1IiwidmVycyI6IjEiLCJ0eXBlIjoiRyJ9.BGY4kyOXbQSzZxubE3BrSzhf8ByehGUfJa7_J2XRQ93xY4dAOhF_xbXcHmBaEUBUzSny-Cf0pATzEaSsKpTxkg + dwsrst: + type: string + required: false + description: |- + Signed registered customer Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the registered user `dwsid` parameter. + + **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. + + example: eyJraWQiOiIxNjMwOTM5MzAyODE0IiwiYWxnIjoiRVMyNTYifQ.eyJmbmFtZSI6Ikx1a2UiLCJkd3NpZCI6IkdkWWpSQjViZGVpU0xkb3Ixdy15QzRTZ1l3dDJHYl9Ec255OG5nZ2I3c0VDajVMWndnT0ZJWTZsa21sNlVRMXZoazl1SDVJUGxMek5rZTJhNTV2YU9nPT0iLCJ2ZXJzIjoiMiIsImlzcyI6InNsYXMvZGV2L2Jndm5fc3RnIiwidHlwZSI6IlIiLCJsbmFtZSI6IlNreXdhbGtlciIsInJjdXN0b21lcklkIjoiOGgzNHh6dDQxOTVpOHA1MmE2ejAzczIxNDgiLCJwaG9uZSI6bnVsbCwidGVuYW50SWQiOiJiZ3ZuX3N0ZyIsImN1c3RvbWVySWQiOiI0OHB1eXA4dTdmMmM5NHgzMTUxeDA4bGEweiIsImV4cCI6MTczNTE1NDQ4NiwiaWF0IjoxNzMyNTYyNDg2LCJlbWFpbCI6Imx1a2Uuc2t5d2Fsa2VyQG5hYm9vLm9yZyJ9.Q2nF0wuEl1X7aVZ-ycCwxDjjmq5toJred5AEDqKXXjj89BY_0HIQoAEMbx9UDqOmhjdBkxN4idVzYVoXcl0c2A usid: type: string required: false @@ -414,7 +453,7 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` @@ -427,7 +466,7 @@ types: example: "true" PasswordlessLoginRequest: type: object - description: A request for a passwordless login token. This is only available for resgistered users using ECOM. + description: A request for a passwordless login token. This is only available for resgistered users using B2C Commerce. properties: user_id: description: User ID for logging in. @@ -449,7 +488,7 @@ types: type: string example: 18cda486-fe32-4e27-888b-6e4f89938e67 channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string maxLength: 100 example: "RefArch" @@ -463,7 +502,7 @@ types: example: "http://localhost:9050/passwordless/login/callback" PasswordActionRequest: type: object - description: A request for a password reset token. This is only available for resgistered users using ECOM. + description: A request for a password reset token. This is only available for resgistered users using B2C Commerce. properties: user_id: description: User ID for logging in. This is the id that is used to log into SFCC. @@ -475,7 +514,7 @@ types: type: PasswordActionModes example: "callback" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string example: "RefArch" locale: @@ -484,7 +523,10 @@ types: type: string example: "en-us" client_id: - description: The public client ID. Requires setting `grant_type` to `passwordless_login_pkce` + description: -| + The public client ID. Requires setting `grant_type` to `passwordless_login_pkce`. + + When using the `hint` query parameter either a public or private client ID can be used. required: false type: string maxLength: 40 @@ -516,12 +558,21 @@ types: required: false type: string example: "okta" + hint: + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. + required: false + type: string + example: "cross_device" + PasswordActionVerifyRequest: type: object description: A request for creating a new password using the password action token. properties: client_id: - description: The public client ID. + description: -| + The public client ID. + + When using the `hint` query parameter either a public or private client ID can be used. type: string maxLength: 40 example: "6b200ebd-7843-4073-aef9-792482c9e1de" @@ -543,11 +594,17 @@ types: type: string example: "new_password" channel_id: - description: The channel that the request is for. For an ECOM request, this is angalous to the site ID. + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. required: true type: string maxLength: 100 example: "RefArch" + hint: + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. + required: false + type: string + example: "cross_device" + PasswordLessLoginTokenRequest: type: object description: A request for an access token using a passwordless token. @@ -617,8 +674,18 @@ types: type: string required: false example: "Missing access token or refresh token." - LoginRequest: + JwksSuccessResponse: type: object + properties: + keys: + type: array + LoginRequest: + description: |- + Supports multiple custom parameters to invoke hooks in B2C Commerce API. Multiple custom parameters can be added. Use the `c_` prefix to distinguish custom query parameters from standard query parameters, for example: c_captcha=true + + If there is a validation error, a 400 Bad_Request with the details of the error is thrown. + type: + CommerceCloudStandards.OpenObject properties: client_id: description: SLAS client ID. Required when the grant type is `authorization_code_pkce`. @@ -661,7 +728,7 @@ types: type: string example: "18cda486-fe32-4e27-888b-6e4f89938e67" channel_id: - description: The channel that the request is for. For an ECOM request, this is angalous to the site ID. + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. required: true type: string maxLength: 100 @@ -680,17 +747,18 @@ types: minLength: 43 maxLength: 128 example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" + /organizations/{organizationId}: type: CommerceCloudStandards.Organization /oauth2: /login: description: | **Deprecation notice**: The `GET` method is deprecated for this endpoint. Please use `POST` instead. - Get authorization code after authenticating a user using a B2C Commerce (ECOM) instance. + Get authorization code after authenticating a user using a B2C Commerce (B2C Commerce) instance. post: description: | - Logs in a shopper with credentials that are managed by a B2C Commerce instance (ECOM). It follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). + Logs in a shopper with credentials that are managed by a B2C Commerce instance (B2C Commerce). It follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). For PKCE values: - The `code_verifier` string is a random string used for the `/token` endpoint request. @@ -724,21 +792,18 @@ types: type: LoginRequest responses: 303: - description: Success. The authorization code is added to the `redirect_uri`. + description: Success. The authorization code and usid is added to the location header and sent to the callback as query parameters. body: application/json: type: string example: | - { - "authorizationCode": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiS", - "usid": "156c4e69-e89b-406b-a4b7-576980bb234e" - } + location: https://:/callback?usid=d11392ae-cbf0-4296-9723-8f9f0e49fd73&state=1728422547223&scope=openid%20offline_access&code=561X8NOKvoRezq2aucazwwkrevUoIP37YRTfsRHX8ow 400: description: Bad Request body: application/problem+json: type: Oauth2ErrorResponse - example: | + example: |- { "error": "invalid_request", "error_description": "Bad or missing client_id." @@ -774,7 +839,7 @@ types: "error_description": "The server has encountered a situation that it doesn't know how to handle." } /passwordless/login: - description: Log in a customer using Core with their customer profiles loaded in ECOM. Allows the user to authenticate when their identity provider (Core) is down. Client must have the `sfcc.pwdless_login` scope to access this endpoint. + description: Log in a customer using Core with their customer profiles loaded in B2C Commerce. Allows the user to authenticate when their identity provider (Core) is down. The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. post: description: Allows the customer to authenticate when their identity provider is down. displayName: authorizePasswordlessCustomer @@ -835,7 +900,7 @@ types: description: Log out a shopper. get: description: |- - Log out a shopper. The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (ECOM) instance, the OCAPI JWT is also revoked. This should be called for Registered users that have logged in using SLAS. his should be called for registered users that have logged in using SLAS. This endpoint is not for use with guest users. + Log out a shopper. The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (B2C Commerce) instance, the OCAPI JWT is also revoked. This should be called for Registered users that have logged in using SLAS. his should be called for registered users that have logged in using SLAS. This endpoint is not for use with guest users. Required header: Authorization header bearer token of the Shopper access token to logout. @@ -865,7 +930,7 @@ types: required: true type: string channel_id: - description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with ECOM. + description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with B2C Commerce. required: false type: string maxLength: 100 @@ -984,13 +1049,13 @@ types: To use a public client, set `hint` to `guest` and use a public client ID to get an authorization code. If no `hint` is provided, the preferred IDP of the tenant is used by default. - For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. + For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. For session bridge authorization the SLAS Client `sfcc.session_bridge` scope. required: false type: string maxLength: 256 example: "google" channel_id: - description: The channel that this request is for. For an ECOM request, this is angalous to the site ID. + description: The channel that this request is for. For a B2C Commerce request, this is angalous to the site ID. required: false type: string maxLength: 100 @@ -1002,7 +1067,7 @@ types: The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - required: true + required: false type: string minLength: 43 maxLength: 128 @@ -1016,7 +1081,7 @@ types: type: string maxLength: 256 example: "en es-A fr-CA" - + responses: 303: description: Success. The authorization code is added to the `redirect_uri`. @@ -1076,6 +1141,8 @@ types: See the Body section for required parameters, including `grant_type` and others, depending on the value of `grant_type`. **Important**: We strongly recommended using the `channel_id` query parameter because **it will be required in the future**. + + **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. displayName: getAccessToken is: - SlasRateLimit: @@ -1143,11 +1210,12 @@ types: "error_description": "The server has encountered a situation that it doesn't know how to handle." } /session-bridge/token: - description: Evaluate the session bridge authorization code and issue a shopper token (JWT). + description: Evaluate the session bridge authorization code and issue a shopper token (JWT). The SLAS client must have the `sfcc.session_bridge` scope to access this endpoint. + post: description: |- - Get a shopper JWT access token for a registered customer using session bridge. - + Get a shopper JWT access token for a registered customer using session bridge. + For public client id requests the grant_type must be set to `session_bridge`. For private client_id and secret the grant_type must be set to `client_credentials` along with a basic authorization header. @@ -1156,6 +1224,8 @@ types: The `dwsid` will still be needed for `registered` user `session-bridge/token` calls. + **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. + displayName: getSessionBridgeAccessToken is: - SlasRateLimit: @@ -1219,9 +1289,13 @@ types: description: Shopper OAuth 2.1 token endpoint. post: description: |- - Get a shopper JWT access token for a registered customer whose credentials are stored using a third party system. + Get a shopper JWT access token for a registered customer whose credentials are stored using a third party. The SLAS client must have the `sfcc.ts_ext_on_behalf_of` scope to access this endpoint. + + + For trusted-system requests, a basic authorization header that includes a SLAS private client ID and SLAS private client secret can be used in place of the bearer token. - For trusted-system requests, a basic authorization header that includes a SLAS client ID and SLAS client secret can be used in place of the bearer token. + + For trusted-system requests SLAS public client_ids can not be used. displayName: getTrustedSystemAccessToken is: @@ -1300,7 +1374,7 @@ types: "error_description": "The server has encountered a situation that it doesn't know how to handle." } /trusted-agent/authorize: - description: Obtains a new agent on behalf authorization token for a registered customer. + description: Obtains a new agent on behalf authorization token for a registered customer. The SLAS client must have the `sfcc.ta_ext_on_behalf_of` scope to access this endpoint. get: description: Obtains a new agent on behalf authorization token for a registered customer. displayName: getTrustedAgentAuthorizationToken @@ -1318,7 +1392,7 @@ types: maxLength: 40 example: "6c388ebd-6843-4863-aef9-781382c9e8cd" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string required: true maxLength: 100 @@ -1339,11 +1413,16 @@ types: login_id: description: |- The ID of the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. type: string maxLength: 128 example: "jack.shopper@example.com" idp_origin: - description: The IDP that the shopper is associated with. + description: |- + The IDP that the shopper is associated with. + + For TAOB Guest the `idp_origin` must be set to `slas`. This is standard for SLAS Guest requests. If any other `idp_origin` value is used, SLAS returns a bad request. type: string required: true maxLength: 16 @@ -1411,8 +1490,10 @@ types: The value of the `_sfdc_client_auth` header must be a Base64-encoded string. The string is composed of a SLAS private client ID and client secret, separated by a colon (`:`). For example, `privateClientId:privateClientsecret` becomes `cHJpdmF0ZUNsaWVudElkOnByaXZhdGVDbGllbnRzZWNyZXQ=` after Base64 encoding. displayName: getTrustedAgentAccessToken securedBy: - - CommerceCloudStandards.BearerToken: - { Bearer J1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw } + - CommerceCloudStandards.ShopperToken: + { + Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, + } is: - SlasRateLimit: responseStatus: 200 @@ -1489,7 +1570,10 @@ types: } /password: /reset: - description: Request a password reset token. The password reset token will be sent to the shopper using a redirect URI back to the merchant who will then send the token to the customer. + description: -| + Request a password reset token. The password reset token will be sent to the shopper using a redirect URI back to the merchant who will then send the token to the customer. + + Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. post: description: Request a reset password token displayName: getPasswordResetToken @@ -1537,7 +1621,12 @@ types: } /action: - description: Creates a new password. Creates a new password that is passed in with the password action token that was sent from the `/password/reset` endpoint. + description: -| + Creates a new password. Creates a new password that is passed in with the password action token that was sent from the `/password/reset` endpoint. + + Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. + + When using the `hint` query parameter either a public or private client_id can be used. post: description: Creates a new password displayName: resetPassword @@ -1591,7 +1680,7 @@ types: "error_description": "A service that the server relies on is down or is having difficulty." } /passwordless/token: - description: Evaluate the passwordless token and issue a shopper token (JWT). + description: Evaluate the passwordless token and issue a shopper token (JWT). The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. post: description: Issue a shopper token (JWT). displayName: getPasswordLessAccessToken @@ -1815,7 +1904,7 @@ types: # example: "eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw" queryParameters: channel_id: - description: Used when getting user information for a SFCC login. For an ECOM customer, this is angalous to the site ID. Required when getting user information for an ECOM customer. + description: Used when getting user information for a SFCC login. For an B2C Commerce customer, this is angalous to the site ID. Required when getting user information for an B2C Commerce customer. required: false maxLength: 100 type: string @@ -1867,7 +1956,7 @@ types: description: | Returns a JSON listing of the OpenID/OAuth endpoints, supported scopes and claims, public keys used to sign the tokens, and other details. - For performance purposes, the `/jwks` endpoint is rate limited to 25 call per minute. + For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. displayName: getWellknownOpenidConfiguration responses: 200: @@ -1938,42 +2027,26 @@ types: } /jwks: description: | - The JSON Web Key Set (JWKS) is a set of keys that contains the public keys used to verify any JSON Web Token (JWT) issued by the authorization server and signed using the EC256 signing algorithm. + The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. + + To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - For performance purposes, the `/jwks` endpoint is rate limited to 25 call per minute. + For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html get: description: | - Returns a JSON Web Key Set (JWKS) containing the current, past, and future public keys. The key set enables clients to validate the Shopper JSON Web Token (JWT) issued by SLAS. + The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. + + To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - For performance purposes, the `/jwks` endpoint is rate limited to 25 call per minute. + For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html displayName: getJwksUri responses: 200: - description: Success + description: Success, the response body contains the JWKS keys. body: - application/json: - type: string - example: | - { - "keys": [ - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", - "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", - "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", - "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", - "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" - } - ] - } + type: JwksSuccessResponse + examples: + JwksSuccessResponse: !include examples/jwks-get-response.raml 400: description: Bad Request body: diff --git a/apis/customer/shopper-login/slasJWT-BearerSecurityScheme.raml b/apis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml similarity index 100% rename from apis/customer/shopper-login/slasJWT-BearerSecurityScheme.raml rename to apis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml diff --git a/apis/customer/shopper-login/traits/private/slasRateLimitHeaders.raml b/apis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml similarity index 100% rename from apis/customer/shopper-login/traits/private/slasRateLimitHeaders.raml rename to apis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml diff --git a/apis/customer/shopper-login/traits/slasRateLimit.raml b/apis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml similarity index 100% rename from apis/customer/shopper-login/traits/slasRateLimit.raml rename to apis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml diff --git a/apis/discovery/shopper-search/.metadata.json b/apis/discovery/shopper-search/.metadata.json index 34a64c6e..35e42bcb 100644 --- a/apis/discovery/shopper-search/.metadata.json +++ b/apis/discovery/shopper-search/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.41", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.42", "name": "Shopper Search", "description": "product search and helpful search suggestions.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-search", - "version": "1.0.41", + "version": "1.0.42", "categories": { "API layer": [ "Process" diff --git a/apis/discovery/shopper-search/Examples/product-search-result-example.raml b/apis/discovery/shopper-search/Examples/product-search-result-example.raml index ae782f5f..b77b733f 100644 --- a/apis/discovery/shopper-search/Examples/product-search-result-example.raml +++ b/apis/discovery/shopper-search/Examples/product-search-result-example.raml @@ -209,6 +209,16 @@ value: ] } ], + "pageMetaTags": [ + { + "id": "robots", + "value": "index,follow" + }, + { + "id": "title", + "value": "Find amazing products in Storefront Catalog - EN' today" + } + ], "query": "shirt", "refinements": [ { diff --git a/apis/discovery/shopper-search/exchange.json b/apis/discovery/shopper-search/exchange.json index 7ae4d1ed..2b7e0117 100644 --- a/apis/discovery/shopper-search/exchange.json +++ b/apis/discovery/shopper-search/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "1.0.41", + "version": "1.0.42", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/discovery/shopper-search/shopper-search-library.raml b/apis/discovery/shopper-search/shopper-search-library.raml index 1eda8e2c..afb231fc 100644 --- a/apis/discovery/shopper-search/shopper-search-library.raml +++ b/apis/discovery/shopper-search/shopper-search-library.raml @@ -9,6 +9,20 @@ traits: BadRequest: !include /Traits/ProductSearchSelectBadRequest.raml types: #types for product-search resource + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + required: false + example: "title" + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + required: false + example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." + ProductRef: description: Document representing a product reference. properties: @@ -292,6 +306,12 @@ types: hits: description: A sorted array of search hits (`ProductSearchHit` objects). The array can be empty. type: ProductSearchHit[] + pageMetaTags: + description: Page Meta tags associated with the search result. + type: array + items: + PageMetaTag + required: false query: description: The query string that was searched for. type: string diff --git a/apis/discovery/shopper-search/shopper-search.raml b/apis/discovery/shopper-search/shopper-search.raml index 1e6c7f62..008aeba5 100644 --- a/apis/discovery/shopper-search/shopper-search.raml +++ b/apis/discovery/shopper-search/shopper-search.raml @@ -87,24 +87,24 @@ description: !include shopper-search-description.md type: CommerceCloudStandards.LocaleCode required: false expand: - description: The expand parameter. A comma-separated list with the allowed values (availability, images, prices, represented_products, variations, promotions, custom_properties). The expand parameter `availability, images, prices, represented_products, variations` is used as the default value when no expand parameter is provided. The value `none` can be used to turn off all expand options. The expand values `promotions` and `custom_properties` are optional and are available from version 24.3 and 24.4, respectively. + description: A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`. By default, the expand parameter includes `availability, images, prices, represented_products, variations`. Use none to disable all expand options. **The page_meta_tags expand value is optional and is available B2C Commerce version 25.2.** type: array items: - enum: [none,availability,images,prices,represented_products,variations,promotions,custom_properties] + enum: [none,availability,images,prices,represented_products,variations,promotions,custom_properties,page_meta_tags] required: false example: [prices,represented_products] allImages: - description: When this flag is passed along with the expand parameter `images` in the request, a property named `imageGroups`, which contains an image model, is returned in the response. If the flag is set to `true`, the whole image model is returned. If it is set to `false`, the returned image model contains only matching images. If no flag is passed in the request, the response does not include the `imageGroups property`. This parameter is available from version 24.3. + description: When the `images` expand parameter is used with this flag, the response includes the `imageGroups property`, which contains an image model. If this flag is true, the full image model is returned. If false, only matching images are included. If no flag is passed, the `imageGroups` property is omitted from the response. type: boolean required: false example: false perPricebook: - description: When this flag is passed as `true` in the request, along with the expand parameter `prices`, then per PriceBook prices and tiered prices (if available) are returned. This parameter is available from version 24.3. + description: When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available). type: boolean required: false example: false allVariationProperties: - description: The flag that indicates which variation properties are to be included in the result. When the flag is passed as `true` along with the expand parameter `variations` in the request, all variation properties (`variationAttributes`, `variationGroups`, and `variants`) are returned. When it is passed as `false` along with the expand parameter `variations` in the request, only the default property (`variationAttributes`) is returned. This parameter is available from version 24.3. + description: The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned. type: boolean required: false example: false diff --git a/apis/pricing/coupons/.metadata.json b/apis/pricing/coupons/.metadata.json index 4cd68e46..195de24b 100644 --- a/apis/pricing/coupons/.metadata.json +++ b/apis/pricing/coupons/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons/1.0.28", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons/1.0.30", "name": "Coupons", "description": "Manage coupons for use in your storefront.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "coupons", - "version": "1.0.28", + "version": "1.0.30", "categories": { "API layer": [ "System" diff --git a/apis/pricing/coupons/coupons.raml b/apis/pricing/coupons/coupons.raml index 138cd615..da6ca484 100644 --- a/apis/pricing/coupons/coupons.raml +++ b/apis/pricing/coupons/coupons.raml @@ -48,7 +48,7 @@ types: type: boolean example: false exportedCodeCount: - description: The number of coupon codes attached to the coupon that have been issued (request search only). + description: The number of coupon codes attached to the coupon that have been issued (read only). type: integer format: int32 example: @@ -60,7 +60,7 @@ types: example: 2019-10-30T04:23:59Z required: false redemptionCount: - description: The number of times the coupon has been redeemed (request search only). + description: The number of times the coupon has been redeemed (read only). The count is updated once per hour. type: integer format: int32 example: 3 @@ -90,7 +90,7 @@ types: codePrefix: SG numberOfCodes: 500000 totalCodesCount: - description: The total number of coupon codes associated with this coupon. + description: The total number of coupon codes associated with this coupon (read only). The count is updated once per hour. type: integer format: int32 required: false @@ -347,6 +347,11 @@ types: description: |- Redeems a coupon code for an existing coupon within the selected site. The coupon code must be redeemable. + --- + ***Note: Coupon redemptions are evaluated during checkout. A large number of coupon redemptions negatively impacts order creation performance and scale.*** + 1. Avoid importing unnecessary coupon redemptions. + 2. Clean up coupon codes and related redemptions when they are no longer required. + --- displayName: redeemCoupon body: application/json: diff --git a/apis/pricing/coupons/exchange.json b/apis/pricing/coupons/exchange.json index ef10aa9c..5b505603 100644 --- a/apis/pricing/coupons/exchange.json +++ b/apis/pricing/coupons/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "1.0.28", + "version": "1.0.30", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/product/catalogs/.metadata.json b/apis/product/catalogs/.metadata.json index 9e793efe..3bd3a173 100644 --- a/apis/product/catalogs/.metadata.json +++ b/apis/product/catalogs/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs/0.0.35", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs/0.0.36", "name": "Catalogs", "description": "Build searchable product categories and catalogs.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "catalogs", - "version": "0.0.35", + "version": "0.0.36", "categories": { "API layer": [ "System" diff --git a/apis/product/catalogs/catalogs-description.md b/apis/product/catalogs/catalogs-description.md index 3bbbb2f0..678ffaf5 100644 --- a/apis/product/catalogs/catalogs-description.md +++ b/apis/product/catalogs/catalogs-description.md @@ -13,6 +13,8 @@ For more information, see the [Catalogs](https://documentation.b2c.commercecloud The client managing catalog and category information must have access to the Categories and Catalogs resources. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. +You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + ## Use Cases Here are some common use cases for the API: diff --git a/apis/product/catalogs/catalogs.raml b/apis/product/catalogs/catalogs.raml index de656f25..34a0824f 100644 --- a/apis/product/catalogs/catalogs.raml +++ b/apis/product/catalogs/catalogs.raml @@ -43,6 +43,8 @@ types: example: 10 Catalog: description: Document representing a catalog. + type: + CommerceCloudStandards.OpenObject properties: assignedProductCount: description: The count of products assigned to the catalog. It is read only. @@ -125,6 +127,12 @@ types: minLength: 1 type: string example: mens + CatalogCategorySearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/catalog-search-body.raml + CatalogSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/catalog-search-body-query.raml Categories: description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags*. properties: @@ -149,6 +157,8 @@ types: example: 100 Category: description: Document representing a category. + type: + CommerceCloudStandards.OpenObject properties: catalogId: description: The ID of the catalog that contains it. @@ -389,6 +399,9 @@ types: example: { "default": "Summer Bomber Jacket" } + CategoryProductAssignmentSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/product-assignment-body-example.raml CategoryProductAssignmentSearchResult: description: Document representing a product search result. type: CommerceCloudStandards.PaginatedSearchResult @@ -396,6 +409,9 @@ types: hits: description: The sorted array of search hits. This array can be empty. type: CategoryProductAssignment[] + CategorySearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/category_search-body-example.raml CategorySearchResult: description: Document representing a catalog search result. type: CommerceCloudStandards.PaginatedSearchResult @@ -520,6 +536,8 @@ types: example: 120 PathRecord: description: Document representing most basic info (ID and name) of a category or catalog. + type: + CommerceCloudStandards.OpenObject properties: id: description: The ID of the category path. @@ -534,6 +552,8 @@ types: required: false Product: description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + type: + CommerceCloudStandards.OpenObject properties: assignedCategories: description: The catalog categories that the product is assigned to. @@ -991,6 +1011,8 @@ types: example: online SortingRule: description: Document representing a product sorting rule. + type: + CommerceCloudStandards.OpenObject properties: creationDate: description: The creation date, read only. @@ -1018,6 +1040,8 @@ types: example: SiteGenesis SortingRuleStep: description: Document representing a product sorting rule step. + type: + CommerceCloudStandards.OpenObject properties: attributeId: description: The ID for sorting attribute. @@ -1390,7 +1414,7 @@ types: format: int32 example: 5 data: - description: The list of rules. This can be empty. + description: The list of rules. This can be empty. *Note* - If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. type: Rule[] required: false total: @@ -1799,9 +1823,7 @@ types: search_result: !include Examples/category_product_assignment.raml body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - CommerceCloudStandards.SearchRequest: !include Examples/product-assignment-body-example.raml + type: CategoryProductAssignmentSearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } /products/{productId}: @@ -2061,6 +2083,7 @@ types: body: application/json: type: RulesRequest + description: If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. examples: ruleBody: !include Examples/postRuleRequestBody.raml securedBy: @@ -2281,9 +2304,7 @@ types: example: 0 body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - result: !include Examples/catalog-search-body.raml + type: CatalogCategorySearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } /catalog-search: @@ -2338,12 +2359,9 @@ types: type: CatalogSearchResult examples: catalog_search_result: !include Examples/catalog-search-result-query.raml - body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - catalog-search-body: !include Examples/catalog-search-body-query.raml + type: CatalogSearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } /category-search: @@ -2405,8 +2423,6 @@ types: required: false body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - body : !include Examples/category_search-body-example.raml + type: CategorySearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } diff --git a/apis/product/catalogs/exchange.json b/apis/product/catalogs/exchange.json index aadc2ba5..1a390fb9 100644 --- a/apis/product/catalogs/exchange.json +++ b/apis/product/catalogs/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.35", + "version": "0.0.36", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/product/products/.metadata.json b/apis/product/products/.metadata.json index f76f4035..b6c55ade 100644 --- a/apis/product/products/.metadata.json +++ b/apis/product/products/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products/0.0.33", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products/0.0.36", "name": "Products", "description": "Add and manage searchable products within a merchandizing system.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "products", - "version": "0.0.33", + "version": "0.0.36", "categories": { "API layer": [ "System" diff --git a/apis/product/products/exchange.json b/apis/product/products/exchange.json index 19d3c731..b9652a72 100644 --- a/apis/product/products/exchange.json +++ b/apis/product/products/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.33", + "version": "0.0.36", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/product/products/products-description.md b/apis/product/products/products-description.md index dc2e8ef5..bbf57265 100644 --- a/apis/product/products/products-description.md +++ b/apis/product/products/products-description.md @@ -8,6 +8,8 @@ For more information, see [Products](https://documentation.b2c.commercecloud.sal The client managing product information must have access to the Products resource. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. +You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + ## Use Cases ### Add Products diff --git a/apis/product/products/products.raml b/apis/product/products/products.raml index 7c7a4af7..5f1d9b48 100644 --- a/apis/product/products/products.raml +++ b/apis/product/products/products.raml @@ -551,7 +551,9 @@ types: type: integer format: int32 example: 10 - + ProductSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/ProductSearchRequest.raml ProductSearchResult: description: Document representing a product search result. type: CommerceCloudStandards.PaginatedSearchResult @@ -688,6 +690,9 @@ types: type: string required: false example: {"color":"black"} + VariantSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/VariantSearchRequest.raml VariantSearchResult: description: Document that represents a search on certificates and keys. type: CommerceCloudStandards.PaginatedSearchResult @@ -1020,6 +1025,8 @@ types: pageKeywords, brand, ean, upc, manufactureSku, manufactureName, searchable, unit, searchable, onlineFlag, defaultVariantId. + + Custom Attributes are used to extend a standard Product system object. This endpoint can be used to update custom attribute values for a particular product SKU. If you try to update a non-existent custom attribute, the request won't fail, but no changes are made and the attribute is not created. displayName: updateProduct is: - ProductTraits.ProductNotFound @@ -1041,7 +1048,7 @@ types: securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } put: - description: Creates a product using the information provided. If a product with the same unique identifier exists, it is cleaned and overwritten unless the header x-dw-validate-existing=true is passed in with the request. + description: Creates a product using the information provided. If a product with the same unique identifier exists, it is cleaned and overwritten. displayName: createProduct is: - ProductTraits.Unauthorized @@ -1151,9 +1158,7 @@ types: example: SiteGenesis body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - variantSearchRequest: !include Examples/VariantSearchRequest.raml + type: VariantSearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } /{masterProductId}/variation-groups: @@ -1956,9 +1961,7 @@ types: example: SiteGenesis body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - body: !include Examples/ProductSearchRequest.raml + type: ProductSearchRequest is: - ProductTraits.BadRequest - ProductTraits.Unauthorized diff --git a/apis/product/shopper-products/.metadata.json b/apis/product/shopper-products/.metadata.json index b6997508..9ffb7f87 100644 --- a/apis/product/shopper-products/.metadata.json +++ b/apis/product/shopper-products/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products/0.0.33", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products/0.0.37", "name": "Shopper Products", "description": "Display product details across your storefront.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-products", - "version": "0.0.33", + "version": "0.0.37", "categories": { "API layer": [ "Process" diff --git a/apis/product/shopper-products/Examples/product-example.raml b/apis/product/shopper-products/Examples/product-example.raml index de98aa19..03d2bf7b 100644 --- a/apis/product/shopper-products/Examples/product-example.raml +++ b/apis/product/shopper-products/Examples/product-example.raml @@ -54,6 +54,20 @@ value: "name": "Apple iPod Shuffle", "pageDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", "pageKeywords": "Apple, iPod, Shuffle, MP3, Music Player", + "pageMetaTags": [ + { + "id": "description", + "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." + }, + { + "id": "robots", + "value": "index, follow" + }, + { + "id": "title", + "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." + } + ], "pageTitle": "Apple iPod Shuffle", "price": 45.99, "priceMax": 69, diff --git a/apis/product/shopper-products/Examples/product-result-example.raml b/apis/product/shopper-products/Examples/product-result-example.raml index 7ea66dd5..12fb35b2 100644 --- a/apis/product/shopper-products/Examples/product-result-example.raml +++ b/apis/product/shopper-products/Examples/product-result-example.raml @@ -84,6 +84,20 @@ value: ], "pageDescription": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", "pageKeywords": "Apple, iPod, iPod Classic, MP3, Music Player", + "pageMetaTags": [ + { + "id": "description", + "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." + }, + { + "id": "robots", + "value": "index, follow" + }, + { + "id": "title", + "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." + } + ], "pageTitle": "Apple iPod Nano", "price": 45.99, "priceMax": 69.00, @@ -279,6 +293,20 @@ value: "name": "Apple iPod Nano", "pageDescription": "The all new iPod nano has a curved aluminum and glass design and stunning new features. The Genius music feature helps you find music to fit your mood. With the built-in accelerometer, you can rotate the nano to flip through album art with Cover Flow. Plus, view photos and videos in either portrait or landscape.", "pageKeywords": "Apple, iPod, Nano, MP3, Music Player", + "pageMetaTags": [ + { + "id": "description", + "value": "The new iPod nano features a curved aluminum and glass design along with great new features. Genius music helps you find songs that match your mood, and the built-in accelerometer lets you rotate the nano to flip through album art using Cover Flow. You can also view photos and videos in both portrait and landscape orientations." + }, + { + "id": "robots", + "value": "index, follow" + }, + { + "id": "title", + "value": "Buy the Apple iPod Nano for USD 119.00-199.00." + } + ], "pageTitle": "Apple iPod Nano", "price": 119.00, "priceMax": 199.00, diff --git a/apis/product/shopper-products/exchange.json b/apis/product/shopper-products/exchange.json index 6c311a2d..bdcca292 100644 --- a/apis/product/shopper-products/exchange.json +++ b/apis/product/shopper-products/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.33", + "version": "0.0.37", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/apis/product/shopper-products/shopper-products-description.md b/apis/product/shopper-products/shopper-products-description.md index 3853c93f..5826f541 100644 --- a/apis/product/shopper-products/shopper-products-description.md +++ b/apis/product/shopper-products/shopper-products-description.md @@ -10,6 +10,8 @@ The client requesting the product information must have access to the Products r For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. +You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + ## Use Cases ### Populate Product Listing Pages diff --git a/apis/product/shopper-products/shopper-products.raml b/apis/product/shopper-products/shopper-products.raml index ad33e69f..d9dadd36 100644 --- a/apis/product/shopper-products/shopper-products.raml +++ b/apis/product/shopper-products/shopper-products.raml @@ -205,6 +205,19 @@ types: format: double required: false example: 15.99 + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + required: false + example: "title" + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + required: false + example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." PriceRange: description: Document representing price ranges for a product which happens to be a master product (per Pricebook) properties: @@ -326,6 +339,12 @@ types: type: string required: false example: "Ipod, Music Player" + pageMetaTags: + description: Page Meta tags associated with the given product. + type: array + items: + PageMetaTag + required: false pageTitle: description: The localized product's page title. type: string @@ -878,10 +897,10 @@ types: required: false example: USD expand: - description: The expand parameter. A comma separated list with the allowed values (availability, links, promotions, options, images, prices, variations, recommendations). All expand parameters are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. + description: The expand parameter. A comma separated list with the allowed values (availability, links, promotions, options, images, prices, variations, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** type: array items: - enum: [none,availability,links,promotions,options,images,prices,variations,recommendations] + enum: [none,availability,links,promotions,options,images,prices,variations,recommendations,page_meta_tags] required: false example: [prices,promotions] locale: @@ -943,10 +962,10 @@ types: required: false example: USD expand: - description: The expand parameter. A comma separated list with the allowed values (availability, bundled_products, links, promotions, options, images, prices, variations, set_products, recommendations). All expand parameters are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. + description: The expand parameter. A comma separated list with the allowed values (availability, bundled_products, links, promotions, options, images, prices, variations, set_products, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** type: array items: - enum: [none,availability,bundled_products,links,promotions,options,images,prices,variations,set_products,recommendations] + enum: [none,availability,bundled_products,links,promotions,options,images,prices,variations,set_products,recommendations,page_meta_tags] required: false example: [prices,promotions] locale: @@ -975,7 +994,7 @@ types: /categories: get: - description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify up to 50 multiple IDs. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. The server only returns online categories. + description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify up to 50 multiple IDs. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. displayName: getCategories is: - CommerceCloudStandards.SiteSpecific: @@ -989,7 +1008,7 @@ types: example: "electronics-digital-cameras,electronics-televisions" levels: minimum: 0 - description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. + description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. Only online subcategories are returned. type: integer required: false format: int32 @@ -1015,7 +1034,7 @@ types: description: |- When you use the URL template below, the server returns a category identified by its ID; by default, the server also returns the first level of subcategories, but you can specify another level by setting the levels - parameter. The server only returns online categories. + parameter. displayName: getCategory is: - CommerceCloudStandards.SiteSpecific: diff --git a/package-lock.json b/package-lock.json index 4fce99ec..7b4ae303 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,13174 @@ { "name": "commerce-sdk", - "version": "4.0.0", - "lockfileVersion": 1, + "version": "4.1.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "commerce-sdk", + "version": "4.1.0", + "license": "BSD-3-Clause", + "dependencies": { + "@commerce-apps/core": "^1.7.0", + "nanoid": "^3.3.4", + "retry": "^0.13.1", + "tslib": "^2.4.1" + }, + "devDependencies": { + "@commerce-apps/raml-toolkit": "^0.5.12", + "@istanbuljs/nyc-config-typescript": "^1.0.2", + "@types/chai": "^4.3.0", + "@types/fs-extra": "^9.0.13", + "@types/handlebars-helpers": "^0.5.3", + "@types/mocha": "^8.2.3", + "@types/node-fetch": "^2.5.12", + "@types/retry": "^0.12.1", + "@types/sinon": "^9.0.11", + "@typescript-eslint/eslint-plugin": "^5.58.0", + "@typescript-eslint/parser": "^5.58.0", + "chai": "^4.3.5", + "depcheck": "^0.9.2", + "eslint": "^8.38.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-jsdoc": "^41.1.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-tsdoc": "^0.2.17", + "fs-extra": "^9.1.0", + "handlebars-helpers": "^0.10.0", + "mocha": "^8.4.0", + "nock": "^13.2.2", + "nyc": "^15.1.0", + "prettier": "^2.5.1", + "sinon": "^9.2.4", + "snyk": "^1.836.0", + "sort-package-json": "^1.53.1", + "ts-node": "^10.9.2", + "typedoc": "^0.17.8", + "typedoc-plugin-external-module-map": "1.2.1", + "typedoc-plugin-nojekyll": "^1.0.1", + "typescript": "^4.4.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/core": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz", + "integrity": "sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.4", + "@babel/helper-module-transforms": "^7.10.4", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", + "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", + "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", + "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", + "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-replace-supers": "^7.10.4", + "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", + "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", + "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", + "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "node_modules/@babel/helpers": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", + "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", + "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/traverse": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", + "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/types": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", + "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@commerce-apps/core": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@commerce-apps/core/-/core-1.7.0.tgz", + "integrity": "sha512-r2gKvYoMv48iF0zn/865Nt629suReXVWEgir0rVOSNwQPBMTDdN9hYPCbFJPOyNkNQEwMFUvkd8utgwhHXtuxQ==", + "dependencies": { + "@keyv/redis": "^2.2.2", + "dotenv": "^8.6.0", + "fetch-to-curl": "^0.5.2", + "ioredis": "^4.28.3", + "jsonwebtoken": "^9.0.0", + "keyv": "^4.0.5", + "lodash": "^4.17.21", + "loglevel": "^1.8.0", + "make-fetch-happen": "^8.0.14", + "minipass-fetch": "^1.4.1", + "qs": "^6.10.4", + "quick-lru": "^5.1.1", + "retry": "^0.13.1", + "ssri": "^8.0.1", + "tslib": "^1.14.1" + } + }, + "node_modules/@commerce-apps/core/node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/@commerce-apps/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@commerce-apps/raml-toolkit": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@commerce-apps/raml-toolkit/-/raml-toolkit-0.5.12.tgz", + "integrity": "sha512-DIWmol3ATRPTfIxljR1OORRL9pxsRAoRTgfmtWLiyKKuCQAYjA51Zp8o9joSPWE/VAxPLqNBhXqhcTaTXiG9FA==", + "dev": true, + "dependencies": { + "@oclif/command": "1.8.4", + "@oclif/config": "1.18.1", + "amf-client-js": "4.7.2", + "dotenv": "8.6.0", + "fs-extra": "8.1.0", + "handlebars": "4.7.7", + "js-yaml": "3.14.1", + "json-rules-engine": "5.3.0", + "jsondiffpatch": "0.4.1", + "lodash": "4.17.21", + "loglevel": "1.8.1", + "make-fetch-happen": "8.0.14", + "tmp": "0.2.1", + "ts-node": "8.10.2", + "unzipper": "0.10.11" + }, + "bin": { + "raml-toolkit": "bin/run", + "ramlint": "bin/run" + } + }, + "node_modules/@commerce-apps/raml-toolkit/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@commerce-apps/raml-toolkit/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@commerce-apps/raml-toolkit/node_modules/loglevel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz", + "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/@commerce-apps/raml-toolkit/node_modules/ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/@commerce-apps/raml-toolkit/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@comunica/actor-abstract-bindings-hash": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-bindings-hash/-/actor-abstract-bindings-hash-1.22.0.tgz", + "integrity": "sha512-3Yrupl0AUFcPtxjImzvPSx6ygCgiJ4Ss0rFIhTuNRvTJohhYc/VpmPjqdprhghtHnhfmIEcqgb7TqdwqlntR2Q==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "canonicalize": "^1.0.1", + "hash.js": "^1.1.7", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-abstract-mediatyped": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.22.0.tgz", + "integrity": "sha512-+KQLPpx8GFqrhWFfuvrsA4Rjlfbo/QOIo2IvzSgmDwy6YVQZXaSQiNQv/BnrnedaFCf2ONV+w+PMLqXgzn8N9A==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-abstract-path": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-path/-/actor-abstract-path-1.22.0.tgz", + "integrity": "sha512-S7IfWTKWvTTyRDiNb0NApLG1lwh3WKHmmBx6WqI3GicJfS+6kjZqrM2ke5OyVr2R6dpVfu6OnF0TiRYdPVgjEQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-data-factory": "^1.0.3", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-context-preprocess-source-to-destination": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-context-preprocess-source-to-destination/-/actor-context-preprocess-source-to-destination-1.22.0.tgz", + "integrity": "sha512-37aC7WacPIn7yObMubD3QvN0fze9kwBrHDf2M6cwe+54l3uCKYd8jeMH7pJTAT3eSLb32PYU1cxRiwRkQ8gVwQ==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0" + }, + "peerDependencies": { + "@comunica/bus-context-preprocess": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-http-memento": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-memento/-/actor-http-memento-1.22.1.tgz", + "integrity": "sha512-H10dWC+RA/xkhORKBMUIw133PxKXmo8ByEeYgbV3QplyeZ5+Wv+0hh+Icil4rC5rsqcpW+iU2TZGK6vfsTQpMQ==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@types/parse-link-header": "^1.0.0", + "cross-fetch": "^3.0.5", + "parse-link-header": "^1.0.1" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-http-native": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.22.1.tgz", + "integrity": "sha512-BdB+hvQ9CJF9tI42hNhcvTMagOty+jw21LIQDJWI628xMcXZ88BJaUX0Ulc7g2nrWH97ZRm5+KjLC4Zf+OGwZg==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@types/parse-link-header": "^1.0.0", + "cross-fetch": "^3.0.5", + "follow-redirects": "^1.5.1", + "parse-link-header": "^1.0.1" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-http-node-fetch": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-node-fetch/-/actor-http-node-fetch-1.22.3.tgz", + "integrity": "sha512-e2J8g32QgwcbysOQkFDio757oaPLCGpSs7rRDoGq/daGS8l1m7Ugzhx7Vh3NHcCI3XXrymMOBzMT+ku5ddJbNg==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "cross-fetch": "^3.0.5" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-http-proxy": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-1.22.1.tgz", + "integrity": "sha512-q8Dil+MnKeZWKNxLLDXan070TUP+8io7zwwCs5apvaU26ghojBU4OOJx1vL6CInUjZCzTeyCYVPsBbvykjLZ2w==", + "dev": true, + "peerDependencies": { + "@comunica/bus-http": "^1.8.0", + "@comunica/context-entries": "^1.0.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-init-sparql": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/@comunica/actor-init-sparql/-/actor-init-sparql-1.22.3.tgz", + "integrity": "sha512-rtD4ssn2JSrHHhpoHfvZoe4RpYkSZVuvWb2gh9Pu/sTo4wyIaCuRBc4Wn8N3ZnA4omBzv6/kM2NUF47eabmoBA==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-bindings-hash": "^1.22.0", + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@comunica/actor-context-preprocess-source-to-destination": "^1.22.0", + "@comunica/actor-http-memento": "^1.22.1", + "@comunica/actor-http-native": "^1.22.1", + "@comunica/actor-http-node-fetch": "^1.22.3", + "@comunica/actor-http-proxy": "^1.22.1", + "@comunica/actor-optimize-query-operation-join-bgp": "^1.22.0", + "@comunica/actor-query-operation-ask": "^1.22.0", + "@comunica/actor-query-operation-bgp-empty": "^1.22.0", + "@comunica/actor-query-operation-bgp-left-deep-smallest": "^1.22.0", + "@comunica/actor-query-operation-bgp-single": "^1.22.0", + "@comunica/actor-query-operation-construct": "^1.22.0", + "@comunica/actor-query-operation-describe-subject": "^1.22.0", + "@comunica/actor-query-operation-distinct-hash": "^1.22.0", + "@comunica/actor-query-operation-extend": "^1.22.0", + "@comunica/actor-query-operation-filter-sparqlee": "^1.22.0", + "@comunica/actor-query-operation-from-quad": "^1.22.0", + "@comunica/actor-query-operation-group": "^1.22.0", + "@comunica/actor-query-operation-join": "^1.22.0", + "@comunica/actor-query-operation-leftjoin-left-deep": "^1.22.0", + "@comunica/actor-query-operation-leftjoin-nestedloop": "^1.22.0", + "@comunica/actor-query-operation-minus": "^1.22.0", + "@comunica/actor-query-operation-nop": "^1.22.0", + "@comunica/actor-query-operation-orderby-sparqlee": "^1.22.0", + "@comunica/actor-query-operation-path-alt": "^1.22.0", + "@comunica/actor-query-operation-path-inv": "^1.22.0", + "@comunica/actor-query-operation-path-link": "^1.22.0", + "@comunica/actor-query-operation-path-nps": "^1.22.0", + "@comunica/actor-query-operation-path-one-or-more": "^1.22.0", + "@comunica/actor-query-operation-path-seq": "^1.22.0", + "@comunica/actor-query-operation-path-zero-or-more": "^1.22.0", + "@comunica/actor-query-operation-path-zero-or-one": "^1.22.0", + "@comunica/actor-query-operation-project": "^1.22.0", + "@comunica/actor-query-operation-quadpattern": "^1.22.0", + "@comunica/actor-query-operation-reduced-hash": "^1.22.0", + "@comunica/actor-query-operation-service": "^1.22.3", + "@comunica/actor-query-operation-slice": "^1.22.0", + "@comunica/actor-query-operation-sparql-endpoint": "^1.22.2", + "@comunica/actor-query-operation-union": "^1.22.0", + "@comunica/actor-query-operation-update-add-rewrite": "^1.22.0", + "@comunica/actor-query-operation-update-clear": "^1.22.0", + "@comunica/actor-query-operation-update-compositeupdate": "^1.22.0", + "@comunica/actor-query-operation-update-copy-rewrite": "^1.22.0", + "@comunica/actor-query-operation-update-create": "^1.22.0", + "@comunica/actor-query-operation-update-deleteinsert": "^1.22.2", + "@comunica/actor-query-operation-update-drop": "^1.22.0", + "@comunica/actor-query-operation-update-load": "^1.22.0", + "@comunica/actor-query-operation-update-move-rewrite": "^1.22.0", + "@comunica/actor-query-operation-values": "^1.22.0", + "@comunica/actor-rdf-dereference-fallback": "^1.22.2", + "@comunica/actor-rdf-dereference-http-parse": "^1.22.3", + "@comunica/actor-rdf-join-multi-smallest": "^1.22.0", + "@comunica/actor-rdf-join-nestedloop": "^1.22.0", + "@comunica/actor-rdf-join-symmetrichash": "^1.22.0", + "@comunica/actor-rdf-metadata-all": "^1.22.0", + "@comunica/actor-rdf-metadata-extract-allow-http-methods": "^1.22.0", + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^1.22.0", + "@comunica/actor-rdf-metadata-extract-hydra-count": "^1.22.0", + "@comunica/actor-rdf-metadata-extract-patch-sparql-update": "^1.22.2", + "@comunica/actor-rdf-metadata-extract-put-accepted": "^1.22.0", + "@comunica/actor-rdf-metadata-extract-sparql-service": "^1.22.0", + "@comunica/actor-rdf-metadata-primary-topic": "^1.22.0", + "@comunica/actor-rdf-parse-html": "^1.22.0", + "@comunica/actor-rdf-parse-html-microdata": "^1.22.0", + "@comunica/actor-rdf-parse-html-rdfa": "^1.22.0", + "@comunica/actor-rdf-parse-html-script": "^1.22.0", + "@comunica/actor-rdf-parse-jsonld": "^1.22.1", + "@comunica/actor-rdf-parse-n3": "^1.22.0", + "@comunica/actor-rdf-parse-rdfxml": "^1.22.0", + "@comunica/actor-rdf-parse-xml-rdfa": "^1.22.0", + "@comunica/actor-rdf-resolve-hypermedia-links-next": "^1.22.0", + "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": "^1.22.0", + "@comunica/actor-rdf-resolve-hypermedia-none": "^1.22.0", + "@comunica/actor-rdf-resolve-hypermedia-qpf": "^1.22.2", + "@comunica/actor-rdf-resolve-hypermedia-sparql": "^1.22.1", + "@comunica/actor-rdf-resolve-quad-pattern-federated": "^1.22.0", + "@comunica/actor-rdf-resolve-quad-pattern-hypermedia": "^1.22.2", + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^1.22.0", + "@comunica/actor-rdf-serialize-jsonld": "^1.22.0", + "@comunica/actor-rdf-serialize-n3": "^1.22.0", + "@comunica/actor-rdf-update-hypermedia-patch-sparql-update": "^1.22.2", + "@comunica/actor-rdf-update-hypermedia-put-ldp": "^1.22.2", + "@comunica/actor-rdf-update-hypermedia-sparql": "^1.22.2", + "@comunica/actor-rdf-update-quads-hypermedia": "^1.22.2", + "@comunica/actor-rdf-update-quads-rdfjs-store": "^1.22.2", + "@comunica/actor-sparql-parse-algebra": "^1.22.0", + "@comunica/actor-sparql-parse-graphql": "^1.22.0", + "@comunica/actor-sparql-serialize-json": "^1.22.0", + "@comunica/actor-sparql-serialize-rdf": "^1.22.0", + "@comunica/actor-sparql-serialize-simple": "^1.22.0", + "@comunica/actor-sparql-serialize-sparql-csv": "^1.22.0", + "@comunica/actor-sparql-serialize-sparql-json": "^1.22.0", + "@comunica/actor-sparql-serialize-sparql-tsv": "^1.22.0", + "@comunica/actor-sparql-serialize-sparql-xml": "^1.22.0", + "@comunica/actor-sparql-serialize-stats": "^1.22.1", + "@comunica/actor-sparql-serialize-table": "^1.22.0", + "@comunica/actor-sparql-serialize-tree": "^1.22.0", + "@comunica/bus-context-preprocess": "^1.22.0", + "@comunica/bus-http": "^1.22.1", + "@comunica/bus-http-invalidate": "^1.22.0", + "@comunica/bus-init": "^1.22.0", + "@comunica/bus-optimize-query-operation": "^1.22.0", + "@comunica/bus-query-operation": "^1.22.0", + "@comunica/bus-rdf-dereference": "^1.22.2", + "@comunica/bus-rdf-dereference-paged": "^1.22.0", + "@comunica/bus-rdf-join": "^1.22.0", + "@comunica/bus-rdf-metadata": "^1.22.0", + "@comunica/bus-rdf-metadata-extract": "^1.22.0", + "@comunica/bus-rdf-parse": "^1.22.0", + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@comunica/bus-rdf-resolve-hypermedia": "^1.22.0", + "@comunica/bus-rdf-resolve-hypermedia-links": "^1.22.0", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^1.22.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@comunica/bus-rdf-serialize": "^1.22.0", + "@comunica/bus-rdf-update-hypermedia": "^1.22.2", + "@comunica/bus-rdf-update-quads": "^1.22.2", + "@comunica/bus-sparql-parse": "^1.22.0", + "@comunica/bus-sparql-serialize": "^1.22.0", + "@comunica/context-entries": "^1.22.0", + "@comunica/core": "^1.22.0", + "@comunica/logger-pretty": "^1.22.0", + "@comunica/logger-void": "^1.22.0", + "@comunica/mediator-all": "^1.22.0", + "@comunica/mediator-combine-pipeline": "^1.22.0", + "@comunica/mediator-combine-union": "^1.22.0", + "@comunica/mediator-number": "^1.22.0", + "@comunica/mediator-race": "^1.22.0", + "@comunica/runner": "^1.22.0", + "@comunica/runner-cli": "^1.22.0", + "@rdfjs/types": "*", + "@types/yargs": "^17.0.2", + "asynciterator": "^3.2.0", + "negotiate": "^1.0.1", + "rdf-quad": "^1.4.0", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0", + "streamify-string": "^1.0.1", + "yargs": "^17.1.1" + }, + "bin": { + "comunica-dynamic-sparql": "bin/query-dynamic.js", + "comunica-sparql": "bin/query.js", + "comunica-sparql-http": "bin/http.js" + } + }, + "node_modules/@comunica/actor-init-sparql-rdfjs": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/@comunica/actor-init-sparql-rdfjs/-/actor-init-sparql-rdfjs-1.22.3.tgz", + "integrity": "sha512-twc9yf1nOCuCxuSYREODKRN1WJ2updEJ6Y5AllrY1VnBAiP1hWWJxn65KGjE6e9GDvfW1MTfPuXtqxlqIsDn8w==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@comunica/actor-init-sparql": "^1.22.3", + "@comunica/actor-query-operation-ask": "^1.22.0", + "@comunica/actor-query-operation-bgp-empty": "^1.22.0", + "@comunica/actor-query-operation-bgp-left-deep-smallest": "^1.22.0", + "@comunica/actor-query-operation-bgp-single": "^1.22.0", + "@comunica/actor-query-operation-construct": "^1.22.0", + "@comunica/actor-query-operation-describe-subject": "^1.22.0", + "@comunica/actor-query-operation-distinct-hash": "^1.22.0", + "@comunica/actor-query-operation-extend": "^1.22.0", + "@comunica/actor-query-operation-filter-sparqlee": "^1.22.0", + "@comunica/actor-query-operation-from-quad": "^1.22.0", + "@comunica/actor-query-operation-join": "^1.22.0", + "@comunica/actor-query-operation-leftjoin-nestedloop": "^1.22.0", + "@comunica/actor-query-operation-orderby-sparqlee": "^1.22.0", + "@comunica/actor-query-operation-path-alt": "^1.22.0", + "@comunica/actor-query-operation-path-inv": "^1.22.0", + "@comunica/actor-query-operation-path-link": "^1.22.0", + "@comunica/actor-query-operation-path-nps": "^1.22.0", + "@comunica/actor-query-operation-path-one-or-more": "^1.22.0", + "@comunica/actor-query-operation-path-seq": "^1.22.0", + "@comunica/actor-query-operation-path-zero-or-more": "^1.22.0", + "@comunica/actor-query-operation-path-zero-or-one": "^1.22.0", + "@comunica/actor-query-operation-project": "^1.22.0", + "@comunica/actor-query-operation-quadpattern": "^1.22.0", + "@comunica/actor-query-operation-service": "^1.22.3", + "@comunica/actor-query-operation-slice": "^1.22.0", + "@comunica/actor-query-operation-union": "^1.22.0", + "@comunica/actor-query-operation-values": "^1.22.0", + "@comunica/actor-rdf-join-nestedloop": "^1.22.0", + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^1.22.0", + "@comunica/actor-rdf-serialize-jsonld": "^1.22.0", + "@comunica/actor-rdf-serialize-n3": "^1.22.0", + "@comunica/actor-sparql-parse-algebra": "^1.22.0", + "@comunica/actor-sparql-serialize-json": "^1.22.0", + "@comunica/actor-sparql-serialize-rdf": "^1.22.0", + "@comunica/actor-sparql-serialize-simple": "^1.22.0", + "@comunica/actor-sparql-serialize-sparql-json": "^1.22.0", + "@comunica/actor-sparql-serialize-sparql-xml": "^1.22.0", + "@comunica/bus-context-preprocess": "^1.22.0", + "@comunica/bus-init": "^1.22.0", + "@comunica/bus-query-operation": "^1.22.0", + "@comunica/bus-rdf-join": "^1.22.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@comunica/bus-rdf-serialize": "^1.22.0", + "@comunica/bus-sparql-parse": "^1.22.0", + "@comunica/bus-sparql-serialize": "^1.22.0", + "@comunica/core": "^1.22.0", + "@comunica/mediator-combine-pipeline": "^1.22.0", + "@comunica/mediator-combine-union": "^1.22.0", + "@comunica/mediator-number": "^1.22.0", + "@comunica/mediator-race": "^1.22.0", + "@comunica/runner": "^1.22.0", + "@comunica/runner-cli": "^1.22.0" + } + }, + "node_modules/@comunica/actor-init-sparql/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@comunica/actor-init-sparql/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@comunica/actor-init-sparql/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@comunica/actor-init-sparql/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-bgp": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-bgp/-/actor-optimize-query-operation-join-bgp-1.22.0.tgz", + "integrity": "sha512-G0JSVM0q2kJb4X6p/zTyuMi4E5vdQsrJjx6Zy9FIG2EySAP+Q/M8TNSteJbyan07xZwxane6bZcCckvNyDVqTg==", + "dev": true, + "dependencies": { + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-optimize-query-operation": "^1.0.0", + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/actor-query-operation-ask": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-ask/-/actor-query-operation-ask-1.22.0.tgz", + "integrity": "sha512-kdByALpa1SM0PFlHarDQc6KjGXZ1xaTwvmhdldov7XN6KmXZyozic0qx29d5kNgMUsDOfaTbxPZFNmBRr32K0w==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-empty": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-empty/-/actor-query-operation-bgp-empty-1.22.0.tgz", + "integrity": "sha512-qitWhNrmehzvnNHZ98QuClOATyNRYte98OtR/C3trljMWjOrnC8pnstUHS5BN3bOBftRCBjO6ukJcnfgZFeNTQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-left-deep-smallest": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-left-deep-smallest/-/actor-query-operation-bgp-left-deep-smallest-1.22.0.tgz", + "integrity": "sha512-c6u9knbOLh7W4JNGZh0Vc2dMCsDzm5/tjhhKttbvLuN8bGqvdx2Pxuv0beTyWSXhLXxeo6DkhtWAh/b+gtNBRw==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-single": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-single/-/actor-query-operation-bgp-single-1.22.0.tgz", + "integrity": "sha512-wxOO1Df9oRiAHUgZWx+o7zP+PZF/7kkHCueBWnvFA9Qqlw3naJLoFuAnhxSh1Ej4p5XGldjd1Bt/7VUFgfKOvQ==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-construct": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-construct/-/actor-query-operation-construct-1.22.0.tgz", + "integrity": "sha512-URXw1bip+ZmBfcN6lksOMKfTOO7OuBZhJc09s6EiyBTfHbBxPmLEhkv/d/hzNiEf2D+LYHjmqRHq6gSh93g//g==", + "dev": true, + "dependencies": { + "@comunica/data-factory": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-data-factory": "^1.0.3", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-describe-subject/-/actor-query-operation-describe-subject-1.22.0.tgz", + "integrity": "sha512-DrBhicGLF00VYv6+QJ04tmKAn6nGQ0Yyih01K++yNfXByBL++1iXFrYwoLwQAJQZJ6H5FRLhYGMaB12mLq/wvQ==", + "dev": true, + "dependencies": { + "@comunica/actor-query-operation-union": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-data-factory": "^1.0.3", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-distinct-hash/-/actor-query-operation-distinct-hash-1.22.0.tgz", + "integrity": "sha512-6anXCszrUDoBZdOhLBmsBFxQR/P5tPsuzGFuXP+pf7zI9zIU6nfaMeffOj+GDPClReyXf1UmyJXsIKo7r5WWUg==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-bindings-hash": "^1.22.0", + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-extend": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-extend/-/actor-query-operation-extend-1.22.0.tgz", + "integrity": "sha512-61AOM+62/Xtfd+5XtWiJUlcmK5oKQ2z77s5we2Z9AIrsxqKM90RdU9/t7U1g/3SrMiCMPNrN6mPfYiz7yG9pfA==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.2", + "sparqlee": "^1.10.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.4.0", + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-filter-sparqlee/-/actor-query-operation-filter-sparqlee-1.22.0.tgz", + "integrity": "sha512-FceqE7qlPUADr3lbUbVKFL245IPNGS2OwFPIN6ksGPe1y/Cgd7f/lLpqmURxzpPELm76VgJQM5VzMOeDuwlt9Q==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0", + "sparqlee": "^1.10.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.4.0", + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-from-quad/-/actor-query-operation-from-quad-1.22.0.tgz", + "integrity": "sha512-rkVS/YMOb50F7vo45jgvyErbiG17DDj0pSaaMo1Dm1XWohXOvXOMoJtE+x0iTISEbw8F+g/oPjUhns3VOR38hw==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-group": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-group/-/actor-query-operation-group-1.22.0.tgz", + "integrity": "sha512-EQCV/eFMTcplqwxcX0uR+cyaExrW0xIJPRJZkJpLX1mKYoeYh43FwYj6HQy00gwXImYYqFXw03lU0x+9P3dGLA==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-bindings-hash": "^1.22.0", + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0", + "sparqlee": "^1.10.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.6.0", + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/actor-query-operation-join": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-join/-/actor-query-operation-join-1.22.0.tgz", + "integrity": "sha512-QJBU4Vm438SGxqpV8g+vDg7IsETCfoHsl6GaZdFb8qT8EfSeIqd/oYAKJJMH/a6SzV5f8zRwDtXeWmDcA3fS1w==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/bus-rdf-join": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin-left-deep": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-leftjoin-left-deep/-/actor-query-operation-leftjoin-left-deep-1.22.0.tgz", + "integrity": "sha512-JetWHipImYLXffNVmSk0Q2f0CJYmO4UWjb1rixNtih2Plu10BWpwLICNhw6bnuco5LJb3/EdEmDBrWrkztXH6Q==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-join": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.9.3", + "@comunica/core": "^1.9.2" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin-nestedloop": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-leftjoin-nestedloop/-/actor-query-operation-leftjoin-nestedloop-1.22.0.tgz", + "integrity": "sha512-NttPFDGr9vWJh5iYNz/xhLPTo7TEFc45D2UqAVa0bF2XyHSM0T+oVXKEZre+FqSxTxSxHUQ22vUXY9vctnO4Xg==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0", + "sparqlee": "^1.10.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/bus-rdf-join": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-minus": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-minus/-/actor-query-operation-minus-1.22.0.tgz", + "integrity": "sha512-53f6V6XdypGu0aaFMHr6TcE1hOqoDHphNfd1OE/CRDbNfbK+ELz2pWTnGoWf6zGRW4srnCGA3Q5vtZpSNpOMHQ==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-bindings-hash": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-nop/-/actor-query-operation-nop-1.22.0.tgz", + "integrity": "sha512-l0koSVdYIKisQHC6S31UIbxMdVau6G85gs3+sIYhKf1Ry+TivHM5Px2t1pfYfugS53+7cw4t87/q7mhgvh3GGQ==", + "dev": true, + "dependencies": { + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.1" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.21.1", + "@comunica/core": "^1.21.1" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-orderby-sparqlee/-/actor-query-operation-orderby-sparqlee-1.22.0.tgz", + "integrity": "sha512-5R4li6DxPvSrsr5oGi8hACmSBtARD/W6EzUhEiN7IRF1UjBMGMttKo/BrlcBKsolirWrPmvNsz9Y9eLSgcxx9Q==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0", + "sparqlee": "^1.10.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-alt/-/actor-query-operation-path-alt-1.22.0.tgz", + "integrity": "sha512-mEDuira41HEcDdjCXcE9ofkDRD+mBOAKMKR6yl/C/xZdeC2ol/XltqbP7nZdxafgQ7rPCVAbsf0dyC2rU6uSNg==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-inv/-/actor-query-operation-path-inv-1.22.0.tgz", + "integrity": "sha512-ZJnURpQ5JaxRR6Neh/Uea+bEVaeKFZCvVjMFxcPPelP/Xj7Bu7qSklhwwUCjgwvJafDYpdgvPNll9qV8QiQ8QA==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-link": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-link/-/actor-query-operation-path-link-1.22.0.tgz", + "integrity": "sha512-xVqbgx8iF4YKgD4wf3CHBiTaOK+uj3IZsr/pB2xMUYL263tZCmRNF8xY9+pqnogb+7bOp2tvAn1lRXl7sydGrg==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-nps/-/actor-query-operation-path-nps-1.22.0.tgz", + "integrity": "sha512-aBM44q3wjFz7J9nuPVEI0kpsFXcN14LK1bih8SwiUz8DMb+Ls4pODgWN00Y4PZgB6Aqf3NL9bRr/8UlheQZ56A==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-one-or-more/-/actor-query-operation-path-one-or-more-1.22.0.tgz", + "integrity": "sha512-lc8Qp9HhMwmhLI+PFpchmExFtivbDDR8EhFUsFt0LZuSLvmz4nH1wxrOLnL99/054RIisNyz7pYa+CzAsE5KUg==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-seq/-/actor-query-operation-path-seq-1.22.0.tgz", + "integrity": "sha512-9oLdRJr9kDab0wzg75Ki54CxLkeU2lYMNGpPCj5AAtFXlXwCL3qiVnkNBjGdgyLLwg8hd6cQeOG12SYEcSfFDQ==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-more/-/actor-query-operation-path-zero-or-more-1.22.0.tgz", + "integrity": "sha512-u9+v07ZxadcYiKTkrXW1GMiBAuS0Bi7N5Z1iPQSgD0HHC8p2JsNySteY4U9eSO5Y4lht8koeSGanplmCZY/YhA==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-one/-/actor-query-operation-path-zero-or-one-1.22.0.tgz", + "integrity": "sha512-RnjN9y6oat2kZtYvcxBdyY29oDrO2ZH6sTwEDX4qro10QkfHm5Pa4SPGSoIdj5x1g5meeOOXisqKoZHQZUTJfA==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-path": "^1.22.0", + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-project": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-project/-/actor-query-operation-project-1.22.0.tgz", + "integrity": "sha512-qjvpx4rto/CK/xefDn3232R0Ilc4DrhK5xl8RK7/l5Yn1/yFgWnqHK2sY+51O2/qeOkqYrb9ojoT9PwXHaLyXA==", + "dev": true, + "dependencies": { + "@comunica/data-factory": "^1.22.0", + "@comunica/types": "^1.22.0", + "rdf-data-factory": "^1.0.3", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-quadpattern/-/actor-query-operation-quadpattern-1.22.0.tgz", + "integrity": "sha512-kNNPhM28JCiJ/iYpobM+wv6Y71Q3adWTlt2GM1MF8ckU9Fa+IwdlFaZ9oYaLudLpPW48QtAXDLZgiNtZEhPNAg==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-reduced-hash/-/actor-query-operation-reduced-hash-1.22.0.tgz", + "integrity": "sha512-vymsRgS+c4J48uzyvSIb/Qj1sJ1DEqRZXuQuw8KhCCzWmCRA49DPpx2lg2sc6PJJTjyQAU3xbqHVaZUyX5e9jQ==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-bindings-hash": "^1.22.0", + "@comunica/types": "^1.22.0", + "@types/lru-cache": "^5.1.0", + "lru-cache": "^6.0.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/actor-abstract-bindings-hash": "^1.2.0", + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-service": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-service/-/actor-query-operation-service-1.22.3.tgz", + "integrity": "sha512-z+UUJjgYppnZwV+Oz3ZVQBZpLxUAFrAtvpuVSUmjJn6ab76X29ZQY13czY2y6TfiBhbbsW+HL5kuv0g3SEOHug==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-slice": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-slice/-/actor-query-operation-slice-1.22.0.tgz", + "integrity": "sha512-BjanWrGY2EgH8nm5aEsYCLQIt4FZRYU9lQECdpihmVCloGX1ItzR5Rfk51tnGbXBarqm+pj6WoT+zSu0Ee4x2A==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-sparql-endpoint/-/actor-query-operation-sparql-endpoint-1.22.2.tgz", + "integrity": "sha512-y+bnQlhTUtlybstinINiayQVXro9lZfpBiVBM9zxyZOST/fwXho5alclasfFgwy04js8aIM1efx8eJD2OUwlxQ==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@comunica/bus-rdf-update-quads": "^1.22.2", + "@comunica/types": "^1.22.0", + "@comunica/utils-datasource": "^1.22.2", + "@rdfjs/types": "*", + "arrayify-stream": "^1.0.0", + "asynciterator": "^3.2.0", + "fetch-sparql-endpoint": "^2.3.2", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.2.0", + "@comunica/bus-query-operation": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-union": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-union/-/actor-query-operation-union-1.22.0.tgz", + "integrity": "sha512-/qoweeCXg52ObfkFxjsU3nxsJBPavU6bCcDBJMLCFwd6VT9i7IKI+Y6aBH0CmCZpzBgaZQ1o3kGHJdUoxr+qyQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-add-rewrite/-/actor-query-operation-update-add-rewrite-1.22.0.tgz", + "integrity": "sha512-4SBqqrsZBAwPJYoVr4w24D9NsAR48fQOUH6ZD05vyWG/vqedO2T2POFFNXBCCXiigr35QWvQLvbzoqamC5mbpg==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.4", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-clear/-/actor-query-operation-update-clear-1.22.0.tgz", + "integrity": "sha512-qRrUrkQJjvLv6PysbVJ1vOndHIvCHXpp5CmP1GFU4SF7s0LT65PSWh6+LgmcLKs+bntVMbdqaBu58lR5jk7J7Q==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.4" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-compositeupdate/-/actor-query-operation-update-compositeupdate-1.22.0.tgz", + "integrity": "sha512-rDt7JtQXOQ1LZY+xuhao6pv25zrXNH6VB8I6TlOAYm6OIE+PtAtbRp5AWzg8Yjqz81UHiXGQHV8SNx51LBkmtA==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-copy-rewrite/-/actor-query-operation-update-copy-rewrite-1.22.0.tgz", + "integrity": "sha512-WYapkqUcVZ8KWfSUlEz8iBg+OoRnHI3XvAlx6cyql4Fs/3l0Gqwc2PzWHi3N5J2AUsyiFJ28JrGDba8f1PYGLg==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.4", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-create": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-create/-/actor-query-operation-update-create-1.22.0.tgz", + "integrity": "sha512-tZxqO+4n7qbDVJcp0VNYKRbI9uS8xTyK5s63sD53YeFl6Fl52dJtBb916R9Wb0pe2Pb37ErXF38/Z127P9EiNA==", + "dev": true, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-deleteinsert/-/actor-query-operation-update-deleteinsert-1.22.2.tgz", + "integrity": "sha512-8VGwvEEjHoEVwTJXGW4USHLS5DKc5iZwn1NByTAg8YdgX8ycE2odJi766cR8GLkeZu6621OUyZIgSnLdSAuMvA==", + "dev": true, + "dependencies": { + "@comunica/actor-query-operation-construct": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/bus-rdf-update-quads": "^1.0.0", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-drop/-/actor-query-operation-update-drop-1.22.0.tgz", + "integrity": "sha512-5DuDEmUrUO5vktgiDIHtBJtv0k1mHQqCQyF4nKLctq2bTDPaaYK533jqPM+ucxXINryx6t4SowUgdVRqpn4VIA==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.4" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-load": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-load/-/actor-query-operation-update-load-1.22.0.tgz", + "integrity": "sha512-nI4fMNGUevmprlTBgbuovJMQl+1LabCajvjC9ri5hZ9Ya0fEVQsFNbXH7H2oYlC0OOzM6uUjTdb9I8D/OzF8+g==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.4", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-move-rewrite/-/actor-query-operation-update-move-rewrite-1.22.0.tgz", + "integrity": "sha512-ulo9KDuUy7555C0aOdgMUgOvCTLszJy8zLzN67HKktu1wK6WKV10zVMX/OcecdFE4fIVf/AA4SKXJCgsHGpXsQ==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.4", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-query-operation-values": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-values/-/actor-query-operation-values-1.22.0.tgz", + "integrity": "sha512-P6znlDSYd6aD6NlSepc++V5HbmnNE8O4vZ8nvNmwZAS4z/pWjkaFM6eQkZPdkz+qXaGTzWHS3ib2zUDq3CaD4w==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asynciterator": "^3.2.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-query-operation": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-dereference-fallback": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-dereference-fallback/-/actor-rdf-dereference-fallback-1.22.2.tgz", + "integrity": "sha512-EzvBerax4WVOxmkRuHviehUQ3VUU0CPHV+fErFB9+s5UbXHk6MU3GqzH9iehoFYzpP7Xic0VZXFd34nCTvzmtg==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-dereference": "^1.19.2", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-rdf-dereference-http-parse": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-dereference-http-parse/-/actor-rdf-dereference-http-parse-1.22.3.tgz", + "integrity": "sha512-OBtJTHA8OXAWF3+FJ7n0R1i8nGzxD2xK18mgMPu4JId9r9bUS4RMKCDWa8MIG6p9Hd7SleuS9bC48w5vm07yww==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.5", + "relative-to-absolute-iri": "^1.0.5", + "stream-to-string": "^1.2.0" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/bus-rdf-dereference": "^1.0.0", + "@comunica/bus-rdf-parse": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-join-multi-smallest": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-multi-smallest/-/actor-rdf-join-multi-smallest-1.22.0.tgz", + "integrity": "sha512-eoMuumFT+GB73f7H8Q8ijzchqHRY26w20lcKcsylC2bWS+ET8tFkYCODHop0uO53DMZPCrAm0C1higPB4XOw7Q==", + "dev": true, + "dependencies": { + "@comunica/bus-query-operation": "^1.22.0", + "@comunica/mediatortype-iterations": "^1.22.0", + "@comunica/types": "^1.22.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-join": "^1.9.2", + "@comunica/core": "^1.9.2" + } + }, + "node_modules/@comunica/actor-rdf-join-nestedloop": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-nestedloop/-/actor-rdf-join-nestedloop-1.22.0.tgz", + "integrity": "sha512-8APKCtsH6lWmadCnp8xkJqu0O8uqBZ1GfFmV3KxmE3jPx9lrMVckmKBAd3i7vcMHWRwzOvZF4YFJkJxL7JeqnQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asyncjoin": "^1.0.3" + }, + "peerDependencies": { + "@comunica/bus-rdf-join": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-join-symmetrichash": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-symmetrichash/-/actor-rdf-join-symmetrichash-1.22.0.tgz", + "integrity": "sha512-+K11crWY5N+Txb5HOP8P5/z2EN7WK8Cq1o1Go2RkUHhR0Pc4HZMoJtf6ATyJGB64y3lRpUVzKayrqSkDXlaSbQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "asyncjoin": "^1.0.3" + }, + "peerDependencies": { + "@comunica/bus-rdf-join": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-all": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-all/-/actor-rdf-metadata-all-1.22.0.tgz", + "integrity": "sha512-8I7xrelM3G5nJ8SB5sh/cuIniAF0uDQ4AH8LA9z+aZQI5RvHN4kfgW6V/9NSmaEskyscy9m+nGkByEpuh+pHvQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-rdf-metadata": "^1.6.3", + "@comunica/core": "^1.6.3" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-allow-http-methods/-/actor-rdf-metadata-extract-allow-http-methods-1.22.0.tgz", + "integrity": "sha512-vbbJxxtDZ8KFOLTZ4/bbilI95Kj1u7eaQcOw15PWvsMz29e9Mi28Gvguv1m/7CIpn4myNEWWu9hkardzWGcFhg==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-metadata-extract": "^1.21.1", + "@comunica/core": "^1.21.1" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-controls/-/actor-rdf-metadata-extract-hydra-controls-1.22.0.tgz", + "integrity": "sha512-fSYye14RuiT0H9il92G8bDUuOrRxRY1is/+C+ShAXb6npx05GDfO+p9Ew4hBCRbveU10DAdsarOTYpcP2bTZSQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/uritemplate": "^0.3.4", + "uritemplate": "0.3.4" + }, + "peerDependencies": { + "@comunica/bus-rdf-metadata-extract": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-count": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-count/-/actor-rdf-metadata-extract-hydra-count-1.22.0.tgz", + "integrity": "sha512-IM27SyFT2lRZc853m10I8YQX+nzSS5ouY4dLWyI3yzlYfI1LFOI/kDiUicgiyAoAy7UBG2c60jvFXTC6HQsdJw==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-metadata-extract": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-patch-sparql-update/-/actor-rdf-metadata-extract-patch-sparql-update-1.22.2.tgz", + "integrity": "sha512-de9IJPIuXrvh8plhl8RndrbNcigO7hhi34bEoKwcjdX8YBK1F4BEK3mRvE0rlSjwv5vDLPjT4ejxl6bL2Da/rQ==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-metadata-extract": "^1.20.0", + "@comunica/core": "^1.20.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-put-accepted": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-put-accepted/-/actor-rdf-metadata-extract-put-accepted-1.22.0.tgz", + "integrity": "sha512-VLZQI1eEQOImxFgfa9grlB1AzmfZweypBodQlvHSESgqUhKzyEkaX00HiK2kM74vmccdCpzEEoOfwaJdXU8TbQ==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-metadata-extract": "^1.21.1", + "@comunica/core": "^1.21.1" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-sparql-service": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-sparql-service/-/actor-rdf-metadata-extract-sparql-service-1.22.0.tgz", + "integrity": "sha512-z2w/bhFZ/iWq7KgdLqBD/8CWL7S9VZJSmczccgKmwQGRJWzJ4mHpUAdOCh7EFD/9HbsC4fXJGXZHQjZ8u6SM6g==", + "dev": true, + "dependencies": { + "relative-to-absolute-iri": "^1.0.5" + }, + "peerDependencies": { + "@comunica/bus-rdf-metadata-extract": "^1.8.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-primary-topic": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-primary-topic/-/actor-rdf-metadata-primary-topic-1.22.0.tgz", + "integrity": "sha512-+ZRSUVDqUZo5RLwOUbtIifiBn2Qgg6awMsfRlw2PeGE72BhQ1ik0tfz1l9Q7UuYnxnLoUFe2zyKEYc7GXAV34g==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-rdf-metadata": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-U9pznSpQ1POSH+ekOke3lYKO0fsUbNdv1g1nfuWz/MV3xMCF/d2f3CVBjXRSx9qwyb/2zUrOjBCJRrYkfZ6geQ==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "htmlparser2": "^7.0.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse": "^1.8.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-microdata": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.22.0.tgz", + "integrity": "sha512-OdB3Z7ZCtVAcsVU2Vs0ytGbiz0eYkeBwVA3k0vGVhSN3ygng5Thj+t8jxG6QWHlLvaIXfJFh0x57qY5tXkr8uQ==", + "dev": true, + "dependencies": { + "microdata-rdf-streaming-parser": "^1.2.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse-html": "^1.17.0", + "@comunica/core": "^1.17.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-rdfa": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.22.0.tgz", + "integrity": "sha512-yVjYLpm9rbpPiqU1OE4Yioyk/YHtO6ywVMbdOPUNLeOwrtWou8vKX0Xh4UUR24Qrt8nuhE+p0kCJiZZtM1PmSQ==", + "dev": true, + "dependencies": { + "rdfa-streaming-parser": "^1.5.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse-html": "^1.0.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-script": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.22.0.tgz", + "integrity": "sha512-gQSY56wkS/uftRyjQf+/dQFRpA/jZ6z2o2RgGbQc2avgKTkhaiTtPxpfO1oarLskm1sPlQOFo24ZwqUSqjOwcA==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "relative-to-absolute-iri": "^1.0.5" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse": "^1.4.0", + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-jsonld": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.22.1.tgz", + "integrity": "sha512-MFFhJ6eGyO40Be80zsFKAbRjkPXr80PvCqvVKsEstdv3u9C6GFV3nqZpCwvsVCz22IPQhW+rzb8ZyasmgHnurA==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.1.2", + "jsonld-streaming-parser": "^2.4.0", + "stream-to-string": "^1.2.0" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/bus-rdf-parse": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-n3": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.22.0.tgz", + "integrity": "sha512-qHrGfh5k/pZa4imy7m9gJ1kt9aW1uxXqLDKnLKvR2l0m09YiEx/YOYWr1Wtu1YtH/Yyc13OX4mo/OwaE5PfrHQ==", + "dev": true, + "dependencies": { + "@types/n3": "^1.4.4", + "n3": "^1.6.3" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-rdfxml": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.22.0.tgz", + "integrity": "sha512-k47WEAZ6qKEhf1eBZZeI5aVywlrUUKP3BKHw2zKJUjuWq5k+w/rp2WALCyt0Owtb37UlJbET3fTlUhXKvT+2aw==", + "dev": true, + "dependencies": { + "rdfxml-streaming-parser": "^1.5.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse": "^1.1.0", + "@comunica/core": "^1.1.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-xml-rdfa": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.22.0.tgz", + "integrity": "sha512-y315YcZTz7AizKf8Jl022IocAJIh3OHSlzNrRNH3zB7i/ch+WHj1VL9pjIf6y77PD4BR75EdeoQCPafpm5Gsbg==", + "dev": true, + "dependencies": { + "rdfa-streaming-parser": "^1.5.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-parse": "^1.8.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-next/-/actor-rdf-resolve-hypermedia-links-next-1.22.0.tgz", + "integrity": "sha512-94t3u2B2kH8ftMtkLfo1B/v1SJkiFdEf3y351UOqrWJ71GNMQwgvzQFcSRL4QRcgaIjz4wecj8oGUN0wPs2Kdg==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^1.0.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/-/actor-rdf-resolve-hypermedia-links-queue-fifo-1.22.0.tgz", + "integrity": "sha512-DzQgHFDDXtawPvNbei1j6xL2yWdlSpq/vOD4K8Z+NrheKjNbPz84bJp0bhnWiOonwHMCRdxQRu+Etf33SFWFJQ==", + "dev": true, + "peerDependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^1.19.2", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^1.0.0", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-none": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-none/-/actor-rdf-resolve-hypermedia-none-1.22.0.tgz", + "integrity": "sha512-rPtjD7WAlXBwrWmG5vy9hGo5J9AlKaWuH7Cf3I0HFUnPRegF98UAFZyygQP4otDC3EsygJakbmApBkzjiKFRPw==", + "dev": true, + "dependencies": { + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^1.22.0", + "@rdfjs/types": "*", + "rdf-store-stream": "^1.3.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-resolve-hypermedia": "^1.8.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-qpf": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-qpf/-/actor-rdf-resolve-hypermedia-qpf-1.22.2.tgz", + "integrity": "sha512-dHR6FtLj/buvHmOT9B0FysWwIQO7L0+uqCnHQ9peShKOwpKMtl5qW9a8L63yWNlB34JgB+ZvL0/qJO7JWZZXTQ==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-dereference": "^1.22.2", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-data-factory": "^1.0.3", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2" + }, + "peerDependencies": { + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^1.0.0", + "@comunica/bus-rdf-metadata": "^1.0.0", + "@comunica/bus-rdf-metadata-extract": "^1.0.0", + "@comunica/bus-rdf-resolve-hypermedia": "^1.0.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-sparql/-/actor-rdf-resolve-hypermedia-sparql-1.22.1.tgz", + "integrity": "sha512-nbvGfhHKyPBygeQyxLyUyrQen7q3JrSJi92x8TrkhUoTxiEYM0bYUvYmsciqlxLhNxH7EPpMzzf1oaiZfiqlqA==", + "dev": true, + "dependencies": { + "@comunica/bus-query-operation": "^1.22.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "fetch-sparql-endpoint": "^2.3.2", + "rdf-data-factory": "^1.0.3", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-resolve-hypermedia": "^1.8.0", + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-federated/-/actor-rdf-resolve-quad-pattern-federated-1.22.0.tgz", + "integrity": "sha512-Cpt5LvusDUK/mnA2LlcuQ3hqpJp9CSDjd0c7NESWuR2uCXDAxugWVJAll0EosIAw0Lx82n0SneOBqh6pk2gPxQ==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@comunica/data-factory": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-data-factory": "^1.0.3", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/-/actor-rdf-resolve-quad-pattern-hypermedia-1.22.2.tgz", + "integrity": "sha512-eQhXoOYVpEJNkp6pYvJwaU+PmvR41VEKX9zivcBxRGagbLOaX5SG0xV+0I2YApB4HvagD/0IICVRRxXqODRUVA==", + "dev": true, + "dependencies": { + "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": "^1.22.0", + "@comunica/bus-rdf-metadata": "^1.22.0", + "@comunica/bus-rdf-metadata-extract": "^1.22.0", + "@comunica/types": "^1.22.0", + "@comunica/utils-datasource": "^1.22.2", + "@rdfjs/types": "*", + "@types/lru-cache": "^5.1.0", + "asynciterator": "^3.2.0", + "lru-cache": "^6.0.0", + "rdf-data-factory": "^1.0.3", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^1.0.0", + "@comunica/bus-http-invalidate": "^1.0.0", + "@comunica/bus-rdf-dereference": "^1.0.0", + "@comunica/bus-rdf-resolve-hypermedia": "^1.0.0", + "@comunica/bus-rdf-resolve-hypermedia-links": "^1.0.0", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^1.0.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/-/actor-rdf-resolve-quad-pattern-rdfjs-source-1.22.0.tgz", + "integrity": "sha512-iy7PQav5pytbtHfU7EjP9NTKRXEKNez7tZfoI6FwGVIreX0WrxpE100xCjhQt0kkkEb7l0R0Yn6n9cXsJc8Gcg==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "asynciterator": "^3.2.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^1.2.0", + "@comunica/core": "^1.2.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-jsonld": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-jsonld/-/actor-rdf-serialize-jsonld-1.22.0.tgz", + "integrity": "sha512-UrkVEkeY2Oobsjw0kiswtTNcJU9ePXlekFE0iyemZs7b3DLAibzQeMERTiY2lSV+NBwpGhKAR+6DkCjLjd/TOA==", + "dev": true, + "dependencies": { + "jsonld-streaming-serializer": "^1.3.0" + }, + "peerDependencies": { + "@comunica/actor-abstract-mediatyped": "^1.0.0", + "@comunica/bus-rdf-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-n3": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-n3/-/actor-rdf-serialize-n3-1.22.0.tgz", + "integrity": "sha512-9LBLd+ayFn7Rb/ASt1ZrBjjsUZV9I01E7MB19mcz3pyCt1HZdQ0l8JeZ5gC18cOK5B/X1KKZsx2wP+ZpHwa/og==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/n3": "^1.4.4", + "n3": "^1.6.3", + "rdf-string": "^1.5.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/-/actor-rdf-update-hypermedia-patch-sparql-update-1.22.2.tgz", + "integrity": "sha512-CqaDel2GTxYcM9CVzMERaGlA6XVWbqjkAfvnufhl9suMiDw8aqnuw91sPMbTlh38MhAaLY6SVwmxqekmdtxOhg==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-update-quads": "^1.22.2", + "cross-fetch": "^3.0.5", + "rdf-string-ttl": "^1.1.0" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/bus-rdf-update-hypermedia": "^1.0.0", + "@comunica/core": "^1.0.0", + "@comunica/types": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-put-ldp/-/actor-rdf-update-hypermedia-put-ldp-1.22.2.tgz", + "integrity": "sha512-SucEQhDSA5Tul7+RNWKaKuRMiNZS9zzBo92lJH1VSOx9SY9nnOcTVieNJrA8p3ExyYivnLmufe4AAM7M/m/T1g==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-update-quads": "^1.22.2", + "cross-fetch": "^3.0.5" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/bus-rdf-serialize": "^1.0.0", + "@comunica/bus-rdf-update-hypermedia": "^1.0.0", + "@comunica/core": "^1.0.0", + "@comunica/types": "^1.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-sparql": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-sparql/-/actor-rdf-update-hypermedia-sparql-1.22.2.tgz", + "integrity": "sha512-wtA5ZRqWdPH3lIjouCavTmfbNzLxP4QhmlR4SXeefgICf5bSP/2J7/UMBZHHpEmuQhrvqbKYRJGNzQSCzzd9vA==", + "dev": true, + "dependencies": { + "fetch-sparql-endpoint": "^2.3.2", + "rdf-string-ttl": "^1.1.0", + "stream-to-string": "^1.2.0" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.0.0", + "@comunica/bus-rdf-update-hypermedia": "^1.21.1", + "@comunica/core": "^1.21.1" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-hypermedia/-/actor-rdf-update-quads-hypermedia-1.22.2.tgz", + "integrity": "sha512-e6kbJTIo92ig4LxdgQTGHcXp3PjHjdWWqOpVDO6Um5S/hoYRWZLA5/KI9BAxIodyaMaYU+gfSymkVfSNPrJjmw==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-dereference": "^1.22.2", + "@comunica/bus-rdf-metadata": "^1.22.0", + "@comunica/bus-rdf-metadata-extract": "^1.22.0", + "@comunica/bus-rdf-update-hypermedia": "^1.22.2", + "@types/lru-cache": "^5.1.0", + "lru-cache": "^6.0.0" + }, + "peerDependencies": { + "@comunica/bus-http-invalidate": "^1.20.0", + "@comunica/bus-rdf-update-quads": "^1.20.0", + "@comunica/core": "^1.20.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-rdfjs-store": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-rdfjs-store/-/actor-rdf-update-quads-rdfjs-store-1.22.2.tgz", + "integrity": "sha512-veMjUWILDYzsvETvlGjFN14w5zNTAZlbFr7vmm6F4zuI5m5G4wnVHrdhU1cf7wp3foGVDOzp5jIC9Hl3UMKtCQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "rdf-data-factory": "^1.0.4", + "rdf-string": "^1.5.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-update-quads": "^1.0.0", + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/actor-sparql-parse-algebra": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-parse-algebra/-/actor-sparql-parse-algebra-1.22.0.tgz", + "integrity": "sha512-8XdAbj0zd2O+2dE/i+J/mdL6xAK8qYcQ6xFf61SmIPIQBxdSRmlqxKfIc+qdCp8/KyEEG/ePA6+nG0rb94nqfw==", + "dev": true, + "dependencies": { + "@types/sparqljs": "^3.0.0", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0", + "sparqljs": "^3.4.1" + }, + "peerDependencies": { + "@comunica/bus-sparql-parse": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-parse-graphql": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-parse-graphql/-/actor-sparql-parse-graphql-1.22.0.tgz", + "integrity": "sha512-tbN2Vh1y+XwvkKP+6Pshq89Enr/aWmG9qJH7WKdu25GqJRN9yydk3NVHJBwGpesydtRKlgFN/UrYuM7FCls8MQ==", + "dev": true, + "dependencies": { + "graphql-to-sparql": "^2.4.0" + }, + "peerDependencies": { + "@comunica/bus-sparql-parse": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-json": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-json/-/actor-sparql-serialize-json-1.22.0.tgz", + "integrity": "sha512-DFFBGoQxvGHtE6t9/5vsIABUakFLok1l4FSx97fhQ3551+LiosWBbjFpswFwEr0AGKHJPEDH4qYe0gvVuUqq+w==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "rdf-string": "^1.5.0" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-rdf": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-rdf/-/actor-sparql-serialize-rdf-1.22.0.tgz", + "integrity": "sha512-OMe31+egTtd7aSTi1bu3ufsNXjJDNPQ/5glxGCzPb0ZxC+lE4LMdGtMZ3mpfLy8mzEQCrMXGZboCyv1K7I9EAw==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0" + }, + "peerDependencies": { + "@comunica/bus-rdf-serialize": "^1.0.0", + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-simple": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-simple/-/actor-sparql-serialize-simple-1.22.0.tgz", + "integrity": "sha512-wkoQz+xyd7FA00C0T70ochP3UOW4TrYpxBLbnqPkm7Iw8pFEn1iJ8ta12SNuju/lVtqfN+e16CFD0OlaGgCEZA==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-sparql-csv": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-sparql-csv/-/actor-sparql-serialize-sparql-csv-1.22.0.tgz", + "integrity": "sha512-dXlNRulCZRCtf+GamYrBsR4bAbLZvcFPZp1WsbuGhCygqitu2QLwTlSMphgOtyuOCPEeF8Y6+1yljqoTC58WMA==", + "dev": true, + "dependencies": { + "@comunica/bus-query-operation": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.15.0", + "@comunica/core": "^1.15.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-sparql-json": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-sparql-json/-/actor-sparql-serialize-sparql-json-1.22.0.tgz", + "integrity": "sha512-bFQX/a/lAv4akO7/8xMM/lbr2ZZbSPb4byo4TlSDLihnOeB8sEXb8hBPHqHoN57faxUUqzBEy4zzx4cdcXHM4g==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-sparql-tsv": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-sparql-tsv/-/actor-sparql-serialize-sparql-tsv-1.22.0.tgz", + "integrity": "sha512-a/zZDura9tu0g6wP/Z1+/RUT1zKJICjeC5azOX6BOSTdt6N+ldNrB06tyRyIbPyAGSAK0t+tOgiUPWanjXXUng==", + "dev": true, + "dependencies": { + "@comunica/bus-query-operation": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "rdf-string-ttl": "^1.1.0" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.15.0", + "@comunica/core": "^1.15.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-sparql-xml": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-sparql-xml/-/actor-sparql-serialize-sparql-xml-1.22.0.tgz", + "integrity": "sha512-vADmIcOg2A+d4MRRjp/nm1yxpRjCB1nJKaGlXgqmEfkRYKbxrhv0/WzByF6OqdrR3W3ZMTKwzAsNdo4+mWQVRQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "@types/xml": "^1.0.2", + "xml": "^1.0.1" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-stats": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-stats/-/actor-sparql-serialize-stats-1.22.1.tgz", + "integrity": "sha512-v8OzTGRZNlh86f8C24WA3IIf8XfHQBMWJIxQsFsGeVj3jtB2ngYM7GZtr/xvcRjHooTULygcQIE4wwkW+KMlCQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/bus-http": "^1.10.0", + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-table": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-table/-/actor-sparql-serialize-table-1.22.0.tgz", + "integrity": "sha512-Vh8PGLHGNBnqtzqwdLAekQuneetmrpcXIdTaC+CSpjbGLamsXTfvzkPJCi4TgdxWnEmRcjMGo8MMyho0A+cToA==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "rdf-terms": "^1.6.2" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/actor-sparql-serialize-tree": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-sparql-serialize-tree/-/actor-sparql-serialize-tree-1.22.0.tgz", + "integrity": "sha512-ICC1jTz++ThLXjXVIbrPJvfibu1DL9eTlPpooX3P70n8RQyG80f1SBAxdn4M42Q1+YE8poRjJx1ZgxVoQ8Rnag==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "sparqljson-to-tree": "^2.0.0" + }, + "peerDependencies": { + "@comunica/bus-sparql-serialize": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-context-preprocess": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-1.22.0.tgz", + "integrity": "sha512-N4Lmu8JovfhDBOuyhG/7Gaig4v+nWFYbrhCRpj5gSnbn4J8WwqNmcbwVWWi3jCgw/SGsk3QRIQaFXyS3IigydQ==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-http": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.22.1.tgz", + "integrity": "sha512-CZ0NDWZH0k0FOshuRQJzYr3Z+2ZM1vqr9ZepONuaoYDwyKaxl29xPs3hNfjSy6YawjEQP+elr/WDc3TxKIpu8g==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@types/readable-stream": "^2.3.11", + "is-stream": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", + "web-streams-node": "^0.4.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-http-invalidate": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-1.22.0.tgz", + "integrity": "sha512-JQnEvU9s+Q/OBUdKEbI15QPyO4d7opkGi1nGah9aMpFx7o3CuIa62SuzmDokfgHXOIVaOh2e6gWDNuFjCj9cBA==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/bus-init": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.22.0.tgz", + "integrity": "sha512-NIfEJLI8EYFdTWJB0PV/lxPagStPl+gUj3LtOnovcF1ZhC5rgcJSC/tq1r04n0TziY2KVangnLDsF4752LjD6g==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-optimize-query-operation": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-1.22.0.tgz", + "integrity": "sha512-psRjzvqYdohXIM9AYRDawe0axJM8S1RfeRWsbi+f4z18axEDMq/FEBRkmbpCoZaQ2DR2a16RcUr0ItgchWHUJQ==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/bus-query-operation": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-1.22.0.tgz", + "integrity": "sha512-4qRytLHR+1ghNsct9+OArnXDPQt8/PGTwLsseI7ACZ0Q8Ao1Oq212nNshC5Vl90bueh20iksHfBFBogttzsTDA==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@comunica/data-factory": "^1.22.0", + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "immutable": "^3.8.2", + "rdf-string": "^1.5.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-dereference": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-dereference/-/bus-rdf-dereference-1.22.2.tgz", + "integrity": "sha512-dtLEmCzlscpe8AqEver8H+7a7UzyOXslUQ00VE+igt/+oAQvJpRBCQ3yB6XkyjAV/+ApLrbAjpCRf3Gp2NWfgg==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-dereference-paged": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-dereference-paged/-/bus-rdf-dereference-paged-1.22.0.tgz", + "integrity": "sha512-UMjrL8VXP5gMcESAOqMq/yhaK6MlFRPtewcG7hpOEkCKUaR2Ss3N7caGCkBc3c2aLvCjuD3aZXiiRfR+JuzRRA==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "asynciterator": "^3.2.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-join": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join/-/bus-rdf-join-1.22.0.tgz", + "integrity": "sha512-kxxoOnSgMCEIhU1ToSnucT1nv6ktoPwTPr3uVt/q36873WdCnfUGgd1yAMGQfTQWQbOf9BlL2dYHmJkzPvx78A==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata/-/bus-rdf-metadata-1.22.0.tgz", + "integrity": "sha512-d/eHq4ofHDll2c9SFQkxGFg8rwsezOQJ5vktGEaic1k57297ke4tEG4JB0MdgZCUNwLieAtEtB81qj0mqW1WaA==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-1.22.0.tgz", + "integrity": "sha512-u7YXAKh3jXbPBE1ATciwwdYjwi8BNDi6hkRYxszD+IKJeW6x62VXiw24sraR3mvJohl3a2tR9nQHWv9Khijisg==", + "dev": true, + "dependencies": { + "@comunica/types": "^1.22.0", + "@rdfjs/types": "*", + "graphql-ld": "^1.4.0", + "rdf-store-stream": "^1.3.0", + "sparqlalgebrajs": "^3.0.0", + "stream-to-string": "^1.2.0" + }, + "peerDependencies": { + "@comunica/actor-init-sparql": "^1.16.2", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-parse": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.22.0.tgz", + "integrity": "sha512-ohZGlabX5K+dEmn+v4BzP+IZVyRc1ovWItHDLznnRqsHQr8W19WPG21lEFh5kk2MK4YnyQWmlUax1Yxrg7cbXg==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-parse-html": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-zqdLdF5qvru1vnzN4t9eXpJhi6khKm1ZWhUovBB9pfYnnyGRCQCPlFpcgJPrD8JfKd6nTvhgdLB5QcAbBb1I0A==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-hypermedia": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia/-/bus-rdf-resolve-hypermedia-1.22.0.tgz", + "integrity": "sha512-stZUCKUOkt7DCwgSZdhY6tFiUEj4sbkjroJg6BfA3ATJptH7waINPn1D0ytrg0NHy1+vuU+5H1E6/Qtlczuk0g==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0" + }, + "peerDependencies": { + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-1.22.0.tgz", + "integrity": "sha512-w76L61DC/7PchmONzf7wYuMlN08TWN9Vr+ulse84/4+jResEYzCji5kYJV4AiAKQ868ufwuGJuskf6FJlUjqFg==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.8.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-1.22.0.tgz", + "integrity": "sha512-2l+AEDwEIGD19ogk3umDuV25h0xMpHCMliefK8aL3iUqw1LzY93aHx7A2BgidfdQKrWog6R+vkazTaL/duTX2w==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/bus-rdf-resolve-quad-pattern": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-quad-pattern/-/bus-rdf-resolve-quad-pattern-1.22.0.tgz", + "integrity": "sha512-Re3hM8mwqbPNuS23Uh0GvMI+ryC6gWMrC+johCWhDOX+iYqLv1bUgfrC0tZE4v7reMyYp6nuCVHa/9o+F3Fweg==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-serialize": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-serialize/-/bus-rdf-serialize-1.22.0.tgz", + "integrity": "sha512-GY07qx6IIfM2GoIa8Vm8rq+iU2d/r7T6fBX61ZJxAsNKrbhtniuaqMrdZ2CL6sYKSBxVTNeRzP2l+d55So8v2Q==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@rdfjs/types": "*" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-rdf-update-hypermedia": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-hypermedia/-/bus-rdf-update-hypermedia-1.22.2.tgz", + "integrity": "sha512-pvTEAKDgpCuUcR+JK/8VbuhiL1WYBMe9nyWdHZrrVhQC6hJMKB6Gmrly3qc8JKVk8iPmpYyAT4Ea29DxEIl6HQ==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-update-quads": "^1.22.2" + }, + "peerDependencies": { + "@comunica/core": "^1.20.0" + } + }, + "node_modules/@comunica/bus-rdf-update-quads": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-quads/-/bus-rdf-update-quads-1.22.2.tgz", + "integrity": "sha512-MnczplJyAwZrfPAMfORKG+U8xdTxUbdKUcbopOk82JJvN3AjiDrbBetp3eS+Q+O+wV4Ae0kzrng+Q1aJ3zpiRA==", + "dev": true, + "dependencies": { + "@comunica/bus-http": "^1.22.1", + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "stream-to-string": "^1.2.0" + }, + "peerDependencies": { + "@comunica/core": "^1.19.2" + } + }, + "node_modules/@comunica/bus-sparql-parse": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-sparql-parse/-/bus-sparql-parse-1.22.0.tgz", + "integrity": "sha512-3xnsbh5wfiCuFPMa2RHzzIIBkwVRUEdao4iydzlp3mTJjU5huWSyL6zvteIm/lIjW0HbWCQY5QfQ1FiAyZB6lA==", + "dev": true, + "dependencies": { + "sparqlalgebrajs": "^3.0.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/bus-sparql-serialize": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-sparql-serialize/-/bus-sparql-serialize-1.22.0.tgz", + "integrity": "sha512-qBlhEkEwtScGLrlebu2YqWbyAR/765zNtxqQqUBfEXaf+3ahmSACpwKFMuxJh0v7VXWCQNKYTA5WfFlEz7V4Uw==", + "dev": true, + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@comunica/types": "^1.22.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/context-entries": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.22.0.tgz", + "integrity": "sha512-HOYr1HdhgavxABpw8saZa9pueLAeGVVd/6cZ3FWcYnH3CvfQu6Ima06Gd00QdIAiGjQm01qQcWCxp0xURiqLKg==", + "dev": true + }, + "node_modules/@comunica/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.22.0.tgz", + "integrity": "sha512-tgozygRFTd6t6l0YyvfVUWNC+KXWiTlBclkxtzFioQsplKvUSvg1TPjopRk8hhAvMaNRGMNBK2ZafNaqNTkI4w==", + "dev": true, + "dependencies": { + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", + "immutable": "^3.8.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@comunica/data-factory": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-1.22.0.tgz", + "integrity": "sha512-t18NJMdB6n/CjhNKIfofTkAL2YClj842se8utnk2sfCis9OIdUW8EuRfR9iyFHmVFdfe2RjEeKBPd6iye5Ns3Q==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@comunica/logger-pretty": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-pretty/-/logger-pretty-1.22.0.tgz", + "integrity": "sha512-YCCRDIvbhWAygEqADnKnbCt7jnR4AasnoukLOQKyv1JAYxEV61FqReGG2LMtCqYR4VWUAa9tr51Ov+vOH1cMBg==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/logger-void": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-void/-/logger-void-1.22.0.tgz", + "integrity": "sha512-ORLVmoE47wqWZGdNKcZ8wpnEHtfcUKGhnDt5KbS/YV2qv4m/dG9eNIn6ax5FZeX2EFDSzWtlvMYNxNFhTvb7VQ==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/mediator-all": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-all/-/mediator-all-1.22.0.tgz", + "integrity": "sha512-jr+tYDDDJuVeW20yauB6GH3Xov0I9eW1y0V69hgcFgyi2xTBN1z+X7OkLjOBVFzYJnHmpr+rLvpxkZIiYcOW/w==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.4.0" + } + }, + "node_modules/@comunica/mediator-combine-pipeline": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-pipeline/-/mediator-combine-pipeline-1.22.0.tgz", + "integrity": "sha512-SSXOvup8vlw1tS60RICXO3N+pK+7OzpwFmw5VuIVfliIdzAklEBoMUy4BucxlyX64Pgvt6nUXvaSvY3JGf9GXw==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/mediator-combine-union": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.22.0.tgz", + "integrity": "sha512-iUHmEGgWVmk02e80uB7w8xZ5vgTLpiqzrImvbokolJzWcVbobVCUkq8DUxzz3FJbNVRGipZUFrOqkRPAuAX6FA==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/mediator-number": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.22.0.tgz", + "integrity": "sha512-KDPlJEvj0Lu+JygGXjnH8pf33k01lJ+wgzUlWK216jZJ1Px2lTlfc/COhSqi/e0y+k4ZSBcxx0gnjt2awMpbrQ==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/mediator-race": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.22.0.tgz", + "integrity": "sha512-hIMaHyf9M4jOS0199OURSVgWFmzkyF2K2keuAb+iHoCH3UUcUnWjPOL1TrdkxvaUnrxmsBWR9SXbnqgMnhIsiQ==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/mediatortype-iterations": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-iterations/-/mediatortype-iterations-1.22.0.tgz", + "integrity": "sha512-pN8aCGSh19FFu2IHjXJdCib2ewhOuW+DzQVkGTG0oD472amqQAlBVNxR38QParVP/ra70Isnbp+mfFlFLHrkYg==", + "dev": true, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/runner": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/runner/-/runner-1.22.0.tgz", + "integrity": "sha512-U2coGGD2n/fmu6zOGPBXAvsG/pjJ3agblX0bxpRvspsZdScE/8N+5rDil1lacIayAn/JE2g4oRZgI4WZ4ZicvA==", + "dev": true, + "dependencies": { + "componentsjs": "^4.0.6" + }, + "bin": { + "comunica-compile-config": "bin/compile-config" + }, + "peerDependencies": { + "@comunica/bus-init": "^1.0.0", + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@comunica/runner-cli": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/runner-cli/-/runner-cli-1.22.0.tgz", + "integrity": "sha512-bkMMOJKv5zEilxgFNmVIE4SX0xNDUUoHn4J/fEakhbGtLkhmrKSKlVTU4lv3opIn3yM9jZXxyJgda1DmZMld+Q==", + "dev": true, + "dependencies": { + "@comunica/runner": "^1.22.0" + }, + "bin": { + "comunica-run": "bin/run.js" + } + }, + "node_modules/@comunica/types": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.22.0.tgz", + "integrity": "sha512-ZQ8p+ZvMAKmdq6Hz2QwqIQ2JScwRMotiWz0iSw2zYHsYQOhVmLg7HSMzMHpWNEA5UWzO/A5A+Co/ONXMhlnx3g==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "immutable": "^3.8.2", + "sparqlalgebrajs": "^3.0.1" + } + }, + "node_modules/@comunica/utils-datasource": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/@comunica/utils-datasource/-/utils-datasource-1.22.2.tgz", + "integrity": "sha512-f4md6ydlNu/0lCrcts0T+Rqwbyx68IdmCvyd8DChg/hWlVqKbrKW8RKPzYhIN7kyF/+IDqg0a0KVpoaaD1mBYw==", + "dev": true, + "dependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^1.22.0", + "@comunica/bus-rdf-update-quads": "^1.22.2", + "@comunica/context-entries": "^1.22.0", + "asynciterator": "^3.2.0" + }, + "peerDependencies": { + "@comunica/core": "^1.0.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dev": true, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.37.0.tgz", + "integrity": "sha512-hjK0wnsPCYLlF+HHB4R/RbUjOWeLW2SlarB67+Do5WsKILOkmIZvvPJFbtWSmbypxcjpoECLAMzoao0D4Bg5ZQ==", + "dev": true, + "dependencies": { + "comment-parser": "1.3.1", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "~4.0.0" + }, + "engines": { + "node": "^14 || ^16 || ^17 || ^18 || ^19" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", + "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.1", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz", + "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/nyc-config-typescript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/nyc-config-typescript/-/nyc-config-typescript-1.0.2.tgz", + "integrity": "sha512-iKGIyMoyJuFnJRSVTZ78POIRvNnwZaWIf8vG4ZS3rQq58MMDrqEX2nnzx0R28V2X8JvmKYiqY9FP2hlJsm8A0w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "nyc": ">=15" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@keyv/redis": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@keyv/redis/-/redis-2.2.2.tgz", + "integrity": "sha512-/Md3orSEJr/6oAHt+OlQydEJLf/bWI82YaHCje6BqZGHJJsCZ6LfrNIB0GrC3qWE8NB7vaG94y7L4mOXL8ztbg==", + "dependencies": { + "ioredis": "^4.28.2" + } + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", + "integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==", + "dev": true + }, + "node_modules/@microsoft/tsdoc-config": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz", + "integrity": "sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" + } + }, + "node_modules/@microsoft/tsdoc-config/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@microsoft/tsdoc-config/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", + "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dependencies": { + "mkdirp": "^1.0.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@oclif/command": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.4.tgz", + "integrity": "sha512-fZVzaIzC0CSj5KCgAp84Z+LHqSwElA6G2lCRiQW4UfDaOx1CrHXbUCqGDBpV6lG1sobuJzKlsS6mh5fmJWeEyw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/config": "^1.17.1", + "@oclif/errors": "^1.3.5", + "@oclif/parser": "^3.8.6", + "@oclif/plugin-help": "^3.2.6", + "debug": "^4.1.1", + "semver": "^7.3.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@oclif/config": "^1" + } + }, + "node_modules/@oclif/command/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@oclif/config": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.1.tgz", + "integrity": "sha512-twRJO5RRl3CCDaAASb6LiynfFQl/SbkWWOQy1l0kJZSMPysEhz+fk3BKfmlCCm451Btkp4UezHUwI1JtH+/zYg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/errors": "^1.3.3", + "@oclif/parser": "^3.8.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-wsl": "^2.1.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/errors": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz", + "integrity": "sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "clean-stack": "^3.0.0", + "fs-extra": "^8.1", + "indent-string": "^4.0.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/errors/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@oclif/errors/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@oclif/errors/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@oclif/help": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@oclif/help/-/help-1.0.15.tgz", + "integrity": "sha512-Yt8UHoetk/XqohYX76DfdrUYLsPKMc5pgkzsZVHDyBSkLiGRzujVaGZdjr32ckVZU9q3a47IjhWxhip7Dz5W/g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/config": "1.18.16", + "@oclif/errors": "1.3.6", + "chalk": "^4.1.2", + "indent-string": "^4.0.0", + "lodash": "^4.17.21", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/help/node_modules/@oclif/config": { + "version": "1.18.16", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.16.tgz", + "integrity": "sha512-VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/errors": "^1.3.6", + "@oclif/parser": "^3.8.16", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-wsl": "^2.1.1", + "tslib": "^2.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/help/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@oclif/help/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@oclif/help/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/help/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/help/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, + "node_modules/@oclif/help/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/linewrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", + "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==", + "dev": true + }, + "node_modules/@oclif/parser": { + "version": "3.8.17", + "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.17.tgz", + "integrity": "sha512-l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/errors": "^1.3.6", + "@oclif/linewrap": "^1.0.0", + "chalk": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/parser/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@oclif/parser/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/parser/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/parser/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, + "node_modules/@oclif/plugin-help": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.1.tgz", + "integrity": "sha512-QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==", + "dev": true, + "dependencies": { + "@oclif/command": "^1.8.15", + "@oclif/config": "1.18.2", + "@oclif/errors": "1.3.5", + "@oclif/help": "^1.0.1", + "chalk": "^4.1.2", + "indent-string": "^4.0.0", + "lodash": "^4.17.21", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/plugin-help/node_modules/@oclif/command": { + "version": "1.8.36", + "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.36.tgz", + "integrity": "sha512-/zACSgaYGtAQRzc7HjzrlIs14FuEYAZrMOEwicRoUnZVyRunG4+t5iSEeQu0Xy2bgbCD0U1SP/EdeNZSTXRwjQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/config": "^1.18.2", + "@oclif/errors": "^1.3.6", + "@oclif/help": "^1.0.1", + "@oclif/parser": "^3.8.17", + "debug": "^4.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@oclif/config": "^1" + } + }, + "node_modules/@oclif/plugin-help/node_modules/@oclif/command/node_modules/@oclif/errors": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz", + "integrity": "sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "clean-stack": "^3.0.0", + "fs-extra": "^8.1", + "indent-string": "^4.0.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/plugin-help/node_modules/@oclif/command/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@oclif/plugin-help/node_modules/@oclif/config": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", + "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@oclif/errors": "^1.3.3", + "@oclif/parser": "^3.8.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-wsl": "^2.1.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/plugin-help/node_modules/@oclif/errors": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", + "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "clean-stack": "^3.0.0", + "fs-extra": "^8.1", + "indent-string": "^4.0.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@oclif/plugin-help/node_modules/@oclif/errors/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@oclif/plugin-help/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@oclif/plugin-help/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@oclif/plugin-help/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/plugin-help/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@oclif/plugin-help/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@oclif/plugin-help/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@oclif/plugin-help/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@oclif/plugin-help/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@rdfjs/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", + "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/chai": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/handlebars-helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/handlebars-helpers/-/handlebars-helpers-0.5.3.tgz", + "integrity": "sha512-h+a3eIWts6BgqzlmlmCH6K7yvCfbcEm5Gs+6CMYwbAi8SgC3I/+HEPEciDVT7qav+6BPE0M0nB2UhnwRYkO68w==", + "dev": true, + "dependencies": { + "handlebars": ">=4.1.0" + } + }, + "node_modules/@types/http-link-header": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-AxhIKR8UbyoqCTNp9rRepkktHuUOw3DjfOfDCaO9kwI8AYzjhxyrvZq4+mRw/2daD3hYDknrtSeV6SsPwmc71w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "node_modules/@types/mocha": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", + "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", + "dev": true + }, + "node_modules/@types/n3": { + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.16.4.tgz", + "integrity": "sha512-6PmHRYCCdjbbBV2UVC/HjtL6/5Orx9ku2CQjuojucuHvNvPmnm6+02B18YGhHfvU25qmX2jPXyYPHsMNkn+w2w==", + "dev": true, + "dependencies": { + "@rdfjs/types": "^1.1.0", + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "13.13.52", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", + "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==", + "dev": true + }, + "node_modules/@types/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/parse-link-header": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-link-header/-/parse-link-header-1.0.1.tgz", + "integrity": "sha512-E2+Go9rQgPbmpkeA2iFXTWSTxX38KXlXwcdiIbt71Oorqr+G5QtH4AhpuDdxwRVyiTzdUrHnaaIumW/LhiZwVg==", + "dev": true + }, + "node_modules/@types/readable-stream": { + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/sinon": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz", + "integrity": "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==", + "dev": true, + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.1.tgz", + "integrity": "sha512-yYezQwGWty8ziyYLdZjwxyMb0CZR49h8JALHGrxjQHWlqGgc8kLdHEgWrgL0uZ29DMvEVBDnHU2Wg36zKSIUtA==", + "dev": true + }, + "node_modules/@types/spark-md5": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.4.tgz", + "integrity": "sha512-qtOaDz+IXiNndPgYb6t1YoutnGvFRtWSNzpVjkAPCfB2UzTyybuD4Tjgs7VgRawum3JnJNRwNQd4N//SvrHg1Q==", + "dev": true + }, + "node_modules/@types/sparqljs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.10.tgz", + "integrity": "sha512-rqMpUhl/d8B+vaACa6ZVdwPQ1JXw+KxiCc0cndgn/V6moRG3WjUAgoBnhSwfKtXD98wgMThDsc6R1+yRUuMsAg==", + "dev": true, + "dependencies": { + "@rdfjs/types": ">=1.0.0" + } + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true + }, + "node_modules/@types/uritemplate": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.6.tgz", + "integrity": "sha512-31BMGZ8GgLxgXxLnqg4KbbyYJjU1flhTTD2+PVQStVUPXSk0IIpK0zt+tH3eLT7ZRwLnzQw6JhYx69qza3U0wg==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "node_modules/@types/xml": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.11.tgz", + "integrity": "sha512-9gktTjxBWoz4+X8ZOS+QRFM2/liMQgBv8Z36wuNnomK5jtXFq4IJa7Az4Hzoy+rYux343NkH9Dq+nzIdejVrjw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.58.0.tgz", + "integrity": "sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.58.0", + "@typescript-eslint/type-utils": "5.58.0", + "@typescript-eslint/utils": "5.58.0", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.58.0.tgz", + "integrity": "sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.58.0", + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/typescript-estree": "5.58.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", + "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.58.0.tgz", + "integrity": "sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.58.0", + "@typescript-eslint/utils": "5.58.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", + "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", + "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/visitor-keys": "5.58.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz", + "integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.58.0", + "@typescript-eslint/types": "5.58.0", + "@typescript-eslint/typescript-estree": "5.58.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", + "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.58.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.3.tgz", + "integrity": "sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg==", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aggregate-error/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "node_modules/amf-client-js": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/amf-client-js/-/amf-client-js-4.7.2.tgz", + "integrity": "sha512-Z10xZ1/ES7L8L1J5LliS3RzeiRpZ+LxDpzJAum0/Y+VkbdItGIFSPukwtml+PI+jU4Q7/rUdHbWGTquyMX8Odw==", + "dev": true, + "dependencies": { + "ajv": "6.5.2", + "amf-shacl-node": "2.0.0" + }, + "bin": { + "amf": "bin/amf" + } + }, + "node_modules/amf-shacl-node": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/amf-shacl-node/-/amf-shacl-node-2.0.0.tgz", + "integrity": "sha512-38GcUBN7VFzpJHDWeEKZ5bcosGA1/Ur6egUrno+Uprgf/8aXeX0LumkG64sExQPrFQ649Ku3wfgWe+le4bUNVw==", + "dev": true, + "dependencies": { + "@comunica/actor-init-sparql-rdfjs": "^1.10.0", + "jsonld-streaming-serializer": "^1.1.0", + "lru-cache": "^6.0.0", + "n3": "^1.3.5" + } + }, + "node_modules/ansi-bgblack": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz", + "integrity": "sha1-poulAHiHcBtqr74/oNrf36juPKI=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bgblue": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz", + "integrity": "sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bgcyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz", + "integrity": "sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bggreen": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz", + "integrity": "sha1-TjGRJIUplD9DIelr8THRwTgWr0k=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bgmagenta": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz", + "integrity": "sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bgred": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgred/-/ansi-bgred-0.1.1.tgz", + "integrity": "sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bgwhite": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz", + "integrity": "sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bgyellow": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz", + "integrity": "sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-black": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-black/-/ansi-black-0.1.1.tgz", + "integrity": "sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-blue": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-blue/-/ansi-blue-0.1.1.tgz", + "integrity": "sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-bold": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bold/-/ansi-bold-0.1.1.tgz", + "integrity": "sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-dim": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-dim/-/ansi-dim-0.1.1.tgz", + "integrity": "sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-green": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz", + "integrity": "sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-grey": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-grey/-/ansi-grey-0.1.1.tgz", + "integrity": "sha1-WdmLasK6GfilF5jphT+6eDOaM8E=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-hidden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-hidden/-/ansi-hidden-0.1.1.tgz", + "integrity": "sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-inverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-inverse/-/ansi-inverse-0.1.1.tgz", + "integrity": "sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-italic": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-italic/-/ansi-italic-0.1.1.tgz", + "integrity": "sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-magenta": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-magenta/-/ansi-magenta-0.1.1.tgz", + "integrity": "sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-reset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-reset/-/ansi-reset-0.1.1.tgz", + "integrity": "sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-strikethrough": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz", + "integrity": "sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansi-underline": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-underline/-/ansi-underline-0.1.1.tgz", + "integrity": "sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-white": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-white/-/ansi-white-0.1.1.tgz", + "integrity": "sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-yellow": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-yellow/-/ansi-yellow-0.1.1.tgz", + "integrity": "sha1-y5NW8vRscy8OMZnmEClVp32oPB0=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-0.1.4.tgz", + "integrity": "sha512-BNcM+RXxndPxiZ2rd76k6nyQLRZr2/B/sdi8pQ+Joafr5AH279L40dfokSUTp8O+AaqYjXWhblBWa2st2nc4fQ==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrayify-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-1.0.0.tgz", + "integrity": "sha512-RP80ep76Lbew2wWN5ogrl2NluTnBVYYh2K3NNCcWfcmmUB7nBcNBctiJeEZAixp3I1vQ9H88iHZ9MbHSdkuupQ==", + "dev": true + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/asynciterator": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.9.0.tgz", + "integrity": "sha512-bwLLTAnoE6Ap6XdjK/j8vDk2Vi9p3ojk0PFwM0SwktAG1k8pfRJF9ng+mmkaRFKdZCQQlOxcWnvOmX2NQ1HV0g==", + "dev": true + }, + "node_modules/asyncjoin": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.2.3.tgz", + "integrity": "sha512-4OJH73zYDfIfbgr7wKfAKTgu/P2e/9r0o0NZ4KZu2tFtSf5uUVs/DjzpfY5BueOkkZcBhnq788MbZ57tjwyPIQ==", + "dev": true, + "dependencies": { + "asynciterator": "^3.9.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autolinker": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", + "integrity": "sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=", + "dev": true, + "dependencies": { + "gulp-header": "^1.7.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", + "dev": true, + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-indexof-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", + "dev": true, + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cacache": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "dependencies": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/canonicalize": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", + "dev": true + }, + "node_modules/chai": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-0gKhNDL29PUlmwz1CG42p/OaBf1v0YD3oH4//YMS1niT7rLH9tC+lqTgk+SvdbhMLd7ToTtxA61orNBmpSO/DA==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "loupe": "^2.3.0", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", + "dev": true, + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/chalk/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cluster-key-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz", + "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dev": true, + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comment-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/componentsjs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.5.0.tgz", + "integrity": "sha512-0F473HDUFfizVXZH1KBP4jmZRBAqYdVdpGhaNmHFmla/AB76B8NN7hQk7YDGaKkESl9zYqQ6kF3i8UgJBQ+rtg==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/minimist": "^1.2.0", + "@types/node": "^14.14.7", + "@types/semver": "^7.3.4", + "jsonld-context-parser": "^2.1.1", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.11.1", + "rdf-parse": "^1.9.1", + "rdf-quad": "^1.5.0", + "rdf-terms": "^1.7.0", + "semver": "^7.3.2", + "winston": "^3.3.3" + }, + "bin": { + "componentsjs-compile-config": "bin/compile-config.js" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/componentsjs/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "dev": true + }, + "node_modules/componentsjs/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-frame": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/create-frame/-/create-frame-1.0.0.tgz", + "integrity": "sha1-i5XyaR4ySbYIBEPjPQutn49pdao=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "isobject": "^3.0.0", + "lazy-cache": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/create-frame/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/create-frame/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/curriable": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/curriable/-/curriable-1.3.0.tgz", + "integrity": "sha512-7kfjDPRSF+pguU0TlfSFBMCd8XlmF29ZAiXcq/zaN4LhZvWdvV0Y72AvaWFqInXZG9Yg1kA1UMkpE9lFBKMpQA==", + "dev": true + }, + "node_modules/date.js": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/date.js/-/date.js-0.3.3.tgz", + "integrity": "sha512-HgigOS3h3k6HnW011nAb43c5xx5rBXk8P2v/WIT9Zv4koIaVXiH2BURguI78VVp+5Qc076T7OR378JViCnZtBw==", + "dev": true, + "dependencies": { + "debug": "~3.1.0" + } + }, + "node_modules/date.js/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/date.js/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-compare/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denque": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", + "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depcheck": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.9.2.tgz", + "integrity": "sha512-w5f+lSZqLJJkk58s44eOd0Vor7hLZot4PlFL0y2JsIX5LuHQ2eAjHlDVeGBD4Mj6ZQSKakvKWRRCcPlvrdU2Sg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.7.7", + "@babel/traverse": "^7.7.4", + "builtin-modules": "^3.0.0", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1", + "debug": "^4.1.1", + "deps-regex": "^0.1.4", + "js-yaml": "^3.4.2", + "lodash": "^4.17.15", + "minimatch": "^3.0.2", + "node-sass-tilde-importer": "^1.0.2", + "please-upgrade-node": "^3.2.0", + "require-package-name": "^2.0.1", + "resolve": "^1.14.1", + "vue-template-compiler": "^2.6.11", + "walkdir": "^0.4.1", + "yargs": "^15.0.2" + }, + "bin": { + "depcheck": "bin/depcheck.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/depcheck/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/depcheck/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/depcheck/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/deps-regex": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz", + "integrity": "sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=", + "dev": true + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "dev": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/error-symbol/-/error-symbol-0.1.0.tgz", + "integrity": "sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.38.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", + "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.38.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-header": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", + "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", + "dev": true, + "peerDependencies": { + "eslint": ">=7.7.0" + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "41.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-41.1.1.tgz", + "integrity": "sha512-dfH97DKLGtQ5dgEMzd+GSUuY+xX/yyAfjML3O0pEWmMMpylsG6Ro65s4ziYXKmixiENYK9CTQxCVRGqZUFN2Mw==", + "dev": true, + "dependencies": { + "@es-joy/jsdoccomment": "~0.37.0", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.3.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "semver": "^7.3.8", + "spdx-expression-parse": "^3.0.1" + }, + "engines": { + "node": "^14 || ^16 || ^17 || ^18 || ^19" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-tsdoc": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.17.tgz", + "integrity": "sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==", + "dev": true, + "dependencies": { + "@microsoft/tsdoc": "0.14.2", + "@microsoft/tsdoc-config": "0.16.2" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/falsey": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/falsey/-/falsey-0.3.2.tgz", + "integrity": "sha512-lxEuefF5MBIVDmE6XeqCdM4BWk1+vYmGZtkbKZ/VFcg6uBBw6fXNEbWmxCjDdQlFc9hy450nkiWwM3VAW6G1qg==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/falsey/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "dev": true + }, + "node_modules/fetch-sparql-endpoint": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/fetch-sparql-endpoint/-/fetch-sparql-endpoint-2.4.1.tgz", + "integrity": "sha512-4tDjPaRM3NH7CZ7ovLpFpyGQMtOH3L6LO/mbGT8ekHKvZyuXIkrykPTDmb0aEM13Wh1X1SzmQC22yqD8ORKe3w==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.11", + "@types/sparqljs": "^3.1.3", + "abort-controller": "^3.0.0", + "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", + "minimist": "^1.2.0", + "n3": "^1.6.3", + "rdf-string": "^1.6.0", + "readable-web-to-node-stream": "^3.0.2", + "sparqljs": "^3.1.2", + "sparqljson-parse": "^1.7.0", + "sparqlxml-parse": "^1.5.0", + "stream-to-string": "^1.1.0" + }, + "bin": { + "fetch-sparql-endpoint": "bin/fetch-sparql-endpoint.js" + } + }, + "node_modules/fetch-to-curl": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fetch-to-curl/-/fetch-to-curl-0.5.2.tgz", + "integrity": "sha512-ygmvsJlU+V4GE91lflkRNAJ956xm5MFl6QukIyxkd6yojTxr6gjp4BsYh7hYXlwVw+ffnMlAIXOTWsWJdk017Q==" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "dev": true + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fromentries": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.0.tgz", + "integrity": "sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ==", + "dev": true + }, + "node_modules/fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/fstream/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-object": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/get-object/-/get-object-0.2.0.tgz", + "integrity": "sha1-2S/31RkMZFMM2gVD2sY6PUf+jAw=", + "dev": true, + "dependencies": { + "is-number": "^2.0.2", + "isobject": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-object/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-object/node_modules/isobject": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-0.2.0.tgz", + "integrity": "sha1-o0MhkvObkQtfAsyYlIeDbscKqF4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-object/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-hooks-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", + "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "dev": true, + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-ld": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/graphql-ld/-/graphql-ld-1.4.1.tgz", + "integrity": "sha512-oJ8o/1DdAbM+oNE9FBnc0bbWgzvImnl/o2fty2NzA4nyj4T6HNbAkr1CcUL9OieSZPEAW7QcU7W66OVHkxDwVw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "graphql-to-sparql": "^2.4.0", + "jsonld-context-parser": "^2.1.0", + "sparqlalgebrajs": "^3.0.2", + "sparqljson-to-tree": "^2.1.0" + } + }, + "node_modules/graphql-to-sparql": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/graphql-to-sparql/-/graphql-to-sparql-2.4.0.tgz", + "integrity": "sha512-AwfWSV8NUe5aY2QR+NzUUxImbe8GrUR12PvYBHq6r62aj66667yLdI5xOPsVGcS0DsQJN8+9CXC+vhkjc8mR9Q==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "graphql": "^15.0.0", + "jsonld-context-parser": "^2.0.2", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "sparqlalgebrajs": "^3.0.2" + }, + "bin": { + "graphql-to-sparql": "bin/graphql-to-sparql.js" + } + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/gulp-header": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", + "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", + "deprecated": "Removed event-stream from gulp-header", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "*", + "lodash.template": "^4.4.0", + "through2": "^2.0.0" + } + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars-helper-create-frame": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/handlebars-helper-create-frame/-/handlebars-helper-create-frame-0.1.0.tgz", + "integrity": "sha1-iqUdEK62QI/MZgXUDXc1YohIegM=", + "dev": true, + "dependencies": { + "create-frame": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/handlebars-helpers": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/handlebars-helpers/-/handlebars-helpers-0.10.0.tgz", + "integrity": "sha512-QiyhQz58u/DbuV41VnfpE0nhy6YCH4vB514ajysV8SoKmP+DxU+pR+fahVyNECHj+jiwEN2VrvxD/34/yHaLUg==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-sort": "^0.1.4", + "create-frame": "^1.0.0", + "define-property": "^1.0.0", + "falsey": "^0.3.2", + "for-in": "^1.0.2", + "for-own": "^1.0.0", + "get-object": "^0.2.0", + "get-value": "^2.0.6", + "handlebars": "^4.0.11", + "handlebars-helper-create-frame": "^0.1.0", + "handlebars-utils": "^1.0.6", + "has-value": "^1.0.0", + "helper-date": "^1.0.1", + "helper-markdown": "^1.0.0", + "helper-md": "^0.2.2", + "html-tag": "^2.0.0", + "is-even": "^1.0.0", + "is-glob": "^4.0.0", + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "lazy-cache": "^2.0.2", + "logging-helpers": "^1.0.0", + "micromatch": "^3.1.4", + "relative": "^3.0.2", + "striptags": "^3.1.0", + "to-gfm-code-block": "^0.1.1", + "year": "^0.2.1" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/handlebars-helpers/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/fill-range/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/fill-range/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/micromatch/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/to-regex-range/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-helpers/node_modules/to-regex-range/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/handlebars-utils": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/handlebars-utils/-/handlebars-utils-1.0.6.tgz", + "integrity": "sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0", + "typeof-article": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-it": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hash-it/-/hash-it-4.1.0.tgz", + "integrity": "sha512-YUXBmvWycqr0qVb7RhNyJ2ItiPNaD5iKZ9moDaxduyfT8I9d79F9Zf8Ts2RAG7g6NPwD8351dSqxsD07tznSmQ==", + "dev": true, + "dependencies": { + "curriable": "^1.1.0" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.0.tgz", + "integrity": "sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/helper-date": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/helper-date/-/helper-date-1.0.1.tgz", + "integrity": "sha512-wU3VOwwTJvGr/w5rZr3cprPHO+hIhlblTJHD6aFBrKLuNbf4lAmkawd2iK3c6NbJEvY7HAmDpqjOFSI5/+Ey2w==", + "dev": true, + "dependencies": { + "date.js": "^0.3.1", + "handlebars-utils": "^1.0.4", + "moment": "^2.18.1" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/helper-markdown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/helper-markdown/-/helper-markdown-1.0.0.tgz", + "integrity": "sha512-AnDqMS4ejkQK0MXze7pA9TM3pu01ZY+XXsES6gEE0RmCGk5/NIfvTn0NmItfyDOjRAzyo9z6X7YHbHX4PzIvOA==", + "dev": true, + "dependencies": { + "handlebars-utils": "^1.0.2", + "highlight.js": "^9.12.0", + "remarkable": "^1.7.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/helper-md": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/helper-md/-/helper-md-0.2.2.tgz", + "integrity": "sha1-wfWdflW7riM2L9ig6XFgeuxp1B8=", + "dev": true, + "dependencies": { + "ent": "^2.2.0", + "extend-shallow": "^2.0.1", + "fs-exists-sync": "^0.1.0", + "remarkable": "^1.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/helper-md/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/highlight.js": { + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "deprecated": "Support has ended for 9.x series. Upgrade to @latest", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-tag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tag/-/html-tag-2.0.0.tgz", + "integrity": "sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g==", + "dev": true, + "dependencies": { + "is-self-closing": "^1.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-link-header": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", + "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/info-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/info-symbol/-/info-symbol-0.1.0.tgz", + "integrity": "sha1-J4QdcoZ920JCzWEtecEGM4gcang=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ioredis": { + "version": "4.28.3", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.3.tgz", + "integrity": "sha512-9JOWVgBnuSxpIgfpjc1OeY1OLmA4t2KOWWURTDRXky+eWO0LZhI33pQNT9gYxANUXfh5p/zYephYni6GPRsksQ==", + "dependencies": { + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.1", + "denque": "^1.1.0", + "lodash.defaults": "^4.2.0", + "lodash.flatten": "^4.4.0", + "lodash.isarguments": "^3.1.0", + "p-map": "^2.1.0", + "redis-commands": "1.7.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/ioredis/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "deprecated": "Please upgrade to v0.1.7", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "deprecated": "Please upgrade to v0.1.5", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-even": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-even/-/is-even-1.0.0.tgz", + "integrity": "sha1-drUFX7rY0pSoa2qUkBXhyXtxfAY=", + "dev": true, + "dependencies": { + "is-odd": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-odd": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-0.1.2.tgz", + "integrity": "sha1-vFc7XONx7yqtbm9JeZtyvvE5eKc=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-odd/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-odd/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-self-closing": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-self-closing/-/is-self-closing-1.0.1.tgz", + "integrity": "sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg==", + "dev": true, + "dependencies": { + "self-closing-tags": "^1.0.1" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-rules-engine": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/json-rules-engine/-/json-rules-engine-5.3.0.tgz", + "integrity": "sha512-v4y3OKAPJF31OUGBQ/t/CVZh0DDWeGyGyPDGAnbXnivFMxWW2H+P2RXyh6PlwfDINCo5iqh5VI2ed6Rcj7CjRg==", + "dev": true, + "dependencies": { + "clone": "^2.1.2", + "events": "^3.2.0", + "hash-it": "^4.0.5", + "jsonpath-plus": "^4.0.0", + "lodash.isobjectlike": "^4.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsondiffpatch": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz", + "integrity": "sha512-t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==", + "dev": true, + "dependencies": { + "chalk": "^2.3.0", + "diff-match-patch": "^1.0.0" + }, + "bin": { + "jsondiffpatch": "bin/jsondiffpatch" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonld-context-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.4.0.tgz", + "integrity": "sha512-ZYOfvh525SdPd9ReYY58dxB3E2RUEU4DJ6ZibO8AitcowPeBH4L5rCAitE2om5G1P+HMEgYEYEr4EZKbVN4tpA==", + "dev": true, + "dependencies": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^18.0.0", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + }, + "bin": { + "jsonld-context-parse": "bin/jsonld-context-parse.js" + } + }, + "node_modules/jsonld-context-parser/node_modules/@types/node": { + "version": "18.19.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.35.tgz", + "integrity": "sha512-n+WiqynRake4DDX2tPh4NTxu4dA7BgmsaGKMRc/htuPZBi7w9FkVgSOWU/+92vVEYMz3QOWUr2AwHev9X2XiTg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/jsonld-streaming-parser": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.3.tgz", + "integrity": "sha512-ysuevJ+l8+Y4W3J/yQW3pa9VCBNDHo2tZkKmPAnfhfsmFMyxuueAeXMmTbpJZdrpagzeeDVr3A8EZVuHliQJ9A==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.1.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/jsonld-streaming-serializer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-serializer/-/jsonld-streaming-serializer-1.3.0.tgz", + "integrity": "sha512-QGflpxpwmr659ExvAQ5TFAY9BmJQiL/yF/MDRrP5oVWHcBBLhbPjUqDv//y2OvJxUY3UQYMXulTwzmYb1ttv2Q==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.0" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonpath-plus": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-4.0.0.tgz", + "integrity": "sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==", + "dev": true, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/just-extend": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.0.tgz", + "integrity": "sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==", + "dev": true + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keyv": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.5.tgz", + "integrity": "sha512-531pkGLqV3BMg0eDqqJFI0R1mkK1Nm5xIP2mM6keP5P8WfFtCkg2IOwplTUmlGoTgIg9yQYZ/kdihhz89XH3vA==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true + }, + "node_modules/lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "dev": true, + "dependencies": { + "set-getter": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "dev": true + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isobjectlike": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isobjectlike/-/lodash.isobjectlike-4.0.0.tgz", + "integrity": "sha512-bbRt0Dief0yqjkTgpvzisSxnsmY3ZgVJvokHL30UE+ytsvnpNfiNaCJL4XBEWek8koQmrwZidBHb7coXC5vXlA==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/log-ok": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/log-ok/-/log-ok-0.1.1.tgz", + "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=", + "dev": true, + "dependencies": { + "ansi-green": "^0.1.1", + "success-symbol": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz", + "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=", + "dev": true, + "dependencies": { + "ansi-colors": "^0.2.0", + "error-symbol": "^0.1.0", + "info-symbol": "^0.1.0", + "log-ok": "^0.1.1", + "success-symbol": "^0.1.0", + "time-stamp": "^1.0.1", + "warning-symbol": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-utils/node_modules/ansi-colors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.2.0.tgz", + "integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=", + "dev": true, + "dependencies": { + "ansi-bgblack": "^0.1.1", + "ansi-bgblue": "^0.1.1", + "ansi-bgcyan": "^0.1.1", + "ansi-bggreen": "^0.1.1", + "ansi-bgmagenta": "^0.1.1", + "ansi-bgred": "^0.1.1", + "ansi-bgwhite": "^0.1.1", + "ansi-bgyellow": "^0.1.1", + "ansi-black": "^0.1.1", + "ansi-blue": "^0.1.1", + "ansi-bold": "^0.1.1", + "ansi-cyan": "^0.1.1", + "ansi-dim": "^0.1.1", + "ansi-gray": "^0.1.1", + "ansi-green": "^0.1.1", + "ansi-grey": "^0.1.1", + "ansi-hidden": "^0.1.1", + "ansi-inverse": "^0.1.1", + "ansi-italic": "^0.1.1", + "ansi-magenta": "^0.1.1", + "ansi-red": "^0.1.1", + "ansi-reset": "^0.1.1", + "ansi-strikethrough": "^0.1.1", + "ansi-underline": "^0.1.1", + "ansi-white": "^0.1.1", + "ansi-yellow": "^0.1.1", + "lazy-cache": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "dev": true, + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/logging-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/logging-helpers/-/logging-helpers-1.0.0.tgz", + "integrity": "sha512-qyIh2goLt1sOgQQrrIWuwkRjUx4NUcEqEGAcYqD8VOnOC6ItwkrVE8/tA4smGpjzyp4Svhc6RodDp9IO5ghpyA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0", + "log-utils": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loupe": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.0.tgz", + "integrity": "sha512-b6TVXtF01VErh8IxN/MfdiWLQmttrenN98PPGS01kym8kGycJ9tqBXD6D+4sNEDhgE83+H0Mk1cVSl0mD1nNSg==", + "deprecated": "Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0", + "type-detect": "^4.0.8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", + "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.0.0.tgz", + "integrity": "sha512-Wo+L1pWTVibfrSr+TTtMuiMfNzmZWiOPeO7rZsQUY5bgsxpHesBEcIWJloWVTFnrMXnf/TL30eTFSGJddmQAng==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 8.16.2" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/microdata-rdf-streaming-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.2.0.tgz", + "integrity": "sha512-cMLNLEcS0mPaiA9iwq6BnsQK9sx2uBwjpRZIEvMRBNJpbvV58f8AFtPeYzNFh3OPyX9B49NYJ77bB0jNAUCurw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.2" + } + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.4.tgz", + "integrity": "sha512-TielGogIzbUEtd1LsjZFs47RWuHHfhl6TiCx1InVxApBAmQ8bL0dL5ilkLGcRvuyW/A9nE+Lvn855Ewz8S0PnQ==", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp/node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mocha": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "dev": true, + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 10.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/mocha/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mocha/node_modules/nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/moment": { + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz", + "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/n3": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.3.tgz", + "integrity": "sha512-ZHc24eZi2GIJcJQVxtL6NT3g+mTHRNeTVfXWELzeUOirqLrh2AAyg0nfYZ/kryJWKFSCgO37DGB6Ok3qmGgEcA==", + "dev": true, + "dependencies": { + "queue-microtask": "^1.1.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/n3/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/n3/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/n3/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/negotiate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/negotiate/-/negotiate-1.0.1.tgz", + "integrity": "sha512-KBCIM4dAIT9j/pSXLHHQbZG74NmKNXTtxU2zHN0HG6uzzuFE01m1UdGoUmVHmACiBuCAOL7KwfqSW1oUQBj/vg==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nise": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/nise/-/nise-4.0.4.tgz", + "integrity": "sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + } + }, + "node_modules/nock": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.4.tgz", + "integrity": "sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash.set": "^4.3.2", + "propagate": "^2.0.0" + }, + "engines": { + "node": ">= 10.13" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-sass-tilde-importer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz", + "integrity": "sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg==", + "dev": true, + "dependencies": { + "find-parent-dir": "^0.3.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/nyc/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dev": true, + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-link-header": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz", + "integrity": "sha512-Z0gpfHmwCIKDr5rRzjypL+p93aHVWO7e+0rFcUl9E3sC67njjs+xHFenuboSXZGlvYtmQqRzRaE3iFpTUnLmFQ==", + "dev": true, + "dependencies": { + "xtend": "~4.0.1" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "node_modules/promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rdf-data-factory": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/rdf-isomorphic": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "node_modules/rdf-literal": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.2.tgz", + "integrity": "sha512-79Stlu3sXy0kq9/decHFLf3xNPuY6sfhFPhd/diWErgaFr0Ekyg38Vh9bnVcqDYu48CFRi0t+hrFii49n92Hbw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-object": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "node_modules/rdf-parse": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.9.1.tgz", + "integrity": "sha512-W6ouYE+ufmCNFmXD1iGs5gUZH75jZekh/I5qF8a4Sl37BUc9mY0Jz5A0CV1tiKKhx+I+HYfxyX9VjOljD8rzgQ==", + "dev": true, + "dependencies": { + "@comunica/actor-http-native": "~1.22.0", + "@comunica/actor-rdf-parse-html": "~1.22.0", + "@comunica/actor-rdf-parse-html-microdata": "~1.22.0", + "@comunica/actor-rdf-parse-html-rdfa": "~1.22.0", + "@comunica/actor-rdf-parse-html-script": "~1.22.0", + "@comunica/actor-rdf-parse-jsonld": "^1.22.0", + "@comunica/actor-rdf-parse-n3": "~1.22.0", + "@comunica/actor-rdf-parse-rdfxml": "~1.22.0", + "@comunica/actor-rdf-parse-xml-rdfa": "~1.22.0", + "@comunica/bus-http": "~1.22.0", + "@comunica/bus-init": "~1.22.0", + "@comunica/bus-rdf-parse": "~1.22.0", + "@comunica/bus-rdf-parse-html": "~1.22.0", + "@comunica/core": "~1.22.0", + "@comunica/mediator-combine-union": "~1.22.0", + "@comunica/mediator-number": "~1.22.0", + "@comunica/mediator-race": "~1.22.0", + "@rdfjs/types": "*", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "node_modules/rdf-store-stream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-store-stream/-/rdf-store-stream-1.3.1.tgz", + "integrity": "sha512-+cpnGKJMwFbCa/L0fogSMrNA95P+T2tSoWWXj94IdGN2UdYu+oQpaP7vav5wGenWQ1J9/nQu6Sy0m+stNfAZFw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "n3": "^1.11.1" + } + }, + "node_modules/rdf-string": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-string-ttl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-string-ttl/-/rdf-string-ttl-1.3.2.tgz", + "integrity": "sha512-yqolaVoUvTaSC5aaQuMcB4BL54G/pCGsV4jQH87f0TvAx8zHZG0koh7XWrjva/IPGcVb1QTtaeEdfda5mcddJg==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-terms": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" + } + }, + "node_modules/rdfa-streaming-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.5.0.tgz", + "integrity": "sha512-A+Kl0vbRQKK3SqgWdCiR48Hi75LK6z6glPdGcbLXMw6qMRcLeIKe4p6yFkPXpbwtegmOa94uaxeLs5HMdo66AQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.2" + } + }, + "node_modules/rdfa-streaming-parser/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/rdfa-streaming-parser/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/rdfxml-streaming-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.0", + "sax": "^1.2.4" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream-node-to-web": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readable-stream-node-to-web/-/readable-stream-node-to-web-1.0.1.tgz", + "integrity": "sha512-OGzi2VKLa8H259kAx7BIwuRrXHGcxeHj4RdASSgEGBP9Q2wowdPvBc65upF4Q9O05qWgKqBw1+9PiLTtObl7uQ==", + "dev": true + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redis-commands": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", + "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" + }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=", + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/relative": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/relative/-/relative-3.0.2.tgz", + "integrity": "sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8=", + "dev": true, + "dependencies": { + "isobject": "^2.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/relative-to-absolute-iri": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==", + "dev": true + }, + "node_modules/relative/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/relative/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/remarkable": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", + "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", + "dev": true, + "dependencies": { + "argparse": "^1.0.10", + "autolinker": "~0.28.0" + }, + "bin": { + "remarkable": "bin/remarkable.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/require-package-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", + "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true + }, + "node_modules/sax-stream": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax-stream/-/sax-stream-1.3.0.tgz", + "integrity": "sha512-tcfsAAICAkyNNe4uiKtKmLKxx3C7qPAej13UUoN+7OLYq/P5kHGahZtJhhMVM3fIMndA6TlYHWFlFEzFkv1VGg==", + "dev": true, + "dependencies": { + "debug": "~2", + "sax": "~1" + } + }, + "node_modules/sax-stream/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/sax-stream/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/self-closing-tags": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/self-closing-tags/-/self-closing-tags-1.0.1.tgz", + "integrity": "sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-getter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", + "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", + "dev": true, + "dependencies": { + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/sinon": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", + "integrity": "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==", + "deprecated": "16.1.1", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.8.1", + "@sinonjs/fake-timers": "^6.0.1", + "@sinonjs/samsam": "^5.3.1", + "diff": "^4.0.2", + "nise": "^4.0.4", + "supports-color": "^7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/sinon/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sinon/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snyk": { + "version": "1.836.0", + "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.836.0.tgz", + "integrity": "sha512-iPJ4SCAEArquqo1Aq11KbHOWEu0OFauRn/4Acoq+hDqgTYN9IV8i5d6uHPAo3ePV2g24nF0Pb9N0sxIGgp833w==", + "deprecated": "A medium severity vulnerability was found in the Snyk CLI version you are using. We fixed the vulnerability in version 1.996.0. We recommend updating to the latest version. More details here: https://snyk.co/ue1NS", + "dev": true, + "bin": { + "snyk": "bin/snyk" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/socks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.5.1.tgz", + "integrity": "sha512-oZCsJJxapULAYJaEYBSzMcz8m3jqgGrHaGhkmU/o/PQfFWYWxkAaA0UMGImb6s6tEXfKi959X6VJjMMQ3P6TTQ==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz", + "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==", + "dependencies": { + "agent-base": "6", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "node_modules/sort-package-json": { + "version": "1.53.1", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.53.1.tgz", + "integrity": "sha512-ltLORrQuuPMpy23YkWCA8fO7zBOxM4P1j9LcGxci4K2Fk8jmSyCA/ATU6CFyy8qR2HQRx4RBYWzoi78FU/Anuw==", + "dev": true, + "dependencies": { + "detect-indent": "^6.0.0", + "detect-newline": "3.1.0", + "git-hooks-list": "1.0.3", + "globby": "10.0.0", + "is-plain-obj": "2.1.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sort-package-json/node_modules/globby": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", + "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spark-md5": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==", + "dev": true + }, + "node_modules/sparqlalgebrajs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.5", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" + }, + "bin": { + "sparqlalgebrajs": "bin/sparqlalgebrajs.js" + } + }, + "node_modules/sparqlalgebrajs/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/sparqlee": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/sparqlee/-/sparqlee-1.10.0.tgz", + "integrity": "sha512-rKuyXIIyEsRsACZC86yrN0m/rUhKZQl6HfqeIqAC+5WXE08PB/tGQ9RPxiwo+P6u6QEk2Sd/h6Yq1pnT0607JA==", + "deprecated": "Sparqlee has been moved to @comunica/expression-evaluator", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/spark-md5": "^3.0.2", + "@types/uuid": "^8.0.0", + "decimal.js": "^10.2.0", + "hash.js": "^1.1.7", + "immutable": "^3.8.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "relative-to-absolute-iri": "^1.0.6", + "spark-md5": "^3.0.1", + "sparqlalgebrajs": "^3.0.2", + "uuid": "^8.0.0" + }, + "bin": { + "sparqlee": "dist/bin/Sparqlee.js" + } + }, + "node_modules/sparqlee/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/sparqljs": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.1.tgz", + "integrity": "sha512-I1jYMtcwDkgCEqQ4eQuQIhB8hFAlRAJ6YDXDcV54XztaJaYRFqJlidHt77S3j8Mfh6kY6GK04dXPEIopxbEeuQ==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.1.2" + }, + "bin": { + "sparqljs": "bin/sparql-to-json" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/sparqljson-parse": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-1.7.0.tgz", + "integrity": "sha512-/88g7aK1QZ42YvMx+nStNeZsiVJhmg/OC4RNnQk+ybItvEkQiTOpnYDmST5FnzOIsSmp5RxAZDCIDdMK1h7Ynw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/node": "^13.1.0", + "JSONStream": "^1.3.3", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/sparqljson-to-tree": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparqljson-to-tree/-/sparqljson-to-tree-2.1.0.tgz", + "integrity": "sha512-LwEMlrvjzEigatJ8iw1RKGWL9dKmATQNbTEXyadzsOQxbBhJNaGk8G9/WPCcVj2zlCPKGMysfNGb4UfvwHKeSw==", + "dev": true, + "dependencies": { + "rdf-literal": "^1.2.0", + "sparqljson-parse": "^1.6.0" + } + }, + "node_modules/sparqlxml-parse": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-1.5.0.tgz", + "integrity": "sha512-+0DCekgO3G6ugeVntrZS6+Fj60MsHR0q51WoRAdVzARb5V3jhX3dZJbwSaeydsOsXrtts4XSMc/z+kbqy5/VUQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/node": "^13.1.0", + "rdf-data-factory": "^1.1.0", + "sax-stream": "^1.2.3" + } + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-to-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", + "dev": true, + "dependencies": { + "promise-polyfill": "^1.1.6" + } + }, + "node_modules/streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true + }, + "node_modules/streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/striptags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", + "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==", + "dev": true + }, + "node_modules/success-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz", + "integrity": "sha1-JAIuSG878c3KCUKDt2nEctO3KJc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-gfm-code-block": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz", + "integrity": "sha1-JdBFpfrlUxielje1kJANpzLYqoI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "dev": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typedoc": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.17.8.tgz", + "integrity": "sha512-/OyrHCJ8jtzu+QZ+771YaxQ9s4g5Z3XsQE3Ma7q+BL392xxBn4UMvvCdVnqKC2T/dz03/VXSLVKOP3lHmDdc/w==", + "dev": true, + "dependencies": { + "fs-extra": "^8.1.0", + "handlebars": "^4.7.6", + "highlight.js": "^10.0.0", + "lodash": "^4.17.15", + "lunr": "^2.3.8", + "marked": "1.0.0", + "minimatch": "^3.0.0", + "progress": "^2.0.3", + "shelljs": "^0.8.4", + "typedoc-default-themes": "^0.10.2" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "typescript": ">=3.8.3" + } + }, + "node_modules/typedoc-default-themes": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.10.2.tgz", + "integrity": "sha512-zo09yRj+xwLFE3hyhJeVHWRSPuKEIAsFK5r2u47KL/HBKqpwdUSanoaz5L34IKiSATFrjG5ywmIu98hPVMfxZg==", + "dev": true, + "dependencies": { + "lunr": "^2.3.8" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/typedoc-plugin-external-module-map": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/typedoc-plugin-external-module-map/-/typedoc-plugin-external-module-map-1.2.1.tgz", + "integrity": "sha512-ha+he4JFhCufF6wnpMpeH2XwsMgnYR6IrRUBCiMbZoYoudn6zICX7NA40pMjA35A6afxWNhKZU19pXnvysPK7A==", + "dev": true, + "peerDependencies": { + "typedoc": ">=0.14 <1.0" + } + }, + "node_modules/typedoc-plugin-nojekyll": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typedoc-plugin-nojekyll/-/typedoc-plugin-nojekyll-1.0.1.tgz", + "integrity": "sha512-hdFMhn0vAFCwepihSaVVs5yyImjo2FCX/OVQW89lrrqoARYHlAchOki4BQug23UqFSrYdykUu8yP4gD0M48qbw==", + "dev": true, + "dependencies": { + "fs-extra": "^6.0.1" + }, + "peerDependencies": { + "typedoc": "^0.11.1" + } + }, + "node_modules/typedoc-plugin-nojekyll/node_modules/fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/typedoc-plugin-nojekyll/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/typedoc-plugin-nojekyll/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/typedoc/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/typedoc/node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/typedoc/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/typedoc/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/typeof-article": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/typeof-article/-/typeof-article-0.1.1.tgz", + "integrity": "sha1-nwfnM8P7tkb/qeYcCN66zUYOBq8=", + "dev": true, + "dependencies": { + "kind-of": "^3.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/typeof-article/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-js": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz", + "integrity": "sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/unzipper": { + "version": "0.10.11", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz", + "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "^1.0.12", + "graceful-fs": "^4.2.2", + "listenercount": "~1.0.1", + "readable-stream": "~2.3.6", + "setimmediate": "~1.0.4" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uritemplate": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz", + "integrity": "sha512-enADBvHfhjrwxFMTVWeIIYz51SZ91uC6o2MR/NQTVljJB6HTZ8eQL3Q7JBj3RxNISA14MOwJaU3vpf5R6dyxHA==", + "dev": true + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/vue-template-compiler": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", + "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "node_modules/walkdir": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz", + "integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/warning-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz", + "integrity": "sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/web-streams-node": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/web-streams-node/-/web-streams-node-0.4.0.tgz", + "integrity": "sha512-u+PBQs8DFaBrN/bxCLFn21tO/ZP7EM3qA4FGzppoUCcZ5CaMbKOsN8uOp27ylVEsfrxcR2tsF6gWHI5M8bN73w==", + "dev": true, + "dependencies": { + "is-stream": "^1.1.0", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.1" + } + }, + "node_modules/web-streams-node/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/web-streams-ponyfill": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/web-streams-ponyfill/-/web-streams-ponyfill-1.4.2.tgz", + "integrity": "sha512-LCHW+fE2UBJ2vjhqJujqmoxh1ytEDEr0dPO3CabMdMDJPKmsaxzS90V1Ar6LtNE5VHLqxR4YMEj1i4lzMAccIA==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "dev": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "dev": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/winston/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/year": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/year/-/year-0.2.1.tgz", + "integrity": "sha1-QIOuUgoxiyPshgN/MADLiSvfm7A=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -364,7 +13530,8 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.22.0.tgz", "integrity": "sha512-+KQLPpx8GFqrhWFfuvrsA4Rjlfbo/QOIo2IvzSgmDwy6YVQZXaSQiNQv/BnrnedaFCf2ONV+w+PMLqXgzn8N9A==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-abstract-path": { "version": "1.22.0", @@ -428,7 +13595,8 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-1.22.1.tgz", "integrity": "sha512-q8Dil+MnKeZWKNxLLDXan070TUP+8io7zwwCs5apvaU26ghojBU4OOJx1vL6CInUjZCzTeyCYVPsBbvykjLZ2w==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-init-sparql": { "version": "1.22.3", @@ -1133,7 +14301,8 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-create/-/actor-query-operation-update-create-1.22.0.tgz", "integrity": "sha512-tZxqO+4n7qbDVJcp0VNYKRbI9uS8xTyK5s63sD53YeFl6Fl52dJtBb916R9Wb0pe2Pb37ErXF38/Z127P9EiNA==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-query-operation-update-deleteinsert": { "version": "1.22.2", @@ -1191,7 +14360,8 @@ "version": "1.22.2", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-dereference-fallback/-/actor-rdf-dereference-fallback-1.22.2.tgz", "integrity": "sha512-EzvBerax4WVOxmkRuHviehUQ3VUU0CPHV+fErFB9+s5UbXHk6MU3GqzH9iehoFYzpP7Xic0VZXFd34nCTvzmtg==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-dereference-http-parse": { "version": "1.22.3", @@ -1248,7 +14418,8 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-allow-http-methods/-/actor-rdf-metadata-extract-allow-http-methods-1.22.0.tgz", "integrity": "sha512-vbbJxxtDZ8KFOLTZ4/bbilI95Kj1u7eaQcOw15PWvsMz29e9Mi28Gvguv1m/7CIpn4myNEWWu9hkardzWGcFhg==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-metadata-extract-hydra-controls": { "version": "1.22.0", @@ -1265,19 +14436,22 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-count/-/actor-rdf-metadata-extract-hydra-count-1.22.0.tgz", "integrity": "sha512-IM27SyFT2lRZc853m10I8YQX+nzSS5ouY4dLWyI3yzlYfI1LFOI/kDiUicgiyAoAy7UBG2c60jvFXTC6HQsdJw==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-metadata-extract-patch-sparql-update": { "version": "1.22.2", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-patch-sparql-update/-/actor-rdf-metadata-extract-patch-sparql-update-1.22.2.tgz", "integrity": "sha512-de9IJPIuXrvh8plhl8RndrbNcigO7hhi34bEoKwcjdX8YBK1F4BEK3mRvE0rlSjwv5vDLPjT4ejxl6bL2Da/rQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-metadata-extract-put-accepted": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-put-accepted/-/actor-rdf-metadata-extract-put-accepted-1.22.0.tgz", "integrity": "sha512-VLZQI1eEQOImxFgfa9grlB1AzmfZweypBodQlvHSESgqUhKzyEkaX00HiK2kM74vmccdCpzEEoOfwaJdXU8TbQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-metadata-extract-sparql-service": { "version": "1.22.0", @@ -1382,13 +14556,15 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-next/-/actor-rdf-resolve-hypermedia-links-next-1.22.0.tgz", "integrity": "sha512-94t3u2B2kH8ftMtkLfo1B/v1SJkiFdEf3y351UOqrWJ71GNMQwgvzQFcSRL4QRcgaIjz4wecj8oGUN0wPs2Kdg==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/-/actor-rdf-resolve-hypermedia-links-queue-fifo-1.22.0.tgz", "integrity": "sha512-DzQgHFDDXtawPvNbei1j6xL2yWdlSpq/vOD4K8Z+NrheKjNbPz84bJp0bhnWiOonwHMCRdxQRu+Etf33SFWFJQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/actor-rdf-resolve-hypermedia-none": { "version": "1.22.0", @@ -1689,7 +14865,8 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-1.22.0.tgz", "integrity": "sha512-N4Lmu8JovfhDBOuyhG/7Gaig4v+nWFYbrhCRpj5gSnbn4J8WwqNmcbwVWWi3jCgw/SGsk3QRIQaFXyS3IigydQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/bus-http": { "version": "1.22.1", @@ -1708,13 +14885,15 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-1.22.0.tgz", "integrity": "sha512-JQnEvU9s+Q/OBUdKEbI15QPyO4d7opkGi1nGah9aMpFx7o3CuIa62SuzmDokfgHXOIVaOh2e6gWDNuFjCj9cBA==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/bus-init": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.22.0.tgz", "integrity": "sha512-NIfEJLI8EYFdTWJB0PV/lxPagStPl+gUj3LtOnovcF1ZhC5rgcJSC/tq1r04n0TziY2KVangnLDsF4752LjD6g==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/bus-optimize-query-operation": { "version": "1.22.0", @@ -1830,13 +15009,15 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-1.22.0.tgz", "integrity": "sha512-w76L61DC/7PchmONzf7wYuMlN08TWN9Vr+ulse84/4+jResEYzCji5kYJV4AiAKQ868ufwuGJuskf6FJlUjqFg==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/bus-rdf-resolve-hypermedia-links-queue": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-1.22.0.tgz", "integrity": "sha512-2l+AEDwEIGD19ogk3umDuV25h0xMpHCMliefK8aL3iUqw1LzY93aHx7A2BgidfdQKrWog6R+vkazTaL/duTX2w==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/bus-rdf-resolve-quad-pattern": { "version": "1.22.0", @@ -1931,49 +15112,57 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/logger-pretty/-/logger-pretty-1.22.0.tgz", "integrity": "sha512-YCCRDIvbhWAygEqADnKnbCt7jnR4AasnoukLOQKyv1JAYxEV61FqReGG2LMtCqYR4VWUAa9tr51Ov+vOH1cMBg==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/logger-void": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/logger-void/-/logger-void-1.22.0.tgz", "integrity": "sha512-ORLVmoE47wqWZGdNKcZ8wpnEHtfcUKGhnDt5KbS/YV2qv4m/dG9eNIn6ax5FZeX2EFDSzWtlvMYNxNFhTvb7VQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/mediator-all": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/mediator-all/-/mediator-all-1.22.0.tgz", "integrity": "sha512-jr+tYDDDJuVeW20yauB6GH3Xov0I9eW1y0V69hgcFgyi2xTBN1z+X7OkLjOBVFzYJnHmpr+rLvpxkZIiYcOW/w==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/mediator-combine-pipeline": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-pipeline/-/mediator-combine-pipeline-1.22.0.tgz", "integrity": "sha512-SSXOvup8vlw1tS60RICXO3N+pK+7OzpwFmw5VuIVfliIdzAklEBoMUy4BucxlyX64Pgvt6nUXvaSvY3JGf9GXw==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/mediator-combine-union": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.22.0.tgz", "integrity": "sha512-iUHmEGgWVmk02e80uB7w8xZ5vgTLpiqzrImvbokolJzWcVbobVCUkq8DUxzz3FJbNVRGipZUFrOqkRPAuAX6FA==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/mediator-number": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.22.0.tgz", "integrity": "sha512-KDPlJEvj0Lu+JygGXjnH8pf33k01lJ+wgzUlWK216jZJ1Px2lTlfc/COhSqi/e0y+k4ZSBcxx0gnjt2awMpbrQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/mediator-race": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.22.0.tgz", "integrity": "sha512-hIMaHyf9M4jOS0199OURSVgWFmzkyF2K2keuAb+iHoCH3UUcUnWjPOL1TrdkxvaUnrxmsBWR9SXbnqgMnhIsiQ==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/mediatortype-iterations": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/@comunica/mediatortype-iterations/-/mediatortype-iterations-1.22.0.tgz", "integrity": "sha512-pN8aCGSh19FFu2IHjXJdCib2ewhOuW+DzQVkGTG0oD472amqQAlBVNxR38QParVP/ra70Isnbp+mfFlFLHrkYg==", - "dev": true + "dev": true, + "requires": {} }, "@comunica/runner": { "version": "1.22.0", @@ -3180,16 +16369,6 @@ "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -3209,7 +16388,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "8.3.2", @@ -4995,13 +18175,15 @@ "version": "8.8.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-header": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-jsdoc": { "version": "41.1.1", @@ -6882,6 +20064,16 @@ "integrity": "sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==", "dev": true }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, "jsonwebtoken": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", @@ -9303,6 +22495,15 @@ "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -9314,15 +22515,6 @@ "strip-ansi": "^6.0.1" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -9648,7 +22840,8 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/typedoc-plugin-external-module-map/-/typedoc-plugin-external-module-map-1.2.1.tgz", "integrity": "sha512-ha+he4JFhCufF6wnpMpeH2XwsMgnYR6IrRUBCiMbZoYoudn6zICX7NA40pMjA35A6afxWNhKZU19pXnvysPK7A==", - "dev": true + "dev": true, + "requires": {} }, "typedoc-plugin-nojekyll": { "version": "1.0.1", diff --git a/package.json b/package.json index ef4993a3..15871508 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "commerce-sdk", - "version": "4.0.0", + "version": "4.1.0", "description": "Salesforce Commerce Cloud SDK", "homepage": "https://developer.salesforce.com/developer-centers/commerce-cloud", "repository": { diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json index d0ada386..6ee2c17a 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis/1.0.32", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/cdn-api-process-apis/1.0.36", "name": "CDN Zones", "description": "Extend your eCDN beyond Business Manager configuration.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "cdn-api-process-apis", - "version": "1.0.32", + "version": "1.0.36", "categories": { "API layer": [ "Process" diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml index 97340254..222bd3aa 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/cdnapi-process-api.raml @@ -71,6 +71,9 @@ types: WAFRulePackage: !include dataTypes/WAFRulePackage.raml OriginHeaderModification: !include dataTypes/OriginHeaderModification.raml OriginHeaderModificationPutRequest: !include dataTypes/OriginHeaderModificationPutRequest.raml + MtlsCertificateRequest: !include dataTypes/MtlsCertificateRequest.raml + MtlsCertificateResponse: !include dataTypes/MtlsCertificateResponse.raml + DCVDelegationRecord: !include dataTypes/DCVDelegationRecord.raml ZonesEnvelope: type: CollectionResponseEnvelope @@ -202,7 +205,17 @@ types: properties: data: type: OriginHeaderModification - + MtlsCertificateResponseEnvelope: + type: ItemResponseEnvelope + properties: + data: + type: MtlsCertificateResponse + MtlsCertificatesResponseEnvelope: + type: CollectionResponseEnvelope + properties: + data: + type: MtlsCertificateResponse[] + traits: hasUnauthorizedResponse: !include traits/HasUnauthorizedResponse.raml hasForbiddenAccessResponse: !include traits/HasForbiddenAccessResponse.raml @@ -232,6 +245,61 @@ traits: example: !include /examples/zone/storefront-zone-create-response.raml securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } + /mtls/code-upload-certificates: + get: + is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] + displayName: getCodeUploadCertificates + description: Returns all the mTLS certificates for the account. + responses: + '200': + description: Successfully retrieved details of the mTLS certificates requested by the + caller. + body: + application/json: + type: MtlsCertificatesResponseEnvelope + example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } + post: + is: [hasBadRequestResponse, hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse, hasResourceNotFoundResponse] + displayName: createCodeUploadCertificate + description: Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname. + body: + application/json: + type: MtlsCertificateRequest + example: !include /examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml + responses: + '201': + description: Returns information about the uploaded mTLS certificate. + body: + application/json: + type: MtlsCertificateResponseEnvelope + example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } + /mtls/code-upload-certificates/{mtlsCertificateId}: + get: + is: [hasBadRequestResponse, hasInternalServerErrorResponse, hasForbiddenAccessResponse, hasUnauthorizedResponse] + displayName: getCodeUploadCertificate + description: Returns the mTLS certificate for the given account's mTLS certificate ID. + responses: + '200': + description: Successfully retrieved mTLS certificate information from the mTLS certificate ID requested by the caller. + body: + application/json: + type: MtlsCertificateResponseEnvelope + example: !include /examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } + delete: + is: [ hasResourceNotFoundResponse ] + displayName: deleteCodeUploadCertificate + description: Removes an mTLS certificate and associated hostname. + responses: + 204: + description: Successfully deleted the mTLS certificate from the account. + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } /zones/info: is: [hasUnauthorizedResponse, hasForbiddenAccessResponse, hasInternalServerErrorResponse] get: @@ -975,7 +1043,7 @@ traits: put: is: [hasBadRequestResponse] displayName: upsertOriginHeaderModification - description: Upsert origin header modification. + description: Upsert origin header modification. Only the `mrt` type is supported. body: application/json: type: OriginHeaderModificationPutRequest @@ -998,7 +1066,7 @@ traits: get: is: [hasBadRequestResponse] displayName: getOriginHeaderModification - description: Get origin header modification associated with a zone. + description: Get origin header modification associated with a zone. Only the `mrt` type is supported. responses: 200: description: Successfully returned the origin header modification associated with a zone. @@ -1010,9 +1078,14 @@ traits: - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones, sfcc.cdn-zones.rw ] } delete: displayName: deleteOriginHeaderModification - description: Delete the origin header modification associated with a zone. + description: Delete the origin header modification associated with a zone. Only the `mrt` type is supported. responses: 204: description: Successfully deleted the origin header modification associated with a zone. securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ sfcc.cdn-zones.rw ] } + uriParameters: + type: + description: The type of origin header modification. Only the `mrt` type is supported. + type: string + example: mrt diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml index 202794d5..3e81dc71 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/Certificate.raml @@ -61,6 +61,19 @@ properties: type: string enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] required: false + wildcardCertificateVerificationTXTName: + description: eCDN automatic renewal certificate verification txt name. + type: string + required: false + wildcardCertificateVerificationTXTValue: + description: eCDN automatic renewal certificate verification txt value. + type: string + required: false + wildcardCertificateVerificationStatus: + description: Current status of certificate verification. + type: string + enum: [ACTIVE, EXPIRED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT] + required: false customHostnameVerificationTXTName: description: Custom Hostname verification txt name. type: string @@ -82,3 +95,9 @@ properties: type: string enum: [ACTIVE, EXPIRED, DELETED, PENDING, INITIALIZING, PENDING_VALIDATION, PENDING_ISSUANCE, PENDING_DEPLOYMENT, PENDING_DELETION, MOVED] required: false + dcvDelegationRecords: + description: eCDN automatic renewal certificate DCV delegation records + type: array + items: + type: DCVDelegationRecord + required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml index 289fbf72..398d6f38 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/CertificateRequest.raml @@ -5,6 +5,10 @@ properties: hostname: description: Hostname that certificate needs to be applied to. type: string + bundleMethod: + description: Bundle method of the custom certificate chain for verification. + type: string + required: false certificateType: description: Indicates certificate is custom or automatic certificate renewal by eCDN. Optional field, if nothing specified the default value is custom. Valid values are custom or automatic. type: string @@ -25,3 +29,7 @@ properties: description: Certificate validation type is optional only for `certificateType` automatic, default value is `http`. Valid values are `http` or `txt`. type: string required: false + wildcardHostname: + description: Set to true for a wildcard custom hostname. + type: boolean + required: false diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml new file mode 100644 index 00000000..8d902a9e --- /dev/null +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/DCVDelegationRecord.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +description: eCDN automatic renewal certificate DCV delegation records. +type: object +properties: + dcvCname: + description: DNS CNAME for Domain Control Validation. + type: string + required: false + dcvCnameValue: + description: DNS CNAME value for Domain Control Validation. + type: string + required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml index 5f4fcb1e..a805d31e 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulePatchRequest.raml @@ -1,5 +1,5 @@ #%RAML 1.0 DataType -description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression as well as disable/enable the rule. +description: PATCH request for updating an MRT rule. You may use the PATCH request to update the rule's expression and description as well as disable/enable the rule. type: object properties: enabled: @@ -11,4 +11,9 @@ properties: description: The expression that determines the MRT rule's routing behavior. type: string example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + required: false + description: + description: The description of the rule. Optional. + type: string + example: Phased rollout rule for dev-customer.salesforce.com required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml index 680ed6fe..eeee65ca 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml @@ -10,6 +10,10 @@ properties: description: The expression that determines the rule's routing behavior. type: string example: (http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\")) + description: + description: The description of the rule. + type: string + example: Phased rollout rule for dev-customer.salesforce.com lastUpdated: description: Date when the rule was last updated. type: datetime diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml index c80fa851..3ae32096 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesPostRequest.raml @@ -9,4 +9,9 @@ properties: expressions: description: An array containing the expressions for each MRT rule. type: string[] - example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] \ No newline at end of file + example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] + descriptions: + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + type: string[] + example: ["Phased rollout rule for dev-customer.salesforce.com"] + required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml index 3ea5068d..c345993e 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRulesetPatchRequest.raml @@ -15,4 +15,9 @@ properties: description: An array containing the expressions for each MRT rule. type: string[] example: ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path1/.*\" or http.request.uri.path matches \"^.*/path2/.*/products/.*\"))"] + required: false + descriptions: + description: An array containing the descriptions for each MRT rule. The number of descriptions provided must match the number of expressions provided. Optional. + type: string[] + example: ["Phased rollout rule for dev-customer.salesforce.com"] required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml new file mode 100644 index 00000000..42eceb31 --- /dev/null +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateRequest.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 DataType +description: mTLS certificate request information. +type: object +properties: + certificate: + description: Public key for the CA certificate in mTLS. + type: string + required: true + privateKey: + description: Private key of the CA certificate in mTLS. + type: string + required: true + name: + description: Certificate name used for ease of understanding. + type: string + required: true diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml new file mode 100644 index 00000000..c24530e4 --- /dev/null +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MtlsCertificateResponse.raml @@ -0,0 +1,41 @@ +#%RAML 1.0 DataType +type: object +description: mTLS certificate information. +properties: + mtlsCertificateId: + pattern: ([a-f0-9]{8}(-[a-f0-9]{4}){4}[a-f0-9]{8}) + description: ID generated by the CDN provider for the certificate. + type: string + required: false + expiresOn: + description: Expiration date for the mTLS certificate. + type: datetime + required: false + issuer: + description: The certificate authority that issued the mTLS certificate. + type: string + required: false + signature: + description: The type of hash used for the mTLS certificate. + type: string + required: false + uploadedOn: + description: Date the mTLS certificate was uploaded. + type: datetime + required: false + ca: + description: Indicates whether the mTLS certificate is a CA or leaf certificate. + type: boolean + required: false + serialNumber: + description: The mTLS certificate serial number. + type: string + required: false + mtlsCertificateName: + description: Optional name for the mTLS certificate used for ease of understanding. + type: string + required: false + mtlsAssociatedCodeUploadHostname: + description: Hostname associated with this mTLS certificate. + type: string + required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml index df3f1a86..e84eb7ad 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml @@ -26,27 +26,6 @@ properties: required: false default: off enum: [off, lossless, lossy] - example: off - minifyJs: - type: string - description: Minify JavaScript for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyHtml: - type: string - description: Minify HTML for a zone. - required: false - default: off - enum: ["on", "off"] - example: off - minifyCss: - type: string - description: Minify CSS for a zone. - required: false - default: off - enum: ["on", "off"] example: off earlyHints: type: string @@ -79,12 +58,6 @@ examples: polish: off webpExample: webp: off - minifyJsExample: - minifyJs: off - minfyHtmlExample: - minfyHtml: off - minifyCssExample: - minifyCss: off earlyHintsExample: earlyHints: off http3Example: diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml index e37161cb..3669a0ad 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/WAFManagedRule.raml @@ -10,6 +10,11 @@ properties: description: The action applied by the WAF managed rule. type: string example: block + score: + description: The score of the WAF managed rule. Only applicable for the OWASP Managed Ruleset. + type: integer + example: 5 + required: false categories: description: A list of categories describing the function of the WAF managed rule. type: string[] diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml index 1611cc6a..3fb51949 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-request.raml @@ -2,5 +2,6 @@ value : { "enabled": true, - "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))" + "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for dev-customer.salesforce.com" } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml index e5c13f88..8080cdfe 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rule-patch-response.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-27T18:32:34.675182Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml index 53beda7a..225e70ae 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-get-response.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, @@ -20,6 +21,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1233333", "enabled": true, @@ -28,6 +30,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"prd-customer.salesforce.com\" and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for prd-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "98745678901234asdfasfasdf1234567", "enabled": true, diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml index fe76d6cb..1823ee1b 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-multiple-hostnames.raml @@ -2,5 +2,6 @@ value : { "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"] + "expressions": ["(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], + "descriptions": ["Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com"] } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml index f60b250c..fa8a57b9 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-request-single-hostname.raml @@ -2,5 +2,6 @@ value : { "mrtHostname": "customer.mobify-storefront.com", - "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))"] + "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))"], + "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml index fddcaae1..901cc6b7 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-multiple-hostnames.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml index a75270f0..79592d93 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-rules-post-response-single-hostname.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml index 44f9bdd2..e82f4873 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-request-add-rules.raml @@ -4,6 +4,6 @@ value : "mrtHostname": "customer.mobify-storefront.com", "expressions": ["(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", - "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))" - ] + "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))"], + "descriptions": ["Phased rollout rule for dev-customer.salesforce.com"] } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml index 78535c13..490c47f4 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-add-rules.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, @@ -20,6 +21,7 @@ value: { "id": "12345678901234asdfasfasdf1234568", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234568", "enabled": true, diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml index f32ca1c1..c41e4794 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mrtrules/mrt-ruleset-patch-response-update-hostname.raml @@ -12,6 +12,7 @@ value: { "id": "12345678901234asdfasfasdf1234567", "expression": "(http.host eq \"dev-customer.salesforce.com\" and not ( http.request.uri.path matches \"/on/path1/.*\" or http.request.uri.path matches \"/on/path2/.*\" or http.request.uri.path matches \".*routeDetails=true\" or http.request.uri.path eq \"/path3.txt\" ))", + "description": "Phased rollout rule for dev-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234567", "enabled": true, @@ -20,6 +21,7 @@ value: { "id": "12345678901234asdfasfasdf1234568", "expression": "(http.host in {\"test-customer.salesforce.com\" \"test2-customer.salesforce.com\"} and not ( http.request.uri.path matches \"^/path4/.*\" or http.request.uri.path matches \"^.*/path5/.*/products/.*\"))", + "description": "Phased rollout rule for test-customer.salesforce.com and test2-customer.salesforce.com", "lastUpdated": "2022-09-15T21:14:42.372459Z", "ref": "12345678901234asdfasfasdf1234568", "enabled": true, diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml new file mode 100644 index 00000000..7b76bcae --- /dev/null +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificate-response.raml @@ -0,0 +1,17 @@ +#%RAML 1.0 NamedExample + +value: + { + "data": + { + "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", + "expiresOn": "2022-01-12T04:15:57Z", + "issuer": "DigiCert", + "signature": "SHA256WithRSA", + "uploadedOn": "2020-01-12T04:15:57Z", + "ca": true, + "serialNumber": "432217133297895665180570788458463042229861757760", + "mtlsCertificateName": "mtls_cert_name", + "mtlsAssociatedHostname": "mtls.cert.salesforce.com" + } + } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml new file mode 100644 index 00000000..fa2d3b27 --- /dev/null +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-get-certificates-response.raml @@ -0,0 +1,30 @@ +#%RAML 1.0 NamedExample + +value: + { + "data": + [ + { + "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8629", + "expiresOn": "2022-01-12T04:15:57Z", + "issuer": "DigiCert", + "signature": "SHA256WithRSA", + "uploadedOn": "2020-01-12T04:15:57Z", + "ca": true, + "serialNumber": "432217133297895665180570788458463042229861757760", + "mtlsCertificateName": "mtls_cert_name", + "mtlsAssociatedHostname": "mtls.cert.salesforce.com" + }, + { + "mtlsCertificateId": "465a48f6-3d98-4c15-9312-211984ee8630", + "expiresOn": "2022-01-12T04:15:57Z", + "issuer": "DigiCert", + "signature": "SHA256WithRSA", + "uploadedOn": "2020-01-12T04:15:57Z", + "ca": true, + "serialNumber": "432217133297895665180570788458463042229861757761", + "mtlsCertificateName": "mtls_cert_name", + "mtlsAssociatedHostname": "mtls.cert.salesforce.com" + } + ] + } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml new file mode 100644 index 00000000..4abc66a2 --- /dev/null +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/mtlsCodeUpload/mtls-codeupload-post-certificate-request.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "name": "mtls_cert_name", + "certificate": "-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV\nBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX\naWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBF\nMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50\nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\nCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg\/1\nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvB\nKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX\/a+5\n0GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+pyFxIXjbEI\ndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2\nizNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT\/LbE4\n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT\/LbE49rWf288N6sJA5BRb6FJI\nGKFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV\nBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAMHAwfXZ5\/PWMAwGA1UdEwQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHHFwl0tH0quUYZYO0dZYt4R7SJ0pCm2\n2satiyzHl4OnXcHDpekAo7\/a09c6Lz6AU83cKy\/+x3\/djYHXWba7HpEu0dR3ugQP\nMlr4zrhd9xKZ0KZKiYmtJH+ak4OM4L3FbT0owUZPyjLSlhMtJVcoRp5CJsjAMBUG\nSvD8RX+T01wzox\/Qb+lnnNnOlaWpqu8eoOenybxKp1a9ULzIVvN\/LAcc+14vioFq\n2swRWtmocBAs8QR9n4uvbpiYvS8eYueDCWMM4fvFfBhaDZ3N9IbtySh3SpFdQDhw\nYbjM2rxXiyLGxB4Bol7QTv4zHif7Zt89FReT\/NBy4rzaskDJY5L6xmY=\n-----END CERTIFICATE-----", + "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG\ndtcGbg\/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn\nabIRuGvBKwzESIXgKk2016aTP6\/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid\ntnKX\/a+50GjB79CJH4ER2lLVZnhePFR\/zUOyPxZQQ4naHf7yu\/b5jhO0f8fwt+py\nFxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE\newooaeO2izNTERcG9HzAacbVRn2Y2SWIyT\/18QIDAQABAoIBACbhTYXBZYKmYPCb\nHBR1IBlCQA2nLGf0qRuJNJZg5iEzXows\/6tc8YymZkQE7nolapWsQ+upk2y5Xdp\/\naxiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ\/qUqlsTvU6muVuMP8vZYHxJ3wmb\n+ufRBKztPTQ\/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g\n+j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv\nKLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf\/WY9QNq0J1Vk5ERePZ54mN8iZB7\n9lwy\/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX\/SwTvxHgXzRyJIIT0eJWgx13Wo\n\/WA3Iziimsjf6qE+SI\/8laxPp2A86VMaIt3Z3mJN\/CqSVGw8LK2AQst+OwdPyDMu\niacE8lj\/IFGC8mwNUAb9CzGU3JpU4PxxGFjS\/eMtGeRXCWkK4NE+G08CgYEA1Kp9\nN2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe\nVAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB\nvULuCIIrglM5MeS\/qnSg1uMoH2oVPj9TVst\/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U\nlySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR\n9B+nY\/jOmQoPewPVsp\/vQTCnE\/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7\nmEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze\/2ei77MD4OQvepPIFX\ndFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe\nPG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS\nfhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO\/RyamlnSffdCdSc7ue3zdVJxpAkQ8W\nqu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T\nlv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO\/b13EePXpDMpY7HQpoLDi\n-----END RSA PRIVATE KEY-----" + } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml index 2aec67bc..8186305d 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-response.raml @@ -2,27 +2,47 @@ value: { "data": [ - { - "ruleId": "ef9520b6b08b4e279a6bf67286aa4371", - "action": "block", - "categories": [ - "broken-access-control", - "wordpress" - ], - "description": "Wordpress - Broken Access Control", - "lastUpdated": "2024-04-15T16:49:28.423829Z", - "enabled": true - }, - { - "ruleId": "20e34d3164a340dbb5c5d29203ccff90", - "action": "block", - "categories": [ - "broken-access-control", - "wordpress" - ], - "description": "Wordpress - Broken Access Control - Update Script", - "lastUpdated": "2024-04-15T16:49:28.423829Z", - "enabled": true - } + { + "ruleId": "8ac8bc2a661e475d940980f9317f28e1", + "action": "block", + "score": 5, + "categories": [ + "application-multi", + "attack-generic", + "capec-1000", + "capec-210", + "capec-220", + "capec-272", + "capec-274", + "language-multi", + "paranoia-level-1", + "pci-12-1", + "platform-multi" + ], + "description": "911100: Method is not allowed by policy", + "lastUpdated": "2024-08-19T17:26:58.593021Z", + "enabled": false + }, + { + "ruleId": "53065ac9bd9449f3895f1865467a0e6a", + "action": "block", + "score": 5, + "categories": [ + "application-multi", + "attack-reputation-scanner", + "capec-1000", + "capec-118", + "capec-224", + "capec-310", + "capec-541", + "language-multi", + "paranoia-level-1", + "pci-6-5-10", + "platform-multi" + ], + "description": "913100: Found User-Agent associated with security scanner", + "lastUpdated": "2024-08-19T17:26:58.593021Z", + "enabled": true + } ] } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml index 3ea1a36f..d1e529c4 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/wafmanagedrulesets/waf-managed-rules-update-response.raml @@ -1,15 +1,25 @@ #%RAML 1.0 NamedExample value: { - "data": { - "ruleId": "ef9520b6b08b4e279a6bf67286aa4371", - "action": "log", - "categories": [ - "broken-access-control", - "wordpress" - ], - "description": "Wordpress - Broken Access Control", - "lastUpdated": "2024-04-15T16:49:28.423829Z", - "enabled": true - } + "data": { + "ruleId": "53065ac9bd9449f3895f1865467a0e6a", + "action": "log", + "score": 5, + "categories": [ + "application-multi", + "attack-reputation-scanner", + "capec-1000", + "capec-118", + "capec-224", + "capec-310", + "capec-541", + "language-multi", + "paranoia-level-1", + "pci-6-5-10", + "platform-multi" + ], + "description": "913100: Found User-Agent associated with security scanner", + "lastUpdated": "2024-08-19T17:26:58.593021Z", + "enabled": true + } } \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml index 2548311c..c1f4177f 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml @@ -3,8 +3,5 @@ data: brotliCompression: off http2Prioritization: off - minifyCss: off - minfyHtml": off - minifyJs": off polish: off webp: off \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json index 863d6a9a..931175bf 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json @@ -1,25 +1,12 @@ { - "dependencies": [ - { - "version": "1.1.12", - "assetId": "api-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - }, - { - "version": "2.0.1", - "assetId": "commerce-cloud-standards", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" - } - ], - "version": "1.0.32", - "originalFormatVersion": "1.0", - "apiVersion": "v1", - "descriptorVersion": "0.1.0", - "classifier": "raml", "main": "cdnapi-process-api.raml", - "assetId": "cdn-api-process-apis", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "name": "CDN API - Process APIs", - "tags": [] + "classifier": "raml", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "cdn-api-process-apis", + "version": "1.0.36", + "apiVersion": "v1", + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json b/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json index b595f736..d88db6e8 100644 --- a/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json +++ b/testIntegration/stagingApis/checkout/shopper-baskets/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets/2.0.9", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-baskets/2.0.10", "name": "Shopper Baskets", "description": "Build a checkout experience.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-baskets", - "version": "2.0.9", + "version": "2.0.10", "categories": { "API layer": [ "Process" diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json index d71509a7..cb2e81c2 100644 --- a/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange.json @@ -1 +1,31 @@ -{"dependencies":[{"version":"1.1.15","assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"},{"version":"2.0.5","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"},{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.9","originalFormatVersion":"1.0","apiVersion":"v2","descriptorVersion":"0.1.0","classifier":"raml","main":"shopper-baskets.raml","backwardsCompatible":false,"assetId":"shopper-baskets","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Shopper Baskets","tags":[],"metadata":{"projectId":"f2e890b0-bc72-4034-a8c6-84d0bafd978d","branchId":"v2","commitId":"70e1a2438c09143495266999183cbd4e5fd41752"}} \ No newline at end of file +{ + "dependencies": [ + { + "version": "1.1.15", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + }, + { + "version": "2.0.1", + "assetId": "commerce-cloud-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + }, + { + "version": "2.0.6", + "assetId": "checkout-data-types", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + } + ], + "version": "2.0.10", + "originalFormatVersion": "1.0", + "apiVersion": "v2", + "descriptorVersion": "0.1.0", + "classifier": "raml", + "main": "shopper-baskets.raml", + "backwardsCompatible": false, + "assetId": "shopper-baskets", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "Shopper Baskets", + "tags": [] +} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml new file mode 100644 index 00000000..3d3d9c1d --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml @@ -0,0 +1,2364 @@ +#%RAML 1.0 Library +#In C4E review +usage: This library provides all shopper baskets orders data types + +uses: + CommerceCloudStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml + +types: + Basket: + description: |- + Document representing a basket. + type: + CommerceCloudStandards.OpenObject + properties: + adjustedMerchandizeTotalTax?: + description: |- + The total tax on products in the shipment, including item-level price adjustments but not + including service charges such as shipping. If the Discount Taxation preference is set to Tax + Products and Shipping Only Based on Adjusted Price, this amount also includes prorated + order-level price adjustments. It is read only. + type: number + format: double + example: + 4.95 + adjustedShippingTotalTax?: + description: |- + The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + type: number + format: double + example: + 0.30 + agentBasket?: + description: |- + Is the basket created by an agent? It is read only. + type: boolean + example: + true + basketId?: + description: |- + The unique identifier for the basket. It is read only. + type: string + example: + "e78aa5646a8efebdd9cdd38be7" + billingAddress?: + description: |- + The billing address. + type: OrderAddress + bonusDiscountLineItems?: + description: |- + The bonus discount line items. + type: array + items: + type: BonusDiscountLineItem + channelType?: + description: |- + The sales channel. It is read only. + type: string + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + example: + "storefront" + couponItems?: + description: |- + The coupon items. + type: array + items: + type: CouponItem + creationDate?: + description: |- + The timestamp when the basket was created. It is read only. + type: datetime + example: + 2015-05-19T15:23:18.000Z + currency?: + description: |- + The ISO 4217 mnemonic code of the currency. + type: string + example: + "USD" + customerInfo?: + description: |- + The customer information, if the customer is logged in. + type: CustomerInfo + giftCertificateItems?: + description: |- + The gift certificate line items. + type: array + items: + type: GiftCertificateItem + groupedTaxItems?: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: + array + items: + type: GroupedTaxItem + inventoryReservationExpiry?: + description: |- + The expiration datetime of the inventory reservation. It is read only. + type: datetime + example: + 2015-05-19T15:30:18.000Z + lastModified?: + description: |- + The timestamp when the basket was last modified. It is read only. + type: datetime + example: + 2015-05-19T15:25:18.000Z + merchandizeTotalTax?: + description: |- + The total products tax in the purchase currency. + Merchandise total price represents the sum of the product prices before + services (such as shipping) or adjustments from promotions have + been added. It is read only. + type: number + format: double + example: + 4.95 + notes?: + description: |- + The notes. + type: SimpleLink + orderPriceAdjustments?: + description: |- + The order-level price adjustments. + type: array + items: + type: PriceAdjustment + orderTotal?: + description: |- + The total price, including products, shipping and tax. It is read only. + type: number + format: double + example: + 110.24 + paymentInstruments?: + description: |- + The payment instruments list. + type: array + items: + type: OrderPaymentInstrument + productItems?: + description: |- + The product items. + type: array + items: + type: ProductItem + productSubTotal?: + description: |- + The total price of all products including item-level adjustments, but not including order-level adjustments or shipping + charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 99.00 + productTotal?: + description: |- + The total price of all products including adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 88.00 + shipments?: + description: |- + The shipments. + type: array + items: + type: Shipment + shippingItems?: + description: |- + The shipping items. + type: array + items: + type: ShippingItem + shippingTotal?: + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 5.99 + shippingTotalTax?: + description: |- + The total tax on all shipping charges, not including shipping adjustments. It is read only. + type: number + format: double + example: + 0.30 + sourceCode?: + description: |- + The source code assigned to the basket. It is read only. + type: string + example: + "OUTDOOR1" + taxTotal?: + description: |- + The total tax amount. It is read only. + type: number + format: double + example: + 5.25 + taxation?: + description: |- + The taxation policy (gross or net). It is read only. + type: string + enum: + - gross + - net + example: + "net" + taxRoundedAtGroup?: + description: |- + If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. + type: boolean + example: + true + temporaryBasket?: + description: |- + If the created basket is a temporary basket, this is set to true. Otherwise, it is set to false. It is read only. + type: boolean + example: + true + BasketPaymentInstrumentRequest: + description: |- + Document representing a basket payment instrument request. + type: + CommerceCloudStandards.OpenObject + properties: + amount?: + description: |- + The payment transaction amount. + type: number + format: double + example: + 130.88 + bankRoutingNumber?: + description: |- + The bank routing number. + maxLength: 256 + type: string + example: + "12030000" + giftCertificateCode?: + description: |- + The gift certificate code. + maxLength: 256 + type: string + example: + "AFGRTUZ" + paymentCard?: + description: |- + The payment card. + type: OrderPaymentCardRequest + paymentMethodId?: + description: |- + The payment method ID. + maxLength: 256 + type: string + example: + "CREDIT_CARD" + BonusDiscountLineItem: + description: |- + Document representing a bonus discount line item. + type: + CommerceCloudStandards.OpenObject + properties: + bonusProducts?: + description: |- + The bonus products the customer can choose from. + type: array + items: + type: ProductDetailsLink + couponCode?: + description: |- + The coupon code that triggered the promotion, if applicable. + type: string + example: + "5ties" + id?: + description: |- + The ID of the line item. It is read only. + type: string + example: + "91f4dd8bfa0653d58b7783b04f" + maxBonusItems?: + description: |- + The maximum number of bonus items the user can select for this promotion. + type: integer + format: int32 + promotionId?: + description: |- + The ID of the promotion that triggered the creation of the line item. + type: string + example: + "Buy1Get2" + CouponItem: + description: |- + Document representing a coupon item. + type: + CommerceCloudStandards.OpenObject + properties: + code: + description: |- + The coupon code. + maxLength: 256 + type: string + example: + "5ties" + couponItemId?: + description: |- + The coupon item ID. It is read only. + type: string + example: + "d4c9c0141e9c74c150225580f3" + statusCode?: + description: |- + The status of the coupon item. It is read only. + type: string + enum: + - coupon_code_already_in_basket + - coupon_code_already_redeemed + - coupon_code_unknown + - coupon_disabled + - redemption_limit_exceeded + - customer_redemption_limit_exceeded + - timeframe_redemption_limit_exceeded + - no_active_promotion + - coupon_already_in_basket + - no_applicable_promotion + - applied + - adhoc + example: + "no_applicable_promotion" + valid?: + description: |- + A flag indicating whether the coupon item is valid. A coupon line item is valid if + the status code is "applied" or "no_applicable_promotion". It is read only. + type: boolean + example: + true + CustomerInfo: + description: |- + The customer information for guest or logged-in customers. + type: + CommerceCloudStandards.OpenObject + properties: + customerId?: + description: |- + The customer ID. It is read only. + maxLength: 100 + type: string + example: + "abMKqMaNYOBMnNdDNzyC5oNTi5" + customerName?: + description: |- + The customer name. + type: string + example: + "Max Mustermann" + customerNo?: + description: |- + The customer number. + maxLength: 100 + type: string + example: + "0002352" + email: + description: |- + The customer's email address. + type: string + example: + no-reply@salesforce.com + Discount: + description: |- + Document representing a discount. + type: + CommerceCloudStandards.OpenObject + properties: + amount?: + description: |- + The discount amount for discount types that define specific discount amounts. It is read only. + type: number + format: double + example: + 130.88 + percentage?: + description: |- + The discount percent for discount types that define percentage discounts. It is read only. + type: number + format: double + example: + 0.19 + priceBookId?: + description: |- + The price book ID that is used with some types. It is read only. + type: string + example: + "usd-sale-prices" + type: + description: |- + The type of discount. It is read only. + type: string + enum: + - percentage + - fixed_price + - amount + - free + - price_book_price + - bonus + - total_fixed_price + - bonus_choice + - percentage_off_options + example: + "fixed_price" + DiscountRequest: + description: |- + Request that represents a discount to be applied to a custom price adjustment. + type: + CommerceCloudStandards.ClosedObject + properties: + type: + description: |- + The type of discount. + - `amount` describes a (unit) price discount, and its corresponding value (positive) defines the amount each unit is to be reduced by. Example: For a $10 discount, set `type` to `amount` and `value` to `10.00`. + - `percentage` describes a percentage discount, and its corresponding value (positive) defines the percentage reduction. Example: For a 5% discount, set `type` to `percentage` and `value` to `5.00`. + - `fixed_price` describes a fixed price discount, and its corresponding value (positive) defines the resulting fixed price for the item. Only one `fixed_price` discount can be set for each item. Example: To set a fixed price of $15, set `type` to `fixed_price` and `value` to `15.00`. **Important**: Setting `type` to `fixed_price` is not supported when `level` is set to `order`. + type: string + enum: + - percentage + - fixed_price + - amount + example: + "percentage" + value: + description: |- + The amount of the discount. + type: number + format: double + example: + 20.00 + GiftCertificateItem: + description: |- + A gift certificate item. + type: + CommerceCloudStandards.OpenObject + properties: + amount: + description: |- + The gift certificate item amount. + type: number + format: double + example: + 20.00 + giftCertificateItemId?: + description: |- + The item ID. It is read only. + type: string + example: + "629dea6e7b61e58da629b57b21" + message?: + description: |- + The gift certificate message. + maxLength: 4000 + type: string + example: + "Birthday present." + recipientEmail: + description: |- + The recipient email. + minLength: 1 + type: string + example: + no-reply@salesforce.com + recipientName?: + description: |- + The recipient's name. + type: string + example: + "Daniel Mustermann" + senderName?: + description: |- + The sender's name. + type: string + example: + "Max Mustermann" + shipmentId?: + description: |- + The ID of the shipment this item belongs to. + type: string + example: + "me" + GroupedTaxItem: + description: |- + Document representing the grouped tax item. + type: + CommerceCloudStandards.ClosedObject + properties: + taxRate?: + description: |- + The tax rate. It is read only. + type: number + format: double + example: + 0.10 + taxValue?: + description: |- + The summed up tax total for the tax rate. It is read only. + type: number + format: double + example: + 10.03 + Note: + description: |- + Document representing a note. + type: + CommerceCloudStandards.ClosedObject + properties: + createdBy?: + description: |- + The author of the note. + type: string + example: + "Support" + creationDate?: + description: |- + The timestamp when the note was created. + type: datetime + example: + 2021-02-25T09:58:04.691Z + id?: + description: |- + The ID of the note. + type: string + example: + "49b5c6c8340e432a7bfab9ff3a" + subject?: + description: |- + The note subject. + maxLength: 256 + type: string + example: + "Order was created." + text?: + description: |- + The note text. + maxLength: 4000 + type: string + example: + "Order was created." + NotesResult: + description: |- + A result of a note request. + Contains notes for an object - for example, for a basket. + properties: + notes?: + description: |- + The notes. It is read only. + type: array + items: + type: Note + OptionItem: + description: |- + An option item represents an optional purchase related to a product item, and is always associated with that parent product + item. An option item can have different values from which to select. For example, a refrigerator item can have an option item representing an extended warranty, with a set of option item values representing different warranty lengths. When a shopper purchases the warranty option item together with the parent refrigerator item, they select one of the available warranty option item values. + type: + CommerceCloudStandards.OpenObject + properties: + adjustedTax?: + description: |- + The tax on the line item, including any adjustments. It is read only. + type: number + format: double + example: + 19.00 + basePrice?: + description: |- + The base price of the line item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 50.00 + bonusDiscountLineItemId?: + description: |- + The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + example: + "ba248414e3eee797f062162f8b" + bonusProductLineItem?: + description: |- + A flag indicating whether the product item is a bonus. It is read only. + type: boolean + example: + false + bundledProductItems?: + description: |- + The bundled product items. + type: array + items: + type: ProductItem + gift?: + description: |- + Returns true if the item is a gift. It is read only. + type: boolean + example: + false + giftMessage?: + description: |- + The gift message. + type: string + example: + "Happy Birthday" + inventoryId?: + description: |- + The inventory list ID associated with this item. It is read only. + maxLength: 256 + type: string + example: + "inventory" + itemId?: + description: |- + The product item ID. Use it to identify this item when updating its quantity or creating a custom price adjustment for it. It is read only. + type: string + example: + "430ef5aad3a24de59378458434" + itemText?: + description: |- + The text describing the item. + type: string + example: + "The item text." + optionId: + description: |- + The ID of the option. It is read only. + maxLength: 256 + type: string + example: + consoleWarranty + optionItems?: + description: |- + The option items. + type: array + items: + type: OptionItem + optionValueId: + description: |- + The ID of the option value. It is read only. + maxLength: 256 + type: string + example: + "000" + price?: + description: |- + The price of the line item before applying any adjustments. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 150.99 + priceAdjustments?: + description: |- + The price adjustments. + type: array + items: + type: PriceAdjustment + priceAfterItemDiscount?: + description: |- + The price of the product line item including item-level adjustments, but not including order-level adjustments or + shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 50.99 + priceAfterOrderDiscount?: + description: |- + The price of the product line item including item-level adjustments and prorated order-level adjustments, but not + including shipping charges. If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + type: number + format: double + example: + 40.50 + productId?: + description: |- + The ID of the product. + maxLength: 100 + type: string + example: + "nintendo-ds-console" + productListItem?: + description: |- + If this product line item was added from a product list, this value is a reference to the corresponding product list item. + type: ProductListItemReference + productName?: + description: |- + The name of the product. + type: string + example: + "Nintendo DS Game Console" + quantity?: + description: |- + The ordered quantity of the products represented by this item. + minimum: 0 + type: number + format: double + example: + 1 + shipmentId?: + description: |- + The ID of the shipment this item belongs to. + type: string + example: + "me" + shippingItemId?: + description: |- + If the product line item has a related shipping item, this value is its ID. A related shipping item represents a + surcharge applied to individual products using a particular shipping method. It is read only. + type: string + example: + "006490dcc338feeafc71c964bf" + tax?: + description: |- + The tax on the line item before applying any adjustments. It is read only. + type: number + format: double + example: + 0.00 + taxBasis?: + description: |- + The amount used to calculate the tax for this item. It is read only. + type: number + format: double + example: + 50.00 + taxClassId?: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate?: + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + type: number + format: double + example: + 0.19 + Order: + description: |- + Document representing an order. + properties: + adjustedMerchandizeTotalTax?: + description: |- + The total tax on products in the order, including price adjustments, but not including service charges such as + shipping. It is read only. + type: number + format: double + example: + 1.50 + adjustedShippingTotalTax?: + description: |- + The total tax on shipping charges in the order, including shipping price adjustments. It is read only. + type: number + format: double + example: + 0.30 + billingAddress?: + description: |- + The billing address. + type: OrderAddress + bonusDiscountLineItems?: + description: |- + The bonus discount line items. It is read only. + type: array + items: + type: BonusDiscountLineItem + channelType?: + description: |- + The sales channel. It is read only. + type: string + enum: + - storefront + - callcenter + - marketplace + - dss + - store + - pinterest + - twitter + - facebookads + - subscriptions + - onlinereservation + - customerservicecenter + - instagramcommerce + - tiktok + - snapchat + - google + - whatsapp + - youtube + example: + "storefront" + confirmationStatus?: + description: |- + The confirmation status. + type: string + enum: + - not_confirmed + - confirmed + example: + "confirmed" + couponItems?: + description: |- + The coupon items. It is read only. + type: array + items: + type: CouponItem + createdBy?: + description: |- + This value depends on how the order was created. If a shopper created the order, this value is Customer. + If a job created the order, this value is System. Otherwise, this value is the name of the user who created the order. It is read only. + type: string + example: + "Customer" + creationDate?: + description: |- + The timestamp when the order was created. It is read only. + type: datetime + example: + 2015-05-19T15:23:18.000Z + currency?: + description: |- + The ISO 4217 mnemonic code of the currency. It is read only. + type: string + example: + "USD" + customerInfo?: + description: |- + The customer information for guest or logged-in customers. It is read only. + type: CustomerInfo + customerName?: + description: |- + The customer name. It is read only. + type: string + example: + "Max Mustermann" + exportStatus?: + description: |- + The export status of the order. + type: string + enum: + - not_exported + - exported + - ready + - failed + example: + "exported" + externalOrderStatus?: + description: |- + The external status of the order. + type: string + example: + "Submitted" + giftCertificateItems?: + description: |- + The gift certificate line items. It is read only. + type: array + items: + type: GiftCertificateItem + globalPartyId?: + description: |- + The Customer 360 Global Party ID associated with the shopper. It is read only. + type: string + example: + "GP_1234" + groupedTaxItems?: + description: |- + Tax values that are grouped and summed based on the tax rate. The tax totals of the line items with the same + tax rate are grouped together and summed up. This does not affect the calculation in any way. It is read only. + type: + array + items: + type: GroupedTaxItem + guest?: + description: |- + The registration status of the customer. It is read only. + type: boolean + example: + true + lastModified?: + description: |- + The timestamp when the order was last modified. It is read only. + type: datetime + example: + 2021-02-25T09:58:08.715Z + merchandizeTotalTax?: + description: |- + The total products tax in the purchase currency. Merchandise total prices represent the sum of product prices + not including shipping or adjustments. It is read only. + type: number + format: double + example: + 1.50 + notes?: + description: |- + The notes. + type: SimpleLink + orderNo?: + description: |- + The order number. + type: string + example: + "00000410" + orderPriceAdjustments?: + description: |- + The order-level price adjustments. It is read only. + type: array + items: + type: PriceAdjustment + orderToken?: + description: |- + The order token used to secure the lookup of an order on base of the + plain order number. The order token contains only URL safe characters. It is read only. + type: string + orderTotal?: + description: |- + The total price, including products, shipping, and tax. It is read only. + type: number + format: double + example: + 110.24 + orderViewCode?: + description: |- + The order view code used to secure the order lookup of an order using Order Lookup API. + The order view code contains only URL safe characters. + Warning : Order view code must not be exposed in the URL and must only be displayed to the shopper or sent as an email. + Order view code must not be logged in the code. It is read only. + type: string + paymentInstruments?: + description: |- + The payment instruments list. + type: array + items: + type: OrderPaymentInstrument + paymentStatus?: + description: |- + The payment status. + type: string + enum: + - not_paid + - part_paid + - paid + example: + "paid" + productItems?: + description: |- + The product items. It is read only. + type: array + items: + type: ProductItem + productSubTotal?: + description: |- + The total price of all products including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 99.00 + productTotal?: + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 99.00 + shipments?: + description: |- + The shipments. It is read only. + type: array + items: + type: Shipment + shippingItems?: + description: |- + The shipping items. It is read only. + type: array + items: + type: ShippingItem + shippingStatus?: + description: |- + The shipping status. + type: string + enum: + - not_shipped + - part_shipped + - shipped + example: + "shipped" + shippingTotal?: + description: |- + The total price of all shipping charges, including shipping adjustments. If the taxation policy is net, + it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 5.99 + shippingTotalTax?: + description: |- + The total tax on all shipping charges, not including shipping adjustments. It is read only. + type: number + format: double + example: + 0.30 + siteId?: + description: |- + The order's site. It is read only. + type: string + example: + "ShoppingSite" + sourceCode?: + description: |- + The source code assigned to the basket from which this order was created. It is read only. + type: string + example: + "OUTDOOR1" + status?: + description: |- + The status. + type: string + enum: + - created + - new + - completed + - cancelled + - replaced + - failed + example: + "created" + taxRoundedAtGroup?: + description: |- + If the tax is rounded at the group level, this is set to true. If the tax is rounded at the item or unit level, it is set to false. It is read only. + type: boolean + example: + true + taxTotal?: + description: |- + The total tax amount. It is read only. + type: number + format: double + example: + 5.25 + taxation?: + description: |- + The taxation policy (gross or net). It is read only. + type: string + enum: + - gross + - net + example: + "net" + OrderAddress: + description: |- + Document representing an order address. + type: + CommerceCloudStandards.OpenObject + properties: + address1?: + description: |- + The first address line. + type: string + example: + "45 Main Rd." + address2?: + description: |- + The second address line. + type: string + example: + "Apartment 204" + city?: + description: |- + The city. + type: string + example: + "Boston" + companyName?: + description: |- + The company name. + type: string + example: + "Salesforce" + countryCode?: + description: |- + The ISO Country Code. + type: CommerceCloudStandards.CountryCode + example: + "US" + firstName?: + description: |- + The first name. + type: string + example: + "Max" + fullName?: + description: |- + The full name. + type: string + example: + "Max Mustermann" + id?: + description: |- + The ID of the address. + type: string + example: + "me" + jobTitle?: + description: |- + The job title. + type: string + example: + "Software Engineer" + lastName?: + description: |- + The last name. + type: string + example: + "Mustermann" + phone?: + description: |- + The phone number. + type: string + example: + "6175555555" + postBox?: + description: |- + The post office box. + type: string + example: + "PO BOX 109" + postalCode?: + description: |- + The postal code. + type: string + example: + "05408" + salutation?: + description: |- + The salutation. + type: string + example: + "Mr" + secondName?: + description: |- + The second name. + type: string + stateCode?: + description: |- + The state code. + type: string + example: + "MA" + suffix?: + description: |- + The suffix. + type: string + example: + "Sr" + suite?: + description: |- + The suite. + type: string + example: + "24A" + title?: + description: |- + The title. + type: string + example: + "Dr." + OrderLookupRequest: + description: |- + Document representing an order lookup request. + type: + CommerceCloudStandards.ClosedObject + properties: + email: + description: |- + The customer's email address associated with order to be looked up. + type: string + example: + no-reply@salesforce.com + orderViewCode: + description: |- + The order view code associated with the order to be looked up. + type: string + OrderPaymentCardRequest: + description: |- + Document representing an order payment card request. + type: + CommerceCloudStandards.ClosedObject + properties: + cardType?: + description: |- + The payment card type (for example: Visa). + maxLength: 256 + type: string + example: + "Visa" + creditCardToken?: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + type: string + example: + "E67TY8GQ27X" + expirationMonth?: + description: |- + The month when the payment card expires. + type: integer + format: int32 + example: + 3 + expirationYear?: + description: |- + The year when the payment card expires. + type: integer + format: int32 + example: + 2025 + holder?: + description: |- + The payment card holder. + maxLength: 256 + type: string + example: + Max Mustermann + issueNumber?: + description: |- + The payment card issue number. + maxLength: 256 + type: string + example: + "2" + maskedNumber?: + description: |- + The masked payment card number. + maxLength: 25 + type: string + pattern: '^[0-9 -]{0,7}\D{6,15}\d{0,4}$' + example: + "*********4422" + validFromMonth?: + description: |- + The month the payment card is valid from. + maximum: 12 + minimum: 1 + type: integer + format: int32 + example: + 5 + validFromYear?: + description: |- + The year the payment card is valid from. + type: integer + format: int32 + example: + 2019 + OrderPaymentInstrument: + description: |- + Document representing an order payment instrument. + properties: + amount?: + description: |- + The payment transaction amount. + type: number + format: double + example: + 130.88 + authorizationStatus?: + description: |- + The authorization status of the payment transaction. It is read only. + type: Status + bankRoutingNumber?: + description: |- + The bank routing number. + maxLength: 256 + type: string + example: + "12030000" + maskedGiftCertificateCode?: + description: |- + The gift certificate code with the last 4 characters not masked. + type: string + example: + "******Gzzy" + paymentCard?: + description: |- + The payment card. + type: PaymentCard + paymentInstrumentId?: + description: |- + The payment instrument ID. It is read only. + type: string + example: + "ba248424e3eee797f062162f8b" + paymentMethodId?: + description: |- + The payment method ID. It is read only. + maxLength: 256 + type: string + example: + "CREDIT_CARD" + OrderPaymentInstrumentRequest: + description: |- + Document representing an order payment instrument request. + type: + CommerceCloudStandards.OpenObject + properties: + amount?: + description: |- + The payment transaction amount. + type: number + format: double + example: + 130.88 + bankRoutingNumber?: + description: |- + The bank routing number. + maxLength: 256 + type: string + example: + "12030000" + giftCertificateCode?: + description: |- + The gift certificate code. + maxLength: 256 + type: string + paymentCard?: + description: |- + The payment card. + type: OrderPaymentCardRequest + paymentMethodId?: + description: |- + The payment method ID. + maxLength: 256 + type: string + example: + CREDIT_CARD + PaymentCard: + description: |- + Document representing a payment card. + type: + CommerceCloudStandards.ClosedObject + properties: + cardType?: + description: |- + The payment card type. + maxLength: 256 + type: string + example: + "Visa" + creditCardExpired?: + description: |- + A flag indicating if the credit card is expired. It is read only. + type: boolean + example: + true + creditCardToken?: + description: |- + A credit card token. If a credit card is tokenized, the token can be used to look up the credit card data + in the token store. + type: string + example: + "E67TY8GQ27X" + expirationMonth?: + description: |- + The month when the payment card expires. + type: integer + format: int32 + example: + 3 + expirationYear?: + description: |- + The year when the payment card expires. + type: integer + format: int32 + example: + 2025 + holder?: + description: |- + The payment card holder. + maxLength: 256 + type: string + example: + "Max Mustermann" + issueNumber?: + description: |- + The payment card issue number. + maxLength: 256 + type: string + example: + "2" + maskedNumber?: + description: |- + The masked payment card number. + maxLength: 4000 + type: string + example: + "*********4422" + numberLastDigits?: + description: |- + The last digits of the payment card number. It is read only. + maxLength: 4000 + type: string + example: + "4422" + validFromMonth?: + description: |- + The month the payment card is valid from. + maximum: 12 + minimum: 1 + type: integer + format: int32 + example: + 5 + validFromYear?: + description: |- + The year the payment card is valid from. + type: integer + format: int32 + example: + 2015 + PaymentCardSpec: + description: |- + Document representing the specification for a payment card. + type: + CommerceCloudStandards.OpenObject + properties: + cardType?: + description: |- + The payment card type. It is read only. + type: string + example: + "Visa" + checksumVerificationEnabled?: + description: |- + A flag indicating whether the card number is verified using the Luhn checksum algorithm. It is read only. + type: boolean + example: + true + description?: + description: |- + The localized description of the payment card. It is read only. + type: string + image?: + description: |- + The URL to the image that represents the payment card. It is read only. + type: string + name?: + description: |- + The localized name of the payment card. It is read only. + type: string + numberLengths?: + description: |- + The sorted list of number lengths (individual lengths as well as + length ranges). It is read only. + type: array + items: + type: string + numberPrefixes?: + description: |- + The sorted list of number prefixes (individual prefixes as well + as prefix ranges). It is read only. + type: array + items: + type: string + securityCodeLength?: + description: |- + The length of the security code for this card. It is read only. + type: integer + format: int32 + PaymentMethod: + description: |- + Document representing a payment method. + type: + CommerceCloudStandards.OpenObject + properties: + cards?: + description: |- + The sorted array of payment cards (included only when the system payment method is CREDIT_CARD). It is read only. + type: array + items: + type: PaymentCardSpec + description?: + description: |- + The localized description of the payment method or card. It is read only. + type: string + id: + description: |- + The ID of the payment method or card. It is read only. + maxLength: 256 + type: string + image?: + description: |- + The URL to the image that represents the payment method or card. It is read only. + type: string + name?: + description: |- + The localized name of the payment method or card. It is read only. + type: string + paymentProcessorId?: + description: |- + The payment processor ID. It is read only. It is read only. + type: string + PaymentMethodResult: + description: |- + Result document of payment methods applicable for a basket. + properties: + applicablePaymentMethods?: + description: |- + The applicable payment methods. It is read only. + type: array + items: + type: PaymentMethod + PriceAdjustment: + description: |- + Document representing a price adjustment within a basket or order. Price adjustments + can be assigned at the order, product, or shipping level. + type: + CommerceCloudStandards.OpenObject + properties: + appliedDiscount?: + description: |- + Details describing the discount this price adjustment is based on. For adjustments + not based on a discount, this value is null. + type: Discount + couponCode?: + description: |- + The coupon code of the coupon this price adjustment is based on. For adjustments + not based on a coupon, this value is null. It is read only. + type: string + example: + "5ties" + createdBy?: + description: |- + The user who created the price adjustment. It is read only. + type: string + example: + "Support" + creationDate?: + description: |- + The timestamp when the price adjustment was created. It is read only. + type: datetime + example: + 2015-05-19T15:23:18.000Z + custom?: + description: |- + A flag indicating whether this price adjustment was created by custom logic. This + flag is set to true unless the price adjustment was created by the promotion + engine. + type: boolean + example: + true + itemText?: + description: |- + The text describing the item. + type: string + lastModified?: + description: |- + The timestamp when the price adjustment was last modified. It is read only. + type: datetime + example: + 2021-02-25T09:58:08.715Z + manual?: + description: |- + A flag indicating whether this price adjustment was created by a manual process. + If the price adjustment was created by the promotion engine, this value is always + false. + type: boolean + example: + true + price?: + description: |- + The adjustment price. It is read only. + type: number + format: double + example: + 120.88 + priceAdjustmentId?: + description: |- + The price adjustment ID. It is read only. + type: string + example: + "ba248424e3eee797f062161f8b" + promotionId?: + description: |- + The ID of the related promotion. Custom price adjustments + can be assigned any promotion ID so long it is not + used by a price adjustment belonging to the same item, + and is not used by a promotion defined in the promotion engine. + If not specified, a promotion ID is generated. + type: string + promotionLink?: + description: |- + The URL addressing the related promotion. It is read only. + type: string + reasonCode?: + description: |- + The reason for the price adjustment. + type: string + PriceAdjustmentRequest: + description: |- + Request that represents a price adjustment. + type: + CommerceCloudStandards.OpenObject + properties: + discount?: + description: |- + A discount that can be specified instead of a price. + type: DiscountRequest + itemId?: + description: |- + The item to which the price adjustment should be added, depending on the specified level. If the level is ´order´, item id is not needed. If `shipping`, specify the UUID of the shipping item. If `product`, specify the UUID of the product item. + type: string + example: + "93196fae953cbedbe54d67e760" + itemText?: + description: |- + The text describing the item in more detail. + type: string + example: + "A discounted item" + level: + description: |- + The level at which the adjustment is applied. + - `order` indicates that the price adjustment should be added directly to basket. + - `product` indicates that the price adjustment should be added to the product item. + - `shipping` indicates that the price adjustment is added to the shipping item. + type: string + enum: + - product + - shipping + - order + example: + "order" + promotionId?: + description: |- + The ID of the related promotion. Custom price adjustments can be assigned any promotion ID as long as it's not used by a price adjustment belonging to the same item and isn't used by a promotion defined in the promotion engine. If not specified, a promotion ID is generated. + type: string + example: + "Shipping100" + reasonCode?: + description: |- + The reason for the price adjustment. + type: string + example: + "Shipping promotion on order above $1,000 USD" + PriceBookIds: + description: |- + Array of price book IDs to use for the basket calculation. + type: array + maxItems: 10 + items: + type: string + maxLength: 256 + ProductDetailsLink: + description: |- + Document representing a link to the resource for product details. + type: + CommerceCloudStandards.ClosedObject + properties: + productDescription?: + description: |- + The description of the product. + type: string + example: + "Nintendo DS revolutionizes handheld gameplay." + productId: + description: |- + The ID of the product. + type: string + example: + "nintendo-ds-console" + productName?: + description: |- + The name of the product. + type: string + example: + "Nintendo DS Game Console" + title?: + description: |- + The link title. + type: string + example: + "Nintendo DS Game Console" + ProductItem: + description: |- + Document representing a product item. + type: + CommerceCloudStandards.OpenObject + properties: + adjustedTax?: + description: |- + The tax on the line item, including any adjustments. It is read only. + type: number + format: double + example: + 19.00 + basePrice?: + description: |- + The base price of the line item, which is the unit price not including + adjustments. If the taxation policy is net, it doesn't include tax. If the + taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 130.00 + bonusDiscountLineItemId?: + description: |- + The ID of the bonus discount line item this bonus product relates to. It is read only. + type: string + bonusProductLineItem?: + description: |- + A flag indicating whether the product item is a bonus. + type: boolean + example: + true + bundledProductItems?: + description: |- + The bundled product items. + type: array + items: + type: ProductItem + gift?: + description: |- + Returns true if the item is a gift. It is read only. + type: boolean + example: + true + giftMessage?: + description: |- + The gift message. + type: string + example: + "Happy Birthday" + inventoryId?: + description: |- + The inventory list ID associated with this item. + maxLength: 256 + type: string + example: + "inventory" + itemId?: + description: |- + The product item ID. Use it to identify this item when updating its quantity or + creating a custom price adjustment for it. It is read only. + type: string + example: + "430ef5aad3a24de59378458434" + itemText?: + description: |- + The text describing the item. + type: string + optionItems?: + description: |- + The option items. + type: array + items: + type: OptionItem + price?: + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + format: double + priceAdjustments?: + description: |- + The price adjustments. + type: array + items: + type: PriceAdjustment + priceAfterItemDiscount?: + description: |- + The price of the product line item including item-level adjustments, but not + including order-level adjustments or shipping charges. If the taxation policy is + net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 20.99 + priceAfterOrderDiscount?: + description: |- + The price of the product line item including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation + policy is net, it doesn't include tax. If the taxation policy is gross, it + includes tax. It is read only. + type: number + format: double + example: + 15.50 + productId?: + description: |- + The ID of the product. + maxLength: 100 + type: string + example: + "nintendo-ds-console" + productListItem?: + description: |- + If this product line item was added from a product list, this value is a reference + to the corresponding product list item. + type: ProductListItemReference + productName?: + description: |- + The name of the product. + type: string + example: + "Nintendo DS Game Console" + quantity?: + description: |- + The quantity of the products represented by this item. + minimum: 0 + type: number + format: double + example: + 1 + shipmentId?: + description: |- + The ID of the shipment this item belongs to. + type: string + example: + "me" + shippingItemId?: + description: |- + If the product line item has a related shipping item, this value is its ID. A + related shipping item represents a surcharge applied to individual products using + a particular shipping method. It is read only. + type: string + example: + "006490dcc338feeafc71c964bf" + tax?: + description: |- + The tax for the product item, not including price adjustments. It is read only. + type: number + format: double + example: + 0.30 + taxBasis?: + description: |- + The price used to calculate the tax for this product item. It is read only. + type: number + format: double + example: + 30.00 + taxClassId?: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate?: + description: |- + The tax rate, which is the decimal tax rate to be applied + to the product represented by this item. It is read only. + type: number + format: double + example: + 0.90 + ProductListItemReference: + description: |- + Document representing product list item details. + type: + CommerceCloudStandards.ClosedObject + properties: + id: + description: |- + The ID of the product list item. It is read only. + type: string + example: + "ba248424e3fee797f062162f8b" + priority?: + description: |- + The priority of the product list item. + type: integer + format: int32 + example: + 1 + productDetailsLink?: + type: ProductDetailsLink + productList?: + description: |- + A reference to the associated product list. It is read only. + type: ProductListLink + public?: + type: boolean + example: + false + purchasedQuantity?: + description: |- + The total quantity of this item purchased from the product list. + type: number + format: double + example: + 0.00 + quantity?: + description: |- + The number of products or gift certificates that get shipped when purchasing this product list item. + minimum: 0 + type: number + format: double + example: + 1.0 + type?: + description: |- + Specifies whether the item is a product or a gift certificate. + type: string + enum: + - product + - gift_certificate + example: + product + ProductListLink: + description: |- + Document representing a link to a product list. + properties: + description?: + description: |- + The description of this product list. + type: string + name?: + description: |- + The name of this product list. + type: string + public?: + description: |- + A flag indicating whether the owner made this product list available for access + by other customers. It is read only. + type: boolean + example: + true + title?: + description: |- + The link title. + type: string + type?: + description: |- + The type of the product list. + type: string + enum: + - wish_list + - gift_registry + - shopping_list + - custom_1 + - custom_2 + - custom_3 + example: + "shopping_list" + PromotionLink: + description: |- + Document representing a promotion link. + type: + CommerceCloudStandards.ClosedObject + properties: + calloutMsg?: + description: |- + The localized callout message of the promotion. + type: string + example: + "$50 Fixed Products Amount Above 100" + name?: + description: |- + The localized name of the promotion. + type: string + example: + "$50 Fixed Products Amount Above 100" + promotionId?: + description: |- + The unique ID of the promotion. + type: string + example: + "$50FixedProductsAmountAbove100" + title?: + description: |- + The title. + type: string + Shipment: + description: |- + Document representing a shipment. + type: + CommerceCloudStandards.OpenObject + properties: + adjustedMerchandizeTotalTax?: + description: |- + The total tax on products in the shipment, including item-level price adjustments but not including + service charges such as shipping. If the Discount Taxation preference is set to Tax Products and + Shipping Only Based on Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + type: number + format: double + example: + 4.95 + adjustedShippingTotalTax?: + description: |- + The total tax on shipping charges in the shipment, including shipping price adjustments. It is read only. + type: number + format: double + example: + 0.30 + gift?: + description: |- + A flag indicating whether the shipment is a gift. It is read only. + type: boolean + example: + true + giftMessage?: + description: |- + The gift message. + type: string + example: + "Happy Birthday" + merchandizeTotalTax?: + description: |- + The total tax on products in the shipment, not including price adjustments or service charges such as + shipping. It is read only. + type: number + format: double + example: + 4.95 + productSubTotal?: + description: |- + The total price of all products in the shipment, including item-level adjustments, but not including + order-level adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. If + the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 99.00 + productTotal?: + description: |- + The total price of all products in the shipment including item-level adjustments and prorated + order-level adjustments, but not including shipping charges. If the taxation policy is net, it doesn't + include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 99.00 + shipmentId?: + description: |- + The order-specific ID of the shipment. The default value is 'me'. + type: string + example: + "me" + shipmentNo?: + description: |- + The shipment number of this shipment. This number is automatically generated. It is read only. + type: string + shipmentTotal?: + description: |- + The total price of all products in the shipment including item-level adjustments, shipping charges, + and tax. It is read only. + type: number + format: double + example: + 39.99 + shippingAddress?: + description: |- + The shipping address. + type: OrderAddress + shippingMethod?: + description: |- + The shipping method. + type: ShippingMethod + shippingStatus?: + description: |- + The shipping status of the shipment. + type: string + enum: + - not_shipped + - shipped + example: + "shipped" + shippingTotal?: + description: |- + The total price of all shipping charges in the shipment, including shipping adjustments. If the + taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 5.99 + shippingTotalTax?: + description: |- + The total tax on shipping charges in the shipment, not including shipping price adjustments. It is read only. + type: number + format: double + example: + 0.30 + taxTotal?: + description: |- + The total tax on the shipment, including item-level price adjustments and service charges such as + shipping. If the Discount Taxation preference is set to Tax Products and Shipping Only Based on + Adjusted Price, this amount also includes prorated order-level price adjustments. It is read only. + type: number + format: double + example: + 1.80 + trackingNumber?: + description: |- + The tracking number of the shipment. + type: string + example: + "1Z204E380338943508" + ShippingItem: + description: |- + Document representing a shipping item. + type: + CommerceCloudStandards.OpenObject + properties: + adjustedTax?: + description: |- + The tax for the shipping item, including price adjustments. It is read only. + type: number + format: double + example: + 19.00 + basePrice?: + description: |- + The base price of the shipping item, which is the unit price not including adjustments. + If the taxation policy is net, it doesn't include tax. If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + example: + 50.00 + itemId?: + description: |- + The shipping item ID. Use it to identify this shipping item when updating its quantity or creating a + custom price adjustment for it. It is read only. + type: string + example: + "430ef5aad3a24de59378458434" + itemText?: + description: |- + The text describing the shipping item. + type: string + example: + "Shipping" + price?: + description: |- + The price of the line item before applying any adjustments. If the line item is based on net pricing + then the net price is returned. If the line item is based on gross + pricing then the gross price is returned. It is read only. + type: number + format: double + priceAdjustments?: + description: |- + The price adjustments. + type: array + items: + type: PriceAdjustment + priceAfterItemDiscount?: + description: |- + The price of the shipping item including item-level adjustments, but not including order-level + adjustments or shipping charges. If the taxation policy is net, it doesn't include tax. + If the taxation policy is gross, it includes tax. It is read only. + type: number + format: double + shipmentId?: + description: |- + The identifier of the shipment to which this item belongs. + type: string + example: + "me" + tax?: + description: |- + The tax on the product item, not including adjustments. It is read only. + type: number + format: double + example: + 0.19 + taxBasis?: + description: |- + The price used to calculate the tax for this shipping item. It is read only. + type: number + format: double + taxClassId?: + description: |- + The tax class ID for the product item, or null + if no tax class ID is associated with the product item. It is read only. + type: string + taxRate?: + description: |- + The tax rate applicable to this product line item. For a 10% tax rate, the value is 0.1. It is read only. + type: number + format: double + ShippingMethod: + description: |- + Document representing a shipping method. + type: + CommerceCloudStandards.OpenObject + properties: + description?: + description: |- + The localized description of the shipping method. + type: string + example: + "Order received within 7-10 business days" + externalShippingMethod?: + description: |- + The external shipping method. + type: string + id: + description: |- + The shipping method ID. + maxLength: 256 + type: string + example: + "001" + name?: + description: |- + The localized name of the shipping method. + type: string + example: + "Ground" + price?: + description: |- + The shipping cost total, including shipment level costs, + product level fix, and surcharge costs. It is read only. + type: number + format: double + example: + 15.00 + shippingPromotions?: + description: |- + The array of active customer shipping promotions for this shipping + method. This array can be empty. + type: array + items: + type: ShippingPromotion + ShippingMethodResult: + description: |- + Result document containing shipping methods. + properties: + applicableShippingMethods?: + description: |- + The applicable shipping method documents. It is read only. + type: array + items: + type: ShippingMethod + defaultShippingMethodId?: + description: |- + The default shipping method. It is read only. + type: string + example: + "me" + ShippingPromotion: + description: |- + Document representing a shipping promotion. + type: + CommerceCloudStandards.OpenObject + properties: + calloutMsg?: + description: |- + The localized callout message of the promotion. + type: string + example: + "$30 Fixed Shipping Amount Above 150" + promotionId?: + description: |- + The unique ID of the promotion. + type: string + example: + "$30FixedShippingAmountAbove150" + promotionName?: + description: |- + The localized promotion name. + type: string + example: + "$30 Fixed Shipping Amount Above 150" + SimpleLink: + description: |- + Document representing a link to another resource. + type: + CommerceCloudStandards.ClosedObject + properties: + Status: + description: |- + Document representing an object status. + type: + CommerceCloudStandards.ClosedObject + properties: + code?: + description: |- + The status code. + type: string + message?: + description: |- + The status message. + type: string + status?: + description: |- + The status. + For more information on the status values see Status.OK and Status.ERROR. + type: integer + format: int32 + Taxes: + description: |- + Document representing the tax rates and (optionally) amounts for all items in a basket. + type: + CommerceCloudStandards.ClosedObject + properties: + taxes: + description: |- + Map containing the TaxItems for the line item ids: Map + properties: + /^\w{10,100}$/?: + type: TaxItems + TaxItems: + description: |- + Taxation for a line item. + properties: + taxItems?: + description: |- + The list of tax items. It is read only. + type: array + items: + type: TaxItem + TaxItem: + description: |- + Object representing the taxation. + type: + CommerceCloudStandards.ClosedObject + properties: + id: + description: |- + The taxation identifier. + type: string + rate: + description: |- + The taxation rate. + type: number + format: double + example: + 0.13 + value?: + description: |- + The tax amount. Will be computed if not set. + type: number + format: double diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml new file mode 100644 index 00000000..0a106775 --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", + "title": "Bad Request", + "detail": "The customer is invalid." + } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml new file mode 100644 index 00000000..46200fa6 --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request", + "title": "Bad Request", + "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'." + } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml new file mode 100644 index 00000000..ded387a8 --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/basket-not-found", + "title": "Basket Not Found", + "detail": "No basket with ID '123' could be found." + } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml new file mode 100644 index 00000000..76757e1c --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden", + "title": "Forbidden", + "detail": "The shipment with ID 'me' corresponds to the default shipment and can't be deleted." + } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml new file mode 100644 index 00000000..2fd5287c --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-tax-mode", + "title": "Invalid Tax Mode", + "detail": "Basket with ID 'a10ff320829cb0eef93ca5310a' has invalid tax mode." + } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml new file mode 100644 index 00000000..ab6a2fd1 --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/order-not-found.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/order-not-found", + "title": "Order Not Found", + "detail": "No order with number '123' was found." + } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml new file mode 100644 index 00000000..498f5b5d --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/shipment-not-found", + "title": "Shipment Not Found", + "detail": "The shipping method with ID '123' is unknown or can't be applied to the basket." + } \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml new file mode 100644 index 00000000..452c2569 --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 NamedExample +value: + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unsupported-request-if-scapi-hooks-enabled", + "title": "Unsupported Request If SCAPI Hooks Enabled", + "detail": "You can't call this endpoint because Salesforce Commerce API hook execution is enabled." + } diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json new file mode 100644 index 00000000..39a5e446 --- /dev/null +++ b/testIntegration/stagingApis/checkout/shopper-baskets/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/exchange.json @@ -0,0 +1 @@ +{"dependencies":[{"version":"2.0.1","assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8"}],"version":"2.0.6","originalFormatVersion":"1.0","apiVersion":"v1","descriptorVersion":"0.1.0","classifier":"raml-fragment","main":"checkout-data-types.raml","assetId":"checkout-data-types","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","name":"Checkout Data Types","tags":[],"metadata":{"projectId":"ac07ef0d-aa14-4469-95b7-95c115af175a","branchId":"v2","commitId":"c2e92b6a330fb7dda1e494b148c506dc9e44ab0f"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml b/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml index 0764a2eb..a59374bf 100644 --- a/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml +++ b/testIntegration/stagingApis/checkout/shopper-baskets/shopper-baskets.raml @@ -14,7 +14,7 @@ baseUriParameters: uses: BasketTraits: shopper-baskets-traits.raml - dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/checkout-data-types.raml + dataTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/checkout-data-types.raml ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml @@ -66,7 +66,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse1: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse1: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml dataTypes.ErrorResponse2: !include examples/error/customer-basket-quota-exceeded-exception.raml dataTypes.ErrorResponse3: !include examples/error/customer-temporary-basket-quota-exceeded-exception.raml '404': @@ -75,7 +75,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/shipment-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/shipment-not-found.raml queryParameters: taxMode?: type: string @@ -265,14 +265,14 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: The basket with the given basket ID is unknown. body: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } get: @@ -296,14 +296,14 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: The basket with the given basket ID is unknown. body: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -336,7 +336,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -348,7 +348,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: removeExternalTax?: description: |- @@ -396,7 +396,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } /billing-address: @@ -422,14 +422,14 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: The basket with the given basket ID is unknown. body: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: useAsShipping?: type: boolean @@ -470,7 +470,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is unknown. @@ -478,7 +478,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.CouponItem examples: @@ -508,7 +508,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -519,7 +519,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } uriParameters: @@ -554,7 +554,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -564,7 +564,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.CustomerInfo examples: @@ -592,7 +592,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -603,7 +603,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.GiftCertificateItem examples: @@ -634,7 +634,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -656,7 +656,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -666,7 +666,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.GiftCertificateItem examples: @@ -747,7 +747,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -757,7 +757,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: array items: dataTypes.ProductItem @@ -828,7 +828,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: basket not found @@ -868,7 +868,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -876,7 +876,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -939,7 +939,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -949,7 +949,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: removeExternalTax?: description: |- @@ -987,7 +987,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml '409': description: |- Possible Reasons: @@ -996,7 +996,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml + dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml body: type: dataTypes.TaxItems examples: @@ -1029,7 +1029,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: The basket with the given basket ID is unknown. @@ -1037,7 +1037,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.BasketPaymentInstrumentRequest examples: @@ -1067,7 +1067,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -1078,7 +1078,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -1105,7 +1105,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- Possible reasons: @@ -1115,7 +1115,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: removeExternalTax?: description: |- @@ -1151,7 +1151,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1159,7 +1159,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } /price-adjustments: @@ -1191,7 +1191,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1199,7 +1199,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.PriceAdjustmentRequest examples: @@ -1228,7 +1228,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1236,7 +1236,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperTokenTaob: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -1268,7 +1268,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The price adjustment ID is not found. @@ -1304,7 +1304,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } put: @@ -1321,7 +1321,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.PriceBookIds examples: @@ -1372,7 +1372,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is @@ -1381,7 +1381,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.Shipment examples: @@ -1416,7 +1416,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '403': description: |- The given shipment ID corresponds to the @@ -1425,7 +1425,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/forbidden.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/forbidden.raml '404': description: |- The basket with the given basket ID is @@ -1434,7 +1434,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders.rw" ] } patch: @@ -1478,7 +1478,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is unknown. @@ -1486,7 +1486,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.Shipment examples: @@ -1523,14 +1523,14 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: The basket with the given basket ID is unknown. body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: useAsBilling?: type: boolean @@ -1571,14 +1571,14 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-example.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-example.raml '404': description: |- The basket with the given basket ID is unknown. body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml body: type: dataTypes.ShippingMethod examples: @@ -1608,7 +1608,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/bad-request-auth.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/bad-request-auth.raml '404': description: |- Possible reasons: @@ -1617,7 +1617,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml securedBy: - CommerceCloudStandards.ShopperToken: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } /storefront: @@ -1648,7 +1648,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml queryParameters: exchange?: type: boolean @@ -1674,7 +1674,7 @@ types: body: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml '409': description: |- Possible Reasons: @@ -1682,8 +1682,8 @@ types: body: type: ErrorResponse examples: - dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/invalid-tax-mode.raml - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml + dataTypes.InvalidTaxMode: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/invalid-tax-mode.raml + dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [ "sfcc.shopper-baskets-orders", "sfcc.shopper-baskets-orders.rw" ] } put: @@ -1700,7 +1700,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/basket-not-found.raml + dataTypes.ErrorResponse: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/basket-not-found.raml '409': description: |- Possible Reasons: @@ -1709,7 +1709,7 @@ types: application/problem+json: type: ErrorResponse examples: - dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.5/examples/error/unsupported-request.raml + dataTypes.UnsupportedRequest: !include exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/checkout-data-types/2.0.6/examples/error/unsupported-request.raml body: type: dataTypes.Taxes examples: diff --git a/testIntegration/stagingApis/customer/shopper-context/.metadata.json b/testIntegration/stagingApis/customer/shopper-context/.metadata.json index 1ba8e672..46aa3bf5 100644 --- a/testIntegration/stagingApis/customer/shopper-context/.metadata.json +++ b/testIntegration/stagingApis/customer/shopper-context/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context/0.0.29", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-context/0.0.30", "name": "Shopper Context", "description": "The Shopper Context API enables developers to build highly contextualized shopping experiences for shoppers.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-context", - "version": "0.0.29", + "version": "0.0.30", "categories": { "API layer": [ "System" diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml index ee88d635..9292f3d2 100644 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml +++ b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-example.raml @@ -14,5 +14,6 @@ value: { "store": "boston" }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ] + "customerGroupIds" : [ "BigSpenders","MobileUsers" ], + "clientIp": "12.12.12.1" } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml index 705d39f5..1cf686b9 100644 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml +++ b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-request-example.raml @@ -12,5 +12,17 @@ value: "assignmentQualifiers" : { "store": "london" - } + }, + "clientIp": "12.12.12.1", + "geoLocation": { + "countryCode": "US", + "country": "United States of America", + "city": "Boston", + "postalCode": "01730", + "metroCode": "M234", + "region": "NA", + "regionCode": "12345", + "latitude": 10.11, + "longitude": 198.34 + } } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml index ed77a951..f14bc0e7 100644 --- a/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml +++ b/testIntegration/stagingApis/customer/shopper-context/Examples/shopper-context-update-response-example.raml @@ -13,6 +13,17 @@ value: { "store": "london" }, - "customerGroupIds" : [ "BigSpenders","MobileUsers" ] - + "customerGroupIds" : [ "BigSpenders","MobileUsers" ], + "clientIp": "12.12.12.1", + "geoLocation": { + "countryCode": "US", + "country": "United States of America", + "city": "Boston", + "postalCode": "01730", + "metroCode": "M234", + "region": "NA", + "regionCode": "12345", + "latitude": 10.11, + "longitude": 198.34 + } } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-context/exchange.json b/testIntegration/stagingApis/customer/shopper-context/exchange.json index d80be78f..45ae5e0d 100644 --- a/testIntegration/stagingApis/customer/shopper-context/exchange.json +++ b/testIntegration/stagingApis/customer/shopper-context/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.29", + "version": "0.0.30", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md b/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md index 06e17899..a2b212ce 100644 --- a/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md +++ b/testIntegration/stagingApis/customer/shopper-context/shopper-context-description.md @@ -1,22 +1,23 @@ # API Overview -With the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment) and then used to activate the experiences that are associated with a particular segment, such as promotions. +With the Shopper Context API, you can set any context information as a key/value pair and use it to retrieve personalized promotions, payment methods, and shipping methods. The context information that is set is evaluated against the customer group definitions to determine a customer group (shopper segment) and is then used to activate the experiences that are associated with a particular segment, such as promotions. -You can also get personalized API responses triggered by shopper context from the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments. +You can also get personalized API responses using Shopper Context in the [Open Commerce API](https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/OCAPI/current/usage/OpenCommerceAPI.html) (OCAPI). Support for both the B2C Commerce API and OCAPI allows shopper context to be used in hybrid deployments. **Warning** -**PLEASE READ CAREFULLY**: -Access tokens whose scope includes the Shopper Context API are powerful: they can activate specific promotions and be used to see how a storefront would appear in the future. Don't share them with untrusted clients like web browsers or client apps. +Access tokens whose scope includes the Shopper Context API are powerful: they can activate specific promotions and be used to see how a storefront would appear in the future. -It is highly recommended to use Shopper Context calls with a private client and to only make setting Shopper Context calls through a secure backend channel. Users of Shopper Context , should avoid making direct calls through a browser or similar clients where the data can be viewed , to avoid potential misuse. +Recommended usage of Shopper Context is setting context using a secure backend channel with a private client. Do not make direct calls through a browser or similar client in which the data can be viewed. -As part of this, when creating a new public client in SLAS for a tenant, if adding Shopper Context scope is attempted, a warning message is displayed to ensure the user is aware of the pitfalls of doing so. +If you attempt to add a Shopper Context scope for a tenant when creating a new public client in SLAS, a warning message is displayed. **Note**: -The context is valid for 1 day for guest shoppers and 7 days for registered shoppers. To extend the context set, create a new context. As a best practice, refresh your contexts periodically to ensure that the right personalized experience is rendered for your shoppers. +For guest shoppers, the context is valid for 1 day and for registered shoppers, 7 days. To extend the context set, create a new context. As a best practice, periodically refresh your contexts to ensure that the right personalized experience is rendered for your shoppers. -With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. +With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` is required for all new customers, and a bad request response code is returned for requests without a `siteId`. + +## Authentication & Authorization To use the Shopper Context API, you must: @@ -29,4 +30,6 @@ For more information, see [Authorization for Shopper APIs](https://developer.sal ## Use Cases -For detailed usage information, see the [Shopper Context guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html). +To integrate Shopper Context API geolocation features with your storefront, see [Shopper Geolocation](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-geolocation.html). + +For additional usage information, see the [Shopper Context Guides](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html). diff --git a/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml b/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml index 429eacaa..3dd90155 100644 --- a/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml +++ b/testIntegration/stagingApis/customer/shopper-context/shopper-context.raml @@ -50,11 +50,24 @@ types: required: false clientIp: type: string - description: The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available from version 24.7. + description: |- + The IP Address of the client. If the client IP is not a valid IPv4 address, a Bad Request (400) error is thrown. This property is available with B2C Commerce version 24.7. + + When `clientIp` is set, the geolocation based on the `clientIp` is returned in the `X-Geolocation` header in the response. Note: Use/retrieve this header in a case insensitive manner. + + However, if the `geoLocation` attribute is also set in the context, it takes precedence over the `clientIp`, and the `X-Geolocation` header returns the geolocation based on the `geoLocation` attribute. + + The query parameter `evaluateContextWithClientIp` determines whether to evaluate the context using the provided `clientIp`. + - If `evaluateContextWithClientIp` is set to `true`: + - The `clientIp` is saved and used in subsequent requests. + + Note: If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. + - If `evaluateContextWithClientIp` is set to `false`: + - The `clientIp` is not saved and is not used in subsequent requests. required: false geoLocation: type: object - description: The geographic location of the client. When you set a location, it is saved as context for subsequent requests. This overrides any context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. + description: The geographic location of the client. When you set a geolocation, it is saved as context for subsequent requests. This overrides any geolocation context previously saved using `clientIp`. This property is available with B2C Commerce version 24.7. required: false properties: city: @@ -118,6 +131,12 @@ types: responses: '200': description: Success retrieving Shopper Context. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. + type: string + required: false + example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" body: application/json: type: ShopperContext @@ -151,13 +170,13 @@ types: - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context, sfcc.shopper-context.rw] } put: description: |- - Creates the shopper's context based on shopperJWT. + Creates the shopper's context based on shopperJWT. If a shopper context already exists, it replaces the entire existing context. With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. displayName: createShopperContext queryParameters: siteId: - description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. + description: The identifier of the site to which the request is being sent. With B2C Commerce release 24.5, all new implementations of Shopper Context require the `siteId` query parameter to be passed. Existing customers with Shopper Context implementations should start including `siteId` going forward. Starting July 31 2024, `siteId` will be required for all customers, and a bad request response code will be returned for requests without a `siteId`. example: SiteGenesis type: string @@ -167,7 +186,7 @@ types: description: | Determines whether to evaluate the context using the provided `clientIp`. This property is available with B2C Commerce version 24.7. - If `evaluateContextWithClientIp` is set to `true`: - - The `clientIp` is saved and used in subsequent requests. + - The `clientIp` is saved and used in subsequent requests. If `geoLocation` is also saved in the context, it takes precedence over the `clientIp`. - If `evaluateContextWithClientIp` is set to `false`: - The `clientIp` is not saved and will not be used in subsequent requests. @@ -183,8 +202,20 @@ types: responses: '201': description: Created Shopper Context. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set, `geoLocation` takes precedence. + type: string + required: false + example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" '200': description: Updated Shopper Context. + headers: + X-Geolocation: + description: The response header returns the geolocation based on the `clientIp` or `geoLocation` attribute set in the shopper context. If both are set `geoLocation` takes precedence. + type: string + required: false + example: "CountryCode: US; Country: United States; MetroCode: 0; Latitude: 37.751; Longitude: -97.822" '400': description: Usid in incoming request does not match Usid in token. body: @@ -250,7 +281,37 @@ types: - CommerceCloudStandards.ShopperToken: { scopes: [sfcc.shopper-context.rw] } patch: description: |- - Updates the shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. If a `custom qualifier/assignment qualifer` or an `effectiveDateTime` or a `sourceCode` or a `customerGroupIds` is already present in the existing shopper context, its value is replaced by the corresponding value from the patch body. If a `custom qualifers'` or a `assignment qualifiers'` value is set to `null`, it's deleted from existing shopper context. If `effectiveDateTime` or `sourceCode` value is set to an empty string (""), it's deleted from existing shopper context. If `effectiveDateTime` or `sourceCode` value is set to `null`, it's ignored. If an `effectiveDateTime` or `sourceCode` or `custom/assignment qualifiiers'` value is new, it's added to the existing Shopper context. If `customerGroupIds` is set to empty array `[]` the existing value in shopper context is deleted. + Updates an existing shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. + - If a new attribute that does not exist in the existing shopper context is present, it is added to the context. + -If an attribute is already present in the existing shopper context, its value is replaced by the corresponding value from the new shopper context in the request body as follows: + - `custom qualifiers` or `assignment qualifiers`: + + If the individual qualifier key exists, it is overwritten with the new value. + + If the value of the key is set to null, it is deleted from the existing shopper context. + + If an empty `custom qualifiers` or `assignment qualifiers` object `{}` is passed, the entire qualifier object is deleted. + - `effectiveDateTime` or `sourceCode` or `clientIp`: + + If the new value is set to an empty string (""), it is deleted from the existing shopper context. + + If the new value is set to null, it is ignored. + + If the new value is not empty or null, it overwrites the existing value. + + - `customerGroupIds`: + + If a list of `customerGroupIds` exists, it is replaced by the new list of customer group IDs from the request. + + If `customerGroupIds` is set to an empty array [], the existing list in the shopper context is deleted. + + - `geoLocation`: + + If it exists, the entire `geoLocation` object is replaced with the new value. + + If the new value is set to null, it is ignored. + + If an empty `geoLocation` object `{}` is passed, it is deleted. With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the `siteId` parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025. displayName: updateShopperContext @@ -282,6 +343,11 @@ types: responses: '200': description: Updated Shopper Context. + headers: + X-Geolocation: + type: string + required: false + example: "CountryCode: US; Country: United States of America; City: Boston; PostalCode: 01730; MetroCode: M234; Region: NA; RegionCode: 12345; Latitude: 10.11; Longitude: 198.34" body: application/json: type: ShopperContext diff --git a/testIntegration/stagingApis/customer/shopper-customers/.metadata.json b/testIntegration/stagingApis/customer/shopper-customers/.metadata.json index 399476f1..89dfdc90 100644 --- a/testIntegration/stagingApis/customer/shopper-customers/.metadata.json +++ b/testIntegration/stagingApis/customer/shopper-customers/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers/0.0.49", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-customers/0.0.50", "name": "Shopper Customers", "description": "Allow customers to manage their own profiles and product lists.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-customers", - "version": "0.0.49", + "version": "0.0.50", "categories": { "API layer": [ "Process" diff --git a/testIntegration/stagingApis/customer/shopper-customers/exchange.json b/testIntegration/stagingApis/customer/shopper-customers/exchange.json index bd8aa234..b38ea2b9 100644 --- a/testIntegration/stagingApis/customer/shopper-customers/exchange.json +++ b/testIntegration/stagingApis/customer/shopper-customers/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.49", + "version": "0.0.50", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml b/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml index 01133e24..5eab4cd8 100644 --- a/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml +++ b/testIntegration/stagingApis/customer/shopper-customers/shopper-customers.raml @@ -402,6 +402,11 @@ types: format: int32 required: false example: 1 + hashedLogin: + description: Represents the read-only hashed value for the `loginId` used for Einstein events. This field is available with B2C Commerce version 24.9. + type: string + required: false + example: "123927deac310a3dae382897d9e458bd92ef1d4ea5cdd327a0fcffd8426dfbb5" jobTitle: description: The customer's job title. maxLength: 256 diff --git a/testIntegration/stagingApis/customer/shopper-login/.metadata.json b/testIntegration/stagingApis/customer/shopper-login/.metadata.json deleted file mode 100644 index eed875a9..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/.metadata.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-login/1.39.22", - "name": "Shopper Login and API Access Service", - "description": "Enable shoppers to log in more easily, stay logged in for longer, and get a more fluid and personalized shopping experience powered by Shopper APIs.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "shopper-login", - "version": "1.39.22", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Customer" - ], - "CC_Team_Name": [ - "CC-C4E" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ], - "Status": [ - "GA" - ], - "Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/customer/shopper-login/credential-quality-statistics-description.md b/testIntegration/stagingApis/customer/shopper-login/credential-quality-statistics-description.md deleted file mode 100644 index e276077a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/credential-quality-statistics-description.md +++ /dev/null @@ -1,16 +0,0 @@ -Success - Credential Quality Statistics. - -| Name | Description | -| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| username | The user's login ID, usually an email address | -| credQualityMeasure | Count of username and password exposures on dark web sites from 0 to N.
  • 0 = good credential quality
  • higher N values = more exposure
| -| pwdQualityMeasure | true or false. If true, password is compromised on the dark web. | -| pwdStrengthMeasure | Number from 0 to 4.
  • 0 = weak (less than 3^10 or 59,049 guesses)
  • 1 = fair (less than 6^10 or 60,466,176 guesses)
  • 2 = good (less than 8^10 or 1,073,741,824 guesses)
  • 3 = strong (less than 10^10 or 10,000,000,000 guesses)
  • 4 = very strong (greater than 10^10 guesses)
| -| loginCount | Count of shopper logins | -| lastLoginDatetime | Date and time of last shopper login | -| lastCredCheckDatetime | Date and time of last credential check | -| lastCredChangeDate | Date and time of last credential change | -| atoScore | A heuristic for predicting the likelihood of an ATO attack based on a scale from 1 to 10+ | -| atoLastDatetime | Date and time of the last detected ATO-related event (such as a credential stuffing attack) | -| atoLastSourceIp | The source IP address of the last detected ATO-related event | -| atoScoreHistory | List of previous ATO scores, sorted chronologically | diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange.json deleted file mode 100644 index 20f7fd61..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"shopper-login.raml","name":"Shopper Login and API Access Service","classifier":"raml","tags":[],"dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.15"},{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"}],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"shopper-login","version":"1.39.22","apiVersion":"v1","originalFormatVersion":"1.0","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","metadata":{"projectId":"2f481347-34d0-4264-8ab9-efedb15c99b5","branchId":"master","commitId":"2cd4d4363b35db873f97afe6a944e4e730d7bac4"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml deleted file mode 100644 index 1f282c6d..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/api-standards.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml - -types: - ErrorResponse: !include dataTypes/error-response.raml - Offset: Pagination.offset - Limit: Pagination.limit - -uses: - Pagination: dataTypes/pagination-types.raml - -traits: - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml deleted file mode 100644 index 40ff7f98..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/pagination-types.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - default: 10 - minimum: 1 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml deleted file mode 100644 index 240efb3e..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/example.raml +++ /dev/null @@ -1,92 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json deleted file mode 100644 index 43604496..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.8","apiVersion":"v1","dependencies":[],"metadata":{"projectId":"3ca896ab-161d-4b74-aac8-2ad01f3f8e57","branchId":"master","commitId":"8cb35217b287a4dab4e2031fcd6fbe34fb83caf1"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml deleted file mode 100644 index 3afcaaf8..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml deleted file mode 100644 index 9dde8bcd..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/offset-paginated.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: number - description: The starting offset returned. - SFDC-Pagination-Limit: - type: number - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: number - description: The total number of records available. - SFDC-Pagination-Result-Count?: - type: number - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index 4463d386..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per hour. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolFilter.json deleted file mode 100644 index 445d1d99..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "coupon_id", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolQuery.json deleted file mode 100644 index a2822b70..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "coupon_id" - ], - "searchPhrase": "limit" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "limit per customer" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/FilteredQuery.json deleted file mode 100644 index 8a066d26..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "coupon_id" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/NestedQuery.json deleted file mode 100644 index c7fde473..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shipping_addresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shipping_addresses.first_name" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shipping_addresses.last_name" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Query.json deleted file mode 100644 index e5cc5ba8..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "coupon_id" - ], - "search_phrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Range2Filter.json deleted file mode 100644 index a89863cf..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "valid_from", - "toField": "valid_to", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/RangeFilter.json deleted file mode 100644 index ce03a474..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemption_count", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchRequest.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchRequest.json deleted file mode 100644 index a71ecf4c..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchRequest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "count" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "start" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchResult.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchResult.json deleted file mode 100644 index 420658a2..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/SearchResult.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "limit" : 4, - "hits" : [], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "campaign" } }, - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermFilter.json deleted file mode 100644 index 222b23a3..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "my_id" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TextQuery.json deleted file mode 100644 index 851c9c85..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "coupon_id" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/pagination-types.raml deleted file mode 100644 index 65bbdab8..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/pagination-types.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. - type: integer - default: 10 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/search-types.raml deleted file mode 100644 index 1b23085c..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/Types/search-types.raml +++ /dev/null @@ -1,373 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - ApiStandards: pagination-types.raml - -types: - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int32 - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: array - items: - type: any - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses that 'must', 'should', or 'must not' match. If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. - type: object - example: !include ../Examples/BoolQuery.json - properties: - must?: - description: List of queries that must match. - type: array - items: - type: any - mustNot?: - description: List of queries that must not match. - type: array - items: - type: any - should?: - description: List of queries that should match. - type: array - items: - type: any - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - example: {} - NestedQuery: - description: | - **Elastic only**: Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints (like color = blue AND size = M). **Example**: Find all the documents that have firstname = "John" and lastname = "Doe". - - _This is only applicable for searches that use the Search Service._ - **NEEDS REVIEW** - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - **NEEDS REVIEW** - type: string - query: - description: The query to run on the nested document. - **NEEDS REVIEW** - type: any - scoreMode: - description: | - - **NEEDS REVIEW** - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid when querying a resource indexed by the Search Service._ - **NEEDS REVIEW** - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - **Example**: Valid dates overlap with the range January 1, 2007 through January 1, 2017. - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - **Example**: ( redemption_count BETWEEN (0,10] ) - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequest: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequest.json - properties: - limit?: - type: ApiStandards.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. - type: array - items: - type: Sort - required: false - offset?: ApiStandards.Offset - PaginatedSearchResult: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResult - example: !include ../Examples/SearchResult.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: array - required: false - items: - type: Sort - SimpleSearchResult: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SearchResult.json - properties: - limit: - type: ApiStandards.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: array - required: false - items: - type: object - offset: ApiStandards.Offset - total: Total - - Sort: - description: Document representing a sort request. - type: object - example: { "field": "coupon_id", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - **Example**: (id="my_id") - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: array - items: - type: any - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - **Elastic only**: If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. **Example**: (id="my_id") - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: array - items: - type: string - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: array - items: - type: any - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - - **Example**: (coupon_id contains "xmas") - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: array - items: - type: string - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/commerce-cloud-standards.raml deleted file mode 100644 index 6e27a24c..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/commerce-cloud-standards.raml +++ /dev/null @@ -1,80 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a securitys scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - Search: Types/search-types.raml - ApiStandards: Types/pagination-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequest - PaginatedSearchResult: Search.PaginatedSearchResult - SimpleSearchResult: Search.SimpleSearchResult - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_bcgl_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit: ApiStandards.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset: ApiStandards.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/example.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/example.raml deleted file mode 100644 index dbc81add..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/example.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 -title: An example file demonstrating the usage of the commerce cloud standards library -version: v1 - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: fd4gt8 - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - get: - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/exchange.json deleted file mode 100644 index 5a3171e4..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud API Standards","classifier":"raml-fragment","tags":["trait"],"dependencies":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"commerce-cloud-standards","version":"1.0.10","metadata":{"projectId":"aa6a9e56-2469-4ff8-afd2-261d4784b474","branchId":"master","commitId":"041b5837e7e4b649f85f4c9abe20f6921f8d6e25"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 86f76c76..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/tsob-token.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/tsob-token.raml deleted file mode 100644 index 30a8497a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/tsob-token.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Trusted System on Behalf Token OAuth Token Authentication. - TSOB authentication is done by requesting a TSOB token from SLAS using grant, hint, login_id, idp_origin, channel_id and a basic authentication header with a SLAS client id and client secret. A Shopper JWT is returned in 'access_token' of the response. The 'scp' claim from the Shopper JWT should be validated to have 'sfcc.ts_ext_in_behalf_of' scope. The shopper JWT signature should also be validated and that the Shopper JWT has not expired. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/example.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/exchange.json deleted file mode 100644 index 27b0eea7..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.18","classifier":"raml-fragment","dependencies":[],"tags":[]} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/ISO-standards.raml deleted file mode 100644 index f71d3928..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/ISO-standards.raml +++ /dev/null @@ -1,83 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/search-types.raml deleted file mode 100644 index 77d87c57..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/commerce-cloud-standards.raml deleted file mode 100644 index 5f1a0bcb..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/commerce-cloud-standards.raml +++ /dev/null @@ -1,113 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`ShopperTokenTsob`:** a security scheme for endpoints that only allow the ShopperTokenTsob token type (tsob = Trusted system on behalf). - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/example.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/exchange.json deleted file mode 100644 index 0a3e42d2..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.22/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.22"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/shopper-login-description.md b/testIntegration/stagingApis/customer/shopper-login/shopper-login-description.md deleted file mode 100644 index 8c79a22c..00000000 --- a/testIntegration/stagingApis/customer/shopper-login/shopper-login-description.md +++ /dev/null @@ -1 +0,0 @@ -SLAS (Shopper Login & API Authentication Service) APIs enable shoppers to 1) login via federation to any external IDP or 2) to Salesforce B2C Ecom system, get access token and use it to access shopper APIs. SLAS also provides APIs for SSO, refresh a token using the long-term refresh token and revoke a refresh token. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json b/testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json new file mode 100644 index 00000000..15127b2c --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/.metadata.json @@ -0,0 +1,13 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin-uap/1.12.23", + "name": "SLAS Admin-UAP", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-admin-uap", + "version": "1.12.23", + "categories": { + "CC API Family": [ + "Customer" + ] + } +} diff --git a/apis/customer/slas-admin/Examples/Client.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Client.raml similarity index 70% rename from apis/customer/slas-admin/Examples/Client.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/Client.raml index 0f9b24e4..fb449bac 100644 --- a/apis/customer/slas-admin/Examples/Client.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Client.raml @@ -4,12 +4,11 @@ value: "clientId": "client-id1", "name": "High Adventure Wear", "secret": "secret1234", - "scopes": ["sfcc.products", - "sfcc.catalogs", - "sfcc.customers:ro"], + "scopes": ["sfcc.products sfcc.catalogs sfcc.customers:ro"], "redirectUri": "http://localhost/callback", "callbackUri": "http://localhost:9010/pwd/reset/callback", "channels": ["SiteGenesis", "OtherSite"], - "privateClient": true + "privateClient": true, + "loginEpRestrict": false } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/ClientListResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientListResponse.raml similarity index 86% rename from testIntegration/stagingApis/customer/slas-admin/Examples/ClientListResponse.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientListResponse.raml index 10aed44f..10cbca8c 100644 --- a/testIntegration/stagingApis/customer/slas-admin/Examples/ClientListResponse.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientListResponse.raml @@ -14,7 +14,8 @@ value: "SiteGenesis", "OtherSite" ], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false }, { "clientId": "726bde86-7b99-415d-98ec-9290bad18904", @@ -27,7 +28,8 @@ value: "SiteGenesis", "OtherSite" ], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false }, { "clientId": "slas-default-client-1", @@ -40,7 +42,8 @@ value: "SiteGenesis", "OtherSite" ], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false } ] } diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/ClientRequest.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientRequest.raml similarity index 87% rename from testIntegration/stagingApis/customer/slas-admin/Examples/ClientRequest.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientRequest.raml index ccf23f88..720f3538 100644 --- a/testIntegration/stagingApis/customer/slas-admin/Examples/ClientRequest.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientRequest.raml @@ -13,5 +13,6 @@ value: "callbackUri": ["http://localhost:9010/pwd/reset/callback"], "channels": ["SiteGenesis", "OtherSite"], - "isPrivateClient": true + "isPrivateClient": true, + "loginEpRestrict": false } \ No newline at end of file diff --git a/apis/customer/slas-admin/Examples/ClientWithSecret.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientWithSecret.raml similarity index 87% rename from apis/customer/slas-admin/Examples/ClientWithSecret.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientWithSecret.raml index 99518e61..48e73285 100644 --- a/apis/customer/slas-admin/Examples/ClientWithSecret.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/ClientWithSecret.raml @@ -11,5 +11,6 @@ value: "callbackUri": "http://localhost:9010/pwd/reset/callback", "channels": ["SiteGenesis", "OtherSite"], - "privateClient": true + "privateClient": true, + "loginEpRestrict": false } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/IdentityProvider.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProvider.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/IdentityProvider.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProvider.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/IdentityProviderResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/IdentityProviderResponse.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdentityProviderResponse.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/IdpListResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdpListResponse.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/IdpListResponse.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/IdpListResponse.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/PasswordActionTemplate.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/PasswordActionTemplate.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplate.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/PasswordActionTemplateRequest.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/PasswordActionTemplateRequest.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/PasswordActionTemplateRequest.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/Tenant.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/Tenant.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/Tenant.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/Tenant.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/TenantDto.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantDto.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/TenantDto.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantDto.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/TenantListResponse.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantListResponse.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/TenantListResponse.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/TenantListResponse.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/UpdateTenant.raml b/testIntegration/stagingApis/customer/slas-admin-uap/Examples/UpdateTenant.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/Examples/UpdateTenant.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/Examples/UpdateTenant.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json b/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json new file mode 100644 index 00000000..8da9ae34 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "slas-admin.raml", + "name": "SLAS Admin-UAP", + "classifier": "raml", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-admin-uap", + "version": "1.12.23", + "apiVersion": "v1", + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/slas-admin-description.md b/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin-description.md similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/slas-admin-description.md rename to testIntegration/stagingApis/customer/slas-admin-uap/slas-admin-description.md diff --git a/testIntegration/stagingApis/customer/slas-admin/slas-admin.raml b/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin.raml similarity index 96% rename from testIntegration/stagingApis/customer/slas-admin/slas-admin.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/slas-admin.raml index e13d321c..dfe468b1 100644 --- a/testIntegration/stagingApis/customer/slas-admin/slas-admin.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/slas-admin.raml @@ -43,7 +43,7 @@ types: TierType: type: string description: | - This read only value relates to the ECOM realm of the customer. + This read only value relates to the B2C Comerce realm of the customer. - XS = Bronze and Bronze+ - S = Silver and Silver+ - M = Gold and Gold+ @@ -66,7 +66,11 @@ types: type: string example: "client-secret" scopes: - description: Scope + description: | + Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. + + Shopper Custom Objects additionally provides a way to do granular scoping besides the standard + `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. type: string[] example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] redirectUri: @@ -86,6 +90,12 @@ types: required: false type: boolean example: true + loginEpRestrict: + description: |- + When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + required: false + type: boolean + example: false ClientRequest: description: Used to create and update a SLAS Client @@ -103,7 +113,11 @@ types: type: string example: "client_secret" scopes: - description: SLAS scopes + description: | + Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. + + Shopper Custom Objects additionally provides a way to do granular scoping besides the standard + `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes. type: string[] example: ["sfcc.products", "sfcc.catalogs", "sfcc.customers:ro"] redirectUri: @@ -123,6 +137,12 @@ types: description: Private or Public Client. If left blank the client will default to private. type: boolean example: true + loginEpRestrict: + description: |- + When enabling (true) this will restrict all calls to the `\login` endpoint for the Client Id. When calling the `\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. + required: false + type: boolean + example: false ClientListResponse: properties: @@ -426,7 +446,7 @@ types: body: application/json: type: TenantDto - examples: !include Examples/TenantDto.raml + example: !include Examples/TenantDto.raml securedBy: - SlasSecurityScheme.BearerToken: { role: [SLAS_SERVICE_ADMIN, SLAS_ORGANIZATION_ADMIN] } responses: @@ -555,8 +575,7 @@ types: body: application/json: type: Client - examples: - Client: !include Examples/Client.raml + example: !include Examples/Client.raml put: description: Create or Update a client. Note - It is strongly advised to refrain from using the “sfcc-shopper-context.rw” scope with a PUBLIC Client because it offers fewer protections and could potentially enable malicious actors to access Shopper Context enabled promotions. It is highly recommended to use “sfcc-shopper-context.rw” scope with a private client. displayName: registerClient diff --git a/testIntegration/stagingApis/customer/slas-admin/slas-bearer-SecurityScheme.raml b/testIntegration/stagingApis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/slas-bearer-SecurityScheme.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/slas-bearer-SecurityScheme.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/.metadata.json b/testIntegration/stagingApis/customer/slas-admin/.metadata.json deleted file mode 100644 index 2aa6d471..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/.metadata.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-admin/1.12.18", - "name": "Shopper Login and API Access Admin", - "description": "Enable administrators to set up clients and identity providers for the Shopper Login API Service (SLAS).", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin", - "version": "1.12.18", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Customer" - ], - "CC_Team_Name": [ - "CC-C4E" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityResponse.raml b/testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityResponse.raml deleted file mode 100644 index ef24486a..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityResponse.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "tenantId": "aaaa_prd", - "checkCount": 40, - "credsOkay": 1024, - "repeatedCompromisedUse": 12, - "credsCompromised": 0, - "exposure1": 0, - "exposure2to4": 0, - "exposure5to9": 0, - "exposure10plus": 0, - "pwdsOkay": 47, - "pwdsCompromised": 3, - "avgPwdStrength": 5.0, - "avgCredQualityMeasure": 0.0, - "avgPwdQualityMeasure": 0.0, - "medPwdStrength": 0.0, - "medCredQualityMeasure": 0.0, - "medPwdQualityMeasure": 0.0 - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityUserResponse.raml b/testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityUserResponse.raml deleted file mode 100644 index e7a57f1d..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/Examples/CredQualityUserResponse.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "tenantId": "aaaa_prd", - "username": "joe.shopper@google.com", - "email": "joe.shopper@google.com", - "credQualityMeasure": 0, - "pwdStrengthMeasure": 0, - "pwdQualityMeasure": 0, - "credChangeCount": 0, - "loginCount": 0, - "lastLoginDatetime": 2021-08-18T16:41:41.090Z, - "lastCredcheckDatetime": 2021-08-18T16:41:41.090Z, - "atoScore": 3, - "atoLastDatetime": 2021-08-18T16:41:41.090Z, - "atoLastSourceIp": "", - "atoScoreHistory": "5, 6, 7" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/credential-quality-statistics-description.md b/testIntegration/stagingApis/customer/slas-admin/credential-quality-statistics-description.md deleted file mode 100644 index 95bfa8a2..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/credential-quality-statistics-description.md +++ /dev/null @@ -1,16 +0,0 @@ -Success - Credential Quality Statistics. - -| Name | Description | -| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| username | The user's login ID, usually an email address | -| credQualityMeasure | Count of username and password exposures on dark web sites from 0 to N.

0 = good credential quality
higher N values = more exposure | -| pwdQualityMeasure | true or false. If true, password is compromised on the dark web. | -| pwdStrengthMeasure | Number from 0 to 4.

0 = weak (< 310 guesses)
1 = fair (< 610 guesses)
2 = good (< 810 guesses)
3 = strong (< 1010 guesses)
4 = very strong | -| loginCount | Count of shopper logins | -| lastLoginDatetime | Date and time of last shopper login | -| lastCredCheckDatetime | Date and time of last credential check | -| lastCredChangeDate | Date and time of last credential change | -| atoScore | A heuristic for predicting the likelihood of an ATO attack based on a scale from 1 to 10+ | -| atoLastDatetime | Date and time of the last detected ATO-related event (such as a credential stuffing attack) | -| atoLastSourceIp | The source IP address of the last detected ATO-related event | -| atoScoreHistory | List of previous ATO scores, sorted chronologically | diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange.json b/testIntegration/stagingApis/customer/slas-admin/exchange.json deleted file mode 100644 index ceb34f03..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "main": "slas-admin.raml", - "name": "SLAS Admin", - "classifier": "raml", - "tags": [], - "dependencies": [ - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "api-standards", - "version": "1.1.15" - } - ], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin", - "version": "1.12.18", - "apiVersion": "v1", - "backwardsCompatible": false, - "originalFormatVersion": "1.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml deleted file mode 100644 index f00d58c7..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml deleted file mode 100644 index 7c1ea471..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml deleted file mode 100644 index 7b538e9a..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ /dev/null @@ -1,27 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml deleted file mode 100644 index 493e05de..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml deleted file mode 100644 index 3408cc87..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml b/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/tenant-credential-quality-statistics-description.md b/testIntegration/stagingApis/customer/slas-admin/tenant-credential-quality-statistics-description.md deleted file mode 100644 index 9244beb1..00000000 --- a/testIntegration/stagingApis/customer/slas-admin/tenant-credential-quality-statistics-description.md +++ /dev/null @@ -1,11 +0,0 @@ -Success - Credential Quality Statistics. - -| Name | Description | -| ----------------------------- | -------------------------------------------------------------------- | -| checkCount/email | count of CredQuality checks on each login | -| credsOkay | count of credentials that are not compromised | -| repeatedCompromisedUse | count of shopper logins that continue to use compromised credentials | -| credsCompromised | count of credentials that are compromised | -| exposure1, 2to4, 5to9, 10plus | count of darkweb site exposures | -| pwdsOkay | count of passwords that are not compromised | -| pwdsCompromised | count of passwords that are compromised | diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json new file mode 100644 index 00000000..a5ce2920 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/.metadata.json @@ -0,0 +1,13 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/slas-shopper-login-uap/1.39.33", + "name": "SLAS Shopper Login-UAP", + "description": "", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-shopper-login-uap", + "version": "1.39.33", + "categories": { + "CC API Family": [ + "Customer" + ] + } +} diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml new file mode 100644 index 00000000..d6b67816 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 NamedExample +value: + { + "keys": [ + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", + "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", + "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", + "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", + "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", + "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", + "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" + } + ] +} + \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json new file mode 100644 index 00000000..7a8e1177 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json @@ -0,0 +1,12 @@ +{ + "main": "shopper-login.raml", + "name": "SLAS Shopper Login-UAP", + "classifier": "raml", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "slas-shopper-login-uap", + "version": "1.39.33", + "apiVersion": "v1", + "descriptorVersion": "1.0.0", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/shopper-login/shopper-login-and-api-access-description.md b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/shopper-login-and-api-access-description.md rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login-and-api-access-description.md diff --git a/testIntegration/stagingApis/customer/shopper-login/shopper-login.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml similarity index 87% rename from testIntegration/stagingApis/customer/shopper-login/shopper-login.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml index 3b22d364..15266ef2 100644 --- a/testIntegration/stagingApis/customer/shopper-login/shopper-login.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml @@ -15,7 +15,7 @@ traits: uses: ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml types: ResponseType: type: string @@ -42,7 +42,7 @@ types: enum: [access_token, refresh_token] ThirdPartyIdps: type: string - description: IDPs that work with SLAS. Use `ecom` when using ECOM is the identity provider. + description: IDPs that work with SLAS. Use `ecom` when using B2C Commerce is the identity provider. enum: [ apple, @@ -50,6 +50,7 @@ types: azure, azure_adb2c, cognito, + default, ecom, facebook, forgerock, @@ -121,7 +122,12 @@ types: maxLength: 40 example: "z99ec276-cg53-4g94-cf72-76f300c6778zc" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: |- + The channel (B2C Commerce site) that the user is associated with. + + **Important: We strongly recommended using the channel_id query parameter because it will be required in the future. + + **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. required: false type: string maxLength: 100 @@ -130,7 +136,7 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` @@ -185,7 +191,7 @@ types: example: "1000005" enc_user_id: type: string - description: MD5 Hashed ECOM user ID in uppercase. + description: MD5 Hashed B2C Commerce user ID in uppercase. example: "45D39A8499A95288F82855427EBA99B5" idp_access_token: type: string @@ -230,7 +236,7 @@ types: maxLength: 128 example: "samantha.sampleson@example.com" idp_origin: - description: The external IDP that the user is associated with. Use `ecom` as the `idp_origin` value when using ECOM as the identity provider. + description: The external IDP that the user is associated with. Use `ecom` as the `idp_origin` value when using B2C Commerce as the identity provider. type: ThirdPartyIdps maxLength: 16 example: "google" @@ -254,13 +260,15 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` * `true` If not added the `dnt` value will default to `false`. + + Note: The default value for `dnt` is set to `false` for SLAS token requests except for Trusted Agent token request. For Trusted Agent token requests the default value for `dnt` is `true`. required: false type: string @@ -286,7 +294,7 @@ types: maxLength: 40 example: "6c388ebd-6843-4863-aef9-781382c9e8cd" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string required: true maxLength: 100 @@ -310,12 +318,18 @@ types: login_id: description: |- The ID is the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. type: string required: true maxLength: 128 example: "jack.shopper@example.com" idp_origin: - description: The IDP that the user is associated with. + description: |- + The IDP that the user is associated with. + + For TAOB Guest the `idp_origin` parameter should be `slas`. If set to any other IDP origin a 400 Bad Request will be returned. + type: string required: true maxLength: 16 @@ -329,22 +343,39 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` * `true` - If not added the `dnt` value will default to `false`. + If not added the `dnt` value will default to `true` + + Note: The default value for `dnt` is set to `true` for all TAOB flows. This is opposite from other SLAS token requests. required: false type: string example: "true" + state: + description: |- + This is an optional parameter to set state for the trusted agent session. + + If the `state` parameter is used it will be validated and a 400 Bad Request will be returned if missing or invalid. + + For TAOB Guest you must pass the `state` parameter to transfer the state from the TAOB Guest authorization call to the token call. + The `state` parameter value is returned with the authorization code in the response url from the TAOB guest authorization call, + for example: `.../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b`. + + You would use `taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b` for the `state` value in the TAOB request. + + required: false + type: string + example: "taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513" SessionBridgeTokenRequest: properties: code: description: |- - Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. + Authorization code returned from session bridge authorization received in the front channel that is used to get session bridge access tokens and refresh tokens. Required with a grant type of `session_bridge`. The SLAS client must have the `sfcc.session_bridge` scope to request a session bridge token. type: string maxLength: 256 example: "M0t1K0pyoFKhBpUZnuUYO07xf8iYyMJrAc7h31h_ra8.gglPClJHsofqdTm_yPe5n6m2yCXzFmD8qICwIEjQGVA" @@ -355,7 +386,7 @@ types: maxLength: 40 example: "6c388ebd-6843-4863-aef9-781382c9e8cd" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string required: true maxLength: 100 @@ -373,11 +404,10 @@ types: description: |- Cookie passed back from the '/authorize' endpoint call for session bridge. This parameter is optional and not needed if using the `dwsgst` parameter. - DEPRECATED - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for session-bridge/token calls. It is recommended to transition over to using a SESB `dwsgst` token. + **DEPRECATED** - As of January 31, 2024, SLAS will no longer support the SESB `dwsid` parameter for `guest` users for `session-bridge/token` calls. It is recommended to transition over to using a SESB `dwsgst` token. The `dwsid` will still be needed for `registered` user session-bridge/token calls. - type: string example: pATvWUO3KSdt-Kmcy-8-RsxKnoO4BMDwoec7ACVlW6tZNnhaOL7gt7mHqL-h7QYn5TyE61z0DeSMCqxngsWeHw== @@ -394,7 +424,7 @@ types: example: session_bridge login_id: description: |- - The ID of the shopper for session bridge access. + The ID of the shopper for session bridge access. If requesting a token for a guest user set login_id to `guest`. type: string required: true maxLength: 128 @@ -403,8 +433,17 @@ types: type: string required: false description: |- - Signed guest Json Web Token (JWT) that was obtained from ECOM. This parameter is optional and not needed if using the `dwsid` parameter. + Signed guest Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the guest `dwsid` parameter. example: eyJraWQiOiIxNjgxNTU5OTkxNzkwIiwiYWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6IkJHVk5fUzA1IiwiZHdzaWQiOiJuWHRhckdNU2ZxbnBaSUNJUGFKTHJSWGZ6b2lWYXBBU3BBTFNfeFdUMV9QZjRBWDA0N1lMQ1dSUFByM1BiSEl4d2RaODFiVGZoM3M1Wlgza2NhOG0zZz09IiwiY3VzdG9tZXJJZCI6ImJjQXI5N2NuMm1ZdmhjMGhqTGsxYmFXSzRqIiwiaWF0IjoxNjg1MTI4NjM2LCJleHAiOjE2ODUxMjkyMzksImlzcyI6ImNvbW1lcmNlY2xvdWQvcHJvZHVjdGlvbi9iZ3ZuczA1IiwidmVycyI6IjEiLCJ0eXBlIjoiRyJ9.BGY4kyOXbQSzZxubE3BrSzhf8ByehGUfJa7_J2XRQ93xY4dAOhF_xbXcHmBaEUBUzSny-Cf0pATzEaSsKpTxkg + dwsrst: + type: string + required: false + description: |- + Signed registered customer Json Web Token (JWT) that was obtained from B2C Commerce. This parameter is optional and not needed if using the registered user `dwsid` parameter. + + **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. + + example: eyJraWQiOiIxNjMwOTM5MzAyODE0IiwiYWxnIjoiRVMyNTYifQ.eyJmbmFtZSI6Ikx1a2UiLCJkd3NpZCI6IkdkWWpSQjViZGVpU0xkb3Ixdy15QzRTZ1l3dDJHYl9Ec255OG5nZ2I3c0VDajVMWndnT0ZJWTZsa21sNlVRMXZoazl1SDVJUGxMek5rZTJhNTV2YU9nPT0iLCJ2ZXJzIjoiMiIsImlzcyI6InNsYXMvZGV2L2Jndm5fc3RnIiwidHlwZSI6IlIiLCJsbmFtZSI6IlNreXdhbGtlciIsInJjdXN0b21lcklkIjoiOGgzNHh6dDQxOTVpOHA1MmE2ejAzczIxNDgiLCJwaG9uZSI6bnVsbCwidGVuYW50SWQiOiJiZ3ZuX3N0ZyIsImN1c3RvbWVySWQiOiI0OHB1eXA4dTdmMmM5NHgzMTUxeDA4bGEweiIsImV4cCI6MTczNTE1NDQ4NiwiaWF0IjoxNzMyNTYyNDg2LCJlbWFpbCI6Imx1a2Uuc2t5d2Fsa2VyQG5hYm9vLm9yZyJ9.Q2nF0wuEl1X7aVZ-ycCwxDjjmq5toJred5AEDqKXXjj89BY_0HIQoAEMbx9UDqOmhjdBkxN4idVzYVoXcl0c2A usid: type: string required: false @@ -414,7 +453,7 @@ types: description: |- This is an optional parameter to set `Do Not Track` for the session. - SLAS is making this available, but will not be used by ECOM until after the 24.4 release. + SLAS is making this available, but will not be used by B2C Commerce until after the 24.4 release. Values are: * `false` @@ -427,7 +466,7 @@ types: example: "true" PasswordlessLoginRequest: type: object - description: A request for a passwordless login token. This is only available for resgistered users using ECOM. + description: A request for a passwordless login token. This is only available for resgistered users using B2C Commerce. properties: user_id: description: User ID for logging in. @@ -449,7 +488,7 @@ types: type: string example: 18cda486-fe32-4e27-888b-6e4f89938e67 channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string maxLength: 100 example: "RefArch" @@ -463,7 +502,7 @@ types: example: "http://localhost:9050/passwordless/login/callback" PasswordActionRequest: type: object - description: A request for a password reset token. This is only available for resgistered users using ECOM. + description: A request for a password reset token. This is only available for resgistered users using B2C Commerce. properties: user_id: description: User ID for logging in. This is the id that is used to log into SFCC. @@ -475,7 +514,7 @@ types: type: PasswordActionModes example: "callback" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string example: "RefArch" locale: @@ -484,7 +523,10 @@ types: type: string example: "en-us" client_id: - description: The public client ID. Requires setting `grant_type` to `passwordless_login_pkce` + description: -| + The public client ID. Requires setting `grant_type` to `passwordless_login_pkce`. + + When using the `hint` query parameter either a public or private client ID can be used. required: false type: string maxLength: 40 @@ -516,12 +558,21 @@ types: required: false type: string example: "okta" + hint: + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. + required: false + type: string + example: "cross_device" + PasswordActionVerifyRequest: type: object description: A request for creating a new password using the password action token. properties: client_id: - description: The public client ID. + description: -| + The public client ID. + + When using the `hint` query parameter either a public or private client ID can be used. type: string maxLength: 40 example: "6b200ebd-7843-4073-aef9-792482c9e1de" @@ -543,11 +594,17 @@ types: type: string example: "new_password" channel_id: - description: The channel that the request is for. For an ECOM request, this is angalous to the site ID. + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. required: true type: string maxLength: 100 example: "RefArch" + hint: + description: Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. + required: false + type: string + example: "cross_device" + PasswordLessLoginTokenRequest: type: object description: A request for an access token using a passwordless token. @@ -617,8 +674,18 @@ types: type: string required: false example: "Missing access token or refresh token." - LoginRequest: + JwksSuccessResponse: type: object + properties: + keys: + type: array + LoginRequest: + description: |- + Supports multiple custom parameters to invoke hooks in B2C Commerce API. Multiple custom parameters can be added. Use the `c_` prefix to distinguish custom query parameters from standard query parameters, for example: c_captcha=true + + If there is a validation error, a 400 Bad_Request with the details of the error is thrown. + type: + CommerceCloudStandards.OpenObject properties: client_id: description: SLAS client ID. Required when the grant type is `authorization_code_pkce`. @@ -661,7 +728,7 @@ types: type: string example: "18cda486-fe32-4e27-888b-6e4f89938e67" channel_id: - description: The channel that the request is for. For an ECOM request, this is angalous to the site ID. + description: The channel that the request is for. For a B2C Commerce request, this is angalous to the site ID. required: true type: string maxLength: 100 @@ -680,17 +747,18 @@ types: minLength: 43 maxLength: 128 example: "krc5G3_5lRUcXDUzFZQ88oJA_-ZmlHWkyGsgOrSLEWg" + /organizations/{organizationId}: type: CommerceCloudStandards.Organization /oauth2: /login: description: | **Deprecation notice**: The `GET` method is deprecated for this endpoint. Please use `POST` instead. - Get authorization code after authenticating a user using a B2C Commerce (ECOM) instance. + Get authorization code after authenticating a user using a B2C Commerce (B2C Commerce) instance. post: description: | - Logs in a shopper with credentials that are managed by a B2C Commerce instance (ECOM). It follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). + Logs in a shopper with credentials that are managed by a B2C Commerce instance (B2C Commerce). It follows the authorization code grant flow as defined by the OAuth 2.1 standard. It also uses a proof key for code exchange (PKCE). For PKCE values: - The `code_verifier` string is a random string used for the `/token` endpoint request. @@ -724,21 +792,18 @@ types: type: LoginRequest responses: 303: - description: Success. The authorization code is added to the `redirect_uri`. + description: Success. The authorization code and usid is added to the location header and sent to the callback as query parameters. body: application/json: type: string example: | - { - "authorizationCode": "eyJ2ZXIiOiIxLjAiLCJraWQiOiJTTEFTIiwidHlwIjoiand0IiwiY2x2IjoiS", - "usid": "156c4e69-e89b-406b-a4b7-576980bb234e" - } + location: https://:/callback?usid=d11392ae-cbf0-4296-9723-8f9f0e49fd73&state=1728422547223&scope=openid%20offline_access&code=561X8NOKvoRezq2aucazwwkrevUoIP37YRTfsRHX8ow 400: description: Bad Request body: application/problem+json: type: Oauth2ErrorResponse - example: | + example: |- { "error": "invalid_request", "error_description": "Bad or missing client_id." @@ -774,7 +839,7 @@ types: "error_description": "The server has encountered a situation that it doesn't know how to handle." } /passwordless/login: - description: Log in a customer using Core with their customer profiles loaded in ECOM. Allows the user to authenticate when their identity provider (Core) is down. Client must have the `sfcc.pwdless_login` scope to access this endpoint. + description: Log in a customer using Core with their customer profiles loaded in B2C Commerce. Allows the user to authenticate when their identity provider (Core) is down. The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. post: description: Allows the customer to authenticate when their identity provider is down. displayName: authorizePasswordlessCustomer @@ -835,7 +900,7 @@ types: description: Log out a shopper. get: description: |- - Log out a shopper. The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (ECOM) instance, the OCAPI JWT is also revoked. This should be called for Registered users that have logged in using SLAS. his should be called for registered users that have logged in using SLAS. This endpoint is not for use with guest users. + Log out a shopper. The shopper's access token and refresh token are revoked. If the shopper authenticated with a B2C Commerce (B2C Commerce) instance, the OCAPI JWT is also revoked. This should be called for Registered users that have logged in using SLAS. his should be called for registered users that have logged in using SLAS. This endpoint is not for use with guest users. Required header: Authorization header bearer token of the Shopper access token to logout. @@ -865,7 +930,7 @@ types: required: true type: string channel_id: - description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with ECOM. + description: The `channel_id` parameter must be provided if the shopper authenticated using the `login` endpoint with B2C Commerce. required: false type: string maxLength: 100 @@ -984,13 +1049,13 @@ types: To use a public client, set `hint` to `guest` and use a public client ID to get an authorization code. If no `hint` is provided, the preferred IDP of the tenant is used by default. - For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. + For session bridge authorization the `hint` should be set to `sb-user` for a registered customer and to `sb-guest` for a guest. For session bridge authorization the SLAS Client `sfcc.session_bridge` scope. required: false type: string maxLength: 256 example: "google" channel_id: - description: The channel that this request is for. For an ECOM request, this is angalous to the site ID. + description: The channel that this request is for. For a B2C Commerce request, this is angalous to the site ID. required: false type: string maxLength: 100 @@ -1002,7 +1067,7 @@ types: The `code_challenge` is created by SHA256 hashing the `code_verifier` and Base64 encoding the resulting hash. The `code_verifier` should be a high entropy cryptographically random string with a minimum of 43 characters and a maximum of 128 characters. - required: true + required: false type: string minLength: 43 maxLength: 128 @@ -1016,7 +1081,7 @@ types: type: string maxLength: 256 example: "en es-A fr-CA" - + responses: 303: description: Success. The authorization code is added to the `redirect_uri`. @@ -1076,6 +1141,8 @@ types: See the Body section for required parameters, including `grant_type` and others, depending on the value of `grant_type`. **Important**: We strongly recommended using the `channel_id` query parameter because **it will be required in the future**. + + **NOTE - As of July 31, 2024**, SLAS will be requiring the `channel_id` query parameter in token requests. displayName: getAccessToken is: - SlasRateLimit: @@ -1143,11 +1210,12 @@ types: "error_description": "The server has encountered a situation that it doesn't know how to handle." } /session-bridge/token: - description: Evaluate the session bridge authorization code and issue a shopper token (JWT). + description: Evaluate the session bridge authorization code and issue a shopper token (JWT). The SLAS client must have the `sfcc.session_bridge` scope to access this endpoint. + post: description: |- - Get a shopper JWT access token for a registered customer using session bridge. - + Get a shopper JWT access token for a registered customer using session bridge. + For public client id requests the grant_type must be set to `session_bridge`. For private client_id and secret the grant_type must be set to `client_credentials` along with a basic authorization header. @@ -1156,6 +1224,8 @@ types: The `dwsid` will still be needed for `registered` user `session-bridge/token` calls. + **NOTE:** The registered customer Json Web Token (JWT) will be available in ECOM versions 25.4 and higher. + displayName: getSessionBridgeAccessToken is: - SlasRateLimit: @@ -1219,9 +1289,13 @@ types: description: Shopper OAuth 2.1 token endpoint. post: description: |- - Get a shopper JWT access token for a registered customer whose credentials are stored using a third party system. + Get a shopper JWT access token for a registered customer whose credentials are stored using a third party. The SLAS client must have the `sfcc.ts_ext_on_behalf_of` scope to access this endpoint. + + + For trusted-system requests, a basic authorization header that includes a SLAS private client ID and SLAS private client secret can be used in place of the bearer token. - For trusted-system requests, a basic authorization header that includes a SLAS client ID and SLAS client secret can be used in place of the bearer token. + + For trusted-system requests SLAS public client_ids can not be used. displayName: getTrustedSystemAccessToken is: @@ -1300,7 +1374,7 @@ types: "error_description": "The server has encountered a situation that it doesn't know how to handle." } /trusted-agent/authorize: - description: Obtains a new agent on behalf authorization token for a registered customer. + description: Obtains a new agent on behalf authorization token for a registered customer. The SLAS client must have the `sfcc.ta_ext_on_behalf_of` scope to access this endpoint. get: description: Obtains a new agent on behalf authorization token for a registered customer. displayName: getTrustedAgentAuthorizationToken @@ -1318,7 +1392,7 @@ types: maxLength: 40 example: "6c388ebd-6843-4863-aef9-781382c9e8cd" channel_id: - description: The channel (ECOM site) that the user is associated with. + description: The channel (B2C Commerce site) that the user is associated with. type: string required: true maxLength: 100 @@ -1339,11 +1413,16 @@ types: login_id: description: |- The ID of the shopper for trusted agent access. + + For TAOB Guest the `login_id` must be set to `Guest`. type: string maxLength: 128 example: "jack.shopper@example.com" idp_origin: - description: The IDP that the shopper is associated with. + description: |- + The IDP that the shopper is associated with. + + For TAOB Guest the `idp_origin` must be set to `slas`. This is standard for SLAS Guest requests. If any other `idp_origin` value is used, SLAS returns a bad request. type: string required: true maxLength: 16 @@ -1411,8 +1490,10 @@ types: The value of the `_sfdc_client_auth` header must be a Base64-encoded string. The string is composed of a SLAS private client ID and client secret, separated by a colon (`:`). For example, `privateClientId:privateClientsecret` becomes `cHJpdmF0ZUNsaWVudElkOnByaXZhdGVDbGllbnRzZWNyZXQ=` after Base64 encoding. displayName: getTrustedAgentAccessToken securedBy: - - CommerceCloudStandards.BearerToken: - { Bearer J1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw } + - CommerceCloudStandards.ShopperToken: + { + Bearer eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw, + } is: - SlasRateLimit: responseStatus: 200 @@ -1489,7 +1570,10 @@ types: } /password: /reset: - description: Request a password reset token. The password reset token will be sent to the shopper using a redirect URI back to the merchant who will then send the token to the customer. + description: -| + Request a password reset token. The password reset token will be sent to the shopper using a redirect URI back to the merchant who will then send the token to the customer. + + Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_verifier for password reset request. If the `hint` query parameter is used it must also have been used in the password action request. post: description: Request a reset password token displayName: getPasswordResetToken @@ -1537,7 +1621,12 @@ types: } /action: - description: Creates a new password. Creates a new password that is passed in with the password action token that was sent from the `/password/reset` endpoint. + description: -| + Creates a new password. Creates a new password that is passed in with the password action token that was sent from the `/password/reset` endpoint. + + Adding a `hint` query parameter with a value of `cross_device` will remove the need to have the code_challenge for password reset request. If the `hint` query parameter is used it must also be used in the password reset request. + + When using the `hint` query parameter either a public or private client_id can be used. post: description: Creates a new password displayName: resetPassword @@ -1591,7 +1680,7 @@ types: "error_description": "A service that the server relies on is down or is having difficulty." } /passwordless/token: - description: Evaluate the passwordless token and issue a shopper token (JWT). + description: Evaluate the passwordless token and issue a shopper token (JWT). The SLAS client must have the `sfcc.pwdless_login` scope to access this endpoint. post: description: Issue a shopper token (JWT). displayName: getPasswordLessAccessToken @@ -1815,7 +1904,7 @@ types: # example: "eyJ2ZXIiOiIxLjAiLCJraWQiOiI0ZTQyNTFkOS0zM2Y2LTRjMTMtYjZmZC1mOWJkNTJmYTZhNDciLCJ0eXAiOiJqd3QiLCJjbHYiOiJKMi4xLjAiLCJhbGciOiJFUzI1NiJ9.eyJhdXQiOiJHVUlEIiwic2NwIjoic2ZjYy5wcm9kdWN0cy5ybyBzZmNjLmNhdGFsb2dzLnJvIHNmY2Muc2hvcHBlci5ydyIsInN1YiI6ImNjLXNsYXM6OnNsc2FfZGV2OjpzY2lkOjU1M2FjOGFjLTRkYjktNGVkMy04MjVjLTNhZTNiZjVkMzI3Yjo6dXNpZDoxY2E3OWZiNi0xYjIyLTRmOWItOGJiNi05YmU5NWNjMjA4NjMiLCJjdHgiOiJzbGFzLm5vdF9mb3JfZXh0ZXJuYWxfdXNlIiwiaXNzIjoic2xhcy9kZXYvc2xzYV9kZXYiLCJpc3QiOjEsImF1ZCI6ImNvbW1lcmNlY2xvdWQvZGV2L3Nsc2FfZGV2IiwibmJmIjoxNTk0NzY0MDgwLCJzdHkiOiJVc2VyIiwiaXNiIjoidWlkbzpzbGFzOjp1cG46R3Vlc3Q6OnVpZG46R3Vlc3QgVXNlciIsImV4cCI6MTU5NDc2NTkxMCwiaWF0IjoxNTk0NzY0MTEwLCJqdGkiOiJDMkMxNjM0NTE0NTEwLTE3MTQzMTg2NzY0MjcwNTcyNjQ2NTYxMzgifQ.UVYAsWXCn3hoUPy8vLlc7O96RZEHD3N3ZgdNH-ZVvJ1G-R6uJ2VPrYvwKmYXF41Ujm2bo83AYOHVqEEEPT8Kgw" queryParameters: channel_id: - description: Used when getting user information for a SFCC login. For an ECOM customer, this is angalous to the site ID. Required when getting user information for an ECOM customer. + description: Used when getting user information for a SFCC login. For an B2C Commerce customer, this is angalous to the site ID. Required when getting user information for an B2C Commerce customer. required: false maxLength: 100 type: string @@ -1867,7 +1956,7 @@ types: description: | Returns a JSON listing of the OpenID/OAuth endpoints, supported scopes and claims, public keys used to sign the tokens, and other details. - For performance purposes, the `/jwks` endpoint is rate limited to 25 call per minute. + For performance purposes, the `/.well-known/openid-configuration` endpoint is rate limited to 25 call per minute. displayName: getWellknownOpenidConfiguration responses: 200: @@ -1938,42 +2027,26 @@ types: } /jwks: description: | - The JSON Web Key Set (JWKS) is a set of keys that contains the public keys used to verify any JSON Web Token (JWT) issued by the authorization server and signed using the EC256 signing algorithm. + The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. + + To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - For performance purposes, the `/jwks` endpoint is rate limited to 25 call per minute. + For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html get: description: | - Returns a JSON Web Key Set (JWKS) containing the current, past, and future public keys. The key set enables clients to validate the Shopper JSON Web Token (JWT) issued by SLAS. + The `/jwks` endpoint provides a JSON Web Key Set (JWKS) that includes current, past, and future public keys. These keys allow clients to validate the Shopper JSON Web Token (JWT) issued by SLAS, ensuring that no tampering has occurred with the token. Every SLAS JWT that is passed into SLAS, SCAPI, or OCAPI is always validated and is rejected if the signature validation does not match. + + To optimize performance, the `/jwks` endpoint is limited to 25 calls per minute, so it is recommended to cache the JWKS keys and refresh them only when necessary, instead of making frequent requests. Typically, the JWKs endpoint can be used once per DAY. - For performance purposes, the `/jwks` endpoint is rate limited to 25 call per minute. + For additional information on using JWKS, see https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-validate-jwt-with-jwks.html displayName: getJwksUri responses: 200: - description: Success + description: Success, the response body contains the JWKS keys. body: - application/json: - type: string - example: | - { - "keys": [ - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", - "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", - "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" - }, - { - "kty": "EC", - "crv": "P-256", - "use": "sig", - "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", - "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", - "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" - } - ] - } + type: JwksSuccessResponse + examples: + JwksSuccessResponse: !include examples/jwks-get-response.raml 400: description: Bad Request body: diff --git a/testIntegration/stagingApis/customer/shopper-login/slasJWT-BearerSecurityScheme.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/slasJWT-BearerSecurityScheme.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/slasJWT-BearerSecurityScheme.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/traits/private/slasRateLimitHeaders.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/traits/private/slasRateLimitHeaders.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/private/slasRateLimitHeaders.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/traits/slasRateLimit.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/traits/slasRateLimit.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/traits/slasRateLimit.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json new file mode 100644 index 00000000..862938c7 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json @@ -0,0 +1,19 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/data-discovery-ingestion/2.1.10", + "name": "Data Discovery Ingestion", + "description": "Overview", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "data-discovery-ingestion", + "version": "2.1.10", + "categories": { + "API layer": [ + "Process" + ], + "CC API Family": [ + "Discovery" + ], + "CC Version Status": [ + "GA" + ] + } +} diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml new file mode 100644 index 00000000..322e9077 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml @@ -0,0 +1,6 @@ +#%RAML 1.0 DataType + +description: The algorithm used for hashing the file. +enum: + - SHA_256 +example: SHA_256 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml new file mode 100644 index 00000000..2402cd83 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType + +description: The file upload and validation status. +enum: + - WAITING + - VALIDATING + - SUCCESS + - HASH_FAILURE + - TRANSFER_FAILURE + - FILE_FORMAT_FAILURE + - FILE_SIZE_LIMIT_FAILURE +example: SUCCESS diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml new file mode 100644 index 00000000..1686c763 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType + +description: The ingestion process action to be executed. The REPLACE will overwrite any existing data if a collision occurs. +type: + enum: + - REPLACE + - MERGE_AND_CREATE + - MERGE_IF_EXISTS +example: REPLACE \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml new file mode 100644 index 00000000..d4e0ebfc --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType + +description: The Ingestion Job status. +enum: + - SCHEDULED + - ACCEPTED + - REJECTED + - IN_PROGRESS + - COMPLETED + - FAILED +example: ACCEPTED \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml new file mode 100644 index 00000000..27104178 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType + +description: The REST verb to be used for calling the URL. +enum: + - POST + - PUT +example: PUT \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml new file mode 100644 index 00000000..618b8d08 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 Library + +types: + + DataTransferRecordId: + description: The unique idenfitier of a Data Transfer Record. + type: string + example: a607ab82-5f3d-11ea-bc55-0242ac130003 + + IngestionJobId: + description: The unique idenfitier of an Ingestion Job. + type: string + example: cb95f974-5f3f-11ea-bc55-0242ac130003 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml new file mode 100644 index 00000000..00cbc150 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml @@ -0,0 +1,155 @@ +#%RAML 1.0 +version: v2 +title: Data Discovery Ingestion + +uses: + ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml + IngestionLibrary: discovery-ingestion-library.raml + IngestionJob: ingestion-job.raml + DataTransferRecord: data-transfer-record.raml + ErrorTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml + RamlToJaxrs: ramltojaxrs.raml + +mediaType: application/json +protocols: [HTTPS] +baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/ingestion/{version} +baseUriParameters: + shortCode: + description: A region-specific merchant identifier. + pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ + example: 0dnz6oep + version: DiscoveryStandards.Version + +description: These APIs are responsible for uploading the catalog files by creating a Data Transfer Record and then ingesting them using the Ingestion Job endpoints. Once the ingestion process is over, it provides the Data Set the ability to consume the data on which the query operation can be performed. + +(RamlToJaxrs.resources): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.responses): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.responseClasses): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.methods): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.types): + plugins: + - name: ramltojaxrs.chainSetter + +/organizations/{organizationId}/data-sets/{dataSetId}: + type: CommerceCloudStandards.Organization + uriParameters: + dataSetId: DiscoveryStandards.DataSetId + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.TenantTier + patch: + description: Ingest the data associated with the Data Transfer Record IDs to provide the ability to the Data Set to consume it for querying. This is a prerequisite step before using the query endpoint. + displayName: updateDataSet + is: + - DiscoveryStandards.ResourceCommonErrors + body: + type: IngestionJob.IngestionInput + responses: + 202: + description: Data Transfer Record details are accepted for the ingestion process and use the link in the headers to track the progress of the ingenstion job process. + headers: + Location: + type: string + description: The location to track the ingestion progress. + example: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/ingestion/v2/organizations/org-id/data-sets/a607ab82-5f3d-11ea-bc55-0242ac130003/ingestion-jobs/cb95f974-5f3f-11ea-bc55-0242ac130003 + body: + type: IngestionJob.IngestionOutput + + /data-transfer-records: + type: CommerceCloudStandards.Organization + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + post: + description: Catalog files are not uploaded directly into the platform. The process is initiated by creating a Data Transfer Record, which provides a URL where the file has to be uploaded to be used by the platform. This endpoint creates a Data Transfer Record which contains the information about a catalog and a location with some header information in the response. + displayName: createDataTransferRecord + is: + - ApiStandards.SyncCreated: + responseType: DataTransferRecord.DataTransferRecordCreationOutput + resourcePath: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-transfer-records + body: + type: DataTransferRecord.DataTransferRecordCreationInput + get: + description: To retrieve all the created Data Transfer Records associated with a Data Set based on optional custom filters. The Data Transfer Records received will be sorted based on the earliest creation time. + displayName: getDataTransferRecords + is: + - DiscoveryStandards.Filterable + - ApiStandards.OffsetPaginated: + maxLimit: 50 + defaultSize: 10 + responses: + 200: + description: Returned all the Data Transfer Records associated with a Data Set ordered based on the earliest creation time. + body: + type: DataTransferRecord.DataTransferRecordsBulkResponse + + /data-transfer-records/{dataTransferRecordId}: + type: CommerceCloudStandards.Organization + uriParameters: + dataTransferRecordId: IngestionLibrary.DataTransferRecordId + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + get: + description: Returns the Data Transfer Record identified by its ID associated with a particular Data Set. Can be used for tracking the progress of the upload and validation process of your file. + displayName: getDataTransferRecord + responses: + 200: + description: Successfully returned details about the Data Transfer Record. + body: + type: DataTransferRecord.DataTransferRecord + + /ingestion-jobs: + type: CommerceCloudStandards.Organization + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + get: + description: Retrieves the execution status of all the custom filtered Ingestion Jobs along with a count of failed and successfully ingested items during the process. + displayName: getIngestionJobs + is: + - DiscoveryStandards.Filterable + - ApiStandards.OffsetPaginated: + maxLimit: 50 + defaultSize: 10 + queryParameters: + statuses?: + description: List of Ingestion Job statuses. + type: string[] + items: + IngestionLibrary.IngestionStatus + example: [ ACCEPTED, SCHEDULED ] + responses: + 200: + description: Returned the bulk status of all the Ingestion Jobs that match the refinement criteria. If the given inputs don't match any of the ingestion jobs, empty collection is returned. + body: + type: IngestionJob.IngestionJobsBulkStatus + + /ingestion-jobs/{ingestionJobId}: + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + uriParameters: + ingestionJobId: IngestionLibrary.IngestionJobId + get: + description: Track the progress of the Ingestion Job process. The link to the ingestionJobId is received from the response header of the updateDataTransferRecords endpoint. + displayName: getIngestionJob + responses: + 200: + description: Successfully retrieved the Ingestion Job status. + body: + type: IngestionJob.IngestionJob diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml new file mode 100644 index 00000000..2b4f012e --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml @@ -0,0 +1,127 @@ +#%RAML 1.0 Library +uses: + ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml + IngestionLibrary: discovery-ingestion-library.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + +types: + FileCommonAttributes: + description: File upload common attributes used by different data types. + type: CommerceCloudStandards.ClosedObject + properties: + fileName: + description: The name of the file. + type: string + example: file1.dat + hashAlgorithm: IngestionLibrary.FileHashAlgorithm + fileHash: + description: The expected hash of the file. + type: string + example: 35245312A7EB9A085F57A3031D29FD7E78B8ED9FDE52AB35957F20C68F79F168 + + DataTransferRecordCommonAttributesWithFileData: + description: Common attributes of the Data Transfer Record including the file data that are used by multiple data types. + type: FileCommonAttributes + properties: + dataTransferRecordId: IngestionLibrary.DataTransferRecordId + validationStatus: IngestionLibrary.FileStatus + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + + DataTransferRecordCommonAttributes: + description: Common attributes of the Data Transfer Record excluding the file data. + type: CommerceCloudStandards.ClosedObject + properties: + dataTransferRecordId: IngestionLibrary.DataTransferRecordId + validationStatus: IngestionLibrary.FileStatus + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + + DataTransferRecord: + description: Details about the Data Transfer Record. + type: DataTransferRecordCommonAttributesWithFileData + properties: + uploadLinkDetails: UploadLinkDetails + + DataTransferRecordCreationInput: + description: The information describing the data file. + type: FileCommonAttributes + properties: + expirationDurationInMinutes?: + description: The number of minutes to keep the upload link active. + type: integer + example: 10 + minimum: 1 + maximum: 30 + default: 5 + + DataTransferRecordCreationOutput: + description: Details about the created Data Transfer Record. + type: CommerceCloudStandards.ClosedObject + properties: + dataTransferRecordId: IngestionLibrary.DataTransferRecordId + uploadLinkDetails: UploadLinkDetails + creationDateTime: DiscoveryStandards.CreationDateTime + + DataTransferRecordsBulkResponse: + type: CommerceCloudStandards.ClosedObject + description: Details of all the custom filtered Data Transfer Records associated with the Data Set. + properties: + hits: + description: Bulk status of the Data Transfer Records. + type: DataTransferRecordStatus[] + limit: + type: ApiStandards.Limit + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. + offset: ApiStandards.Offset + total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + + DataTransferRecordStatus: + description: Details and status of the Data Transfer Records. + type: DataTransferRecordCommonAttributes + properties: + fileName: + description: The name of the file. + type: string + example: file1.dat + links: + type: DiscoveryStandards.ResourceLink + examples: + links: + self: + href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-transfer-records/a607ab82-5f3d-11ea-bc55-0242ac130003 + + UploadLinkDetails: + description: Details about the data file. + type: CommerceCloudStandards.ClosedObject + properties: + url: + description: The URL containing the location to be used for transferring the data file. + type: string + example: https://{upload-bucket-name}/04e0da11-cc0c-4306-9761-e20739347a5f/3130aae1-0137-48d3-882e-94b8beb782aa + uploadMethod: IngestionLibrary.UploadMethod + headers: + description: A collection of headers used by the API. + type: Header[] + expirationDateTime: + description: The expiry of the URL link. The file transfer must happen before this time. + type: datetime + example: 2019-03-19T12:34:56Z + + Header: + description: Headers used by the API. + type: CommerceCloudStandards.ClosedObject + properties: + name: + description: The key of the header value. + type: string + example: Content-Type + value: + description: The value of the header key used. + type: string + example: text/plain diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml new file mode 100644 index 00000000..13a57bf7 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml @@ -0,0 +1,21 @@ +#%RAML 1.0 Library + +uses: + IDs: Types/identifiers.raml + +types: + + # Resource Indentifiers + DataTransferRecordId: IDs.DataTransferRecordId + IngestionJobId: IDs.IngestionJobId + + # Validation Status + FileStatus: !include Types/enums/file-upload-status.raml + IngestionStatus: !include Types/enums/ingestion-job-status.raml + + # Algorihtm + FileHashAlgorithm: !include Types/enums/file-hash-algorithm.raml + + # Method + UploadMethod: !include Types/enums/upload-method.raml + IngestionBehavior: !include Types/enums/ingestion-behavior.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json new file mode 100644 index 00000000..cfdb209d --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json @@ -0,0 +1 @@ +{"main":"data-discovery-ingestion.raml","name":"Data Discovery Ingestion","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"data-discovery-ingestion","version":"2.1.10","metadata":{"branchId":"master","commitId":"866a61285bacf9be73b33eff3141e2a139269c42","projectId":"51669549-c541-40ba-a094-b4f0bb8fa323"},"apiVersion":"v2","classifier":"raml","dependencies":[{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.12"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.28"}],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/SecuritySchemes/am-oauth-2.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/bearer-token.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.10/SecuritySchemes/shopper-token.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml similarity index 77% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml index f71d3928..0dc2f69e 100644 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/ISO-standards.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml @@ -65,19 +65,3 @@ types: default: default enum: - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml similarity index 100% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml similarity index 95% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml index 4530d24e..fa1a4f62 100644 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/Types/search-types.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml @@ -165,22 +165,20 @@ types: example: !include ../Examples/Range2Filter.json properties: filterMode: - description: 'Compare mode: overlap, containing, or contained.' + description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' type: string enum: - overlap - containing - contained - default: overlap required: false fromField: description: The field name of the field that starts the first range. type: string fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. + description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. type: boolean required: false - default: true fromValue: description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. type: any @@ -189,10 +187,9 @@ types: description: The field name of the field that ends the first range. type: string toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. + description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. type: boolean required: false - default: true toValue: description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. type: any @@ -213,19 +210,17 @@ types: type: any required: false fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. + description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. type: boolean required: false - default: true to: description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. type: any required: false toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. + description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. type: boolean required: false - default: true SearchRequestBase: description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. type: object diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml similarity index 92% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml index 0a2aefa8..d2715da7 100644 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/commerce-cloud-standards.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml @@ -34,10 +34,6 @@ usage: |- - **`LanguageCode`:** ISO 639-1 compliant language code. - **`CountryCode `:** ISO 3166-1 compliant country code. - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. # Resource Types @@ -58,7 +54,6 @@ uses: Search: Types/search-types.raml Pagination: Types/pagination-types.raml ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml securitySchemes: AmOAuth2: !include SecuritySchemes/am-oauth-2.raml @@ -81,9 +76,6 @@ types: LanguageCode: ISO.Language CountryCode: ISO.Country LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition ClosedObject: AdditionalProperties.NoPropertiesAllowed OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/example.raml rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json similarity index 88% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json rename to testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json index 29053699..89227bf1 100644 --- a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json @@ -1 +1 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file +{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json new file mode 100644 index 00000000..5fa11f58 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", + "title": "Authentication Failure", + "detail": "Authentication failed due to missing or invalid token.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json new file mode 100644 index 00000000..c8a35b8c --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", + "title": "Authorization Failure", + "detail": "The provided credentials are not authorized to access this resource.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json new file mode 100644 index 00000000..67f7a9b1 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", + "title": "Internal Server Error", + "detail": "There was an error completing your request.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json new file mode 100644 index 00000000..7d87b944 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", + "title": "Invalid Request", + "detail": "The provided request information is of an invalid format.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json new file mode 100644 index 00000000..04283b9e --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json @@ -0,0 +1,18 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", + "title": "Limit Exceeded", + "detail": "You have exceeded a limit for the provided attibutes.", + "instance": "{Resource URI}", + "limits": [ + { + "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", + "count": 90, + "limit": 50 + }, + { + "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", + "count": 15, + "limit": 12 + } + ] +} diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json new file mode 100644 index 00000000..ad324f32 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", + "title": "Non-Readable HTTP Message", + "detail": "The request could not be processed.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json new file mode 100644 index 00000000..c8ef3747 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", + "title": "Resource Not Found", + "detail": "The requested {resource} was not found.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json new file mode 100644 index 00000000..023db860 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json @@ -0,0 +1,7 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", + "title": "Rate Limit Reached", + "detail": "The request could not be processed due to the current volume of requests.", + "instance": "{Resource URI}", + "requestLimit": 1000 +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json new file mode 100644 index 00000000..e8511a4c --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", + "title": "Service Unavailable", + "detail": "The server is temporarily unable to handle the request.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml new file mode 100644 index 00000000..e5b112f3 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 Trait + +usage: | + To be used to wrap common errors into a single trait include. + +uses: + ErrorTypes: ../discovery-error-types.raml + +responses: + 400: + description: Bad Request. + body: + application/problem+json: + type: ErrorTypes.BadRequest + 401: + description: Authentication Failure. + body: + application/problem+json: + type: ErrorTypes.AuthenticationFailure + 403: + description: Authorization Failure. + body: + application/problem+json: + type: ErrorTypes.AuthorizationFailure + 404: + description: Not Found. + body: + application/problem+json: + type: ErrorTypes.NotFound + 429: + description: Too Many Requests. + headers: + Retry-After: + examples: + after-seconds: "120" + body: + application/problem+json: + type: ErrorTypes.RateLimitExceeded + 500: + description: Internal Server Error. + body: + application/problem+json: + type: ErrorTypes.InternalServerError + 503: + description: Service Unavailable. + body: + application/problem+json: + type: ErrorTypes.ServiceUnavailable + + diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml new file mode 100644 index 00000000..6d7c5192 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 Trait + +usage: | + To be used to wrap common errors into a single trait include. + +uses: + ErrorTypes: ../discovery-error-types.raml + +responses: + 400: + description: Bad Request. + body: + application/problem+json: + type: ErrorTypes.ResourceBadRequest + 401: + description: Authentication Failure. + body: + application/problem+json: + type: ErrorTypes.AuthenticationFailure + 403: + description: Authorization Failure. + body: + application/problem+json: + type: ErrorTypes.AuthorizationFailure + 404: + description: Not Found. + body: + application/problem+json: + type: ErrorTypes.NotFound + 429: + description: Too Many Requests. + headers: + Retry-After: + examples: + after-seconds: "120" + body: + application/problem+json: + type: ErrorTypes.RateLimitExceeded + 500: + description: Internal Server Error. + body: + application/problem+json: + type: ErrorTypes.InternalServerError + 503: + description: Service Unavailable. + body: + application/problem+json: + type: ErrorTypes.ServiceUnavailable + + diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml new file mode 100644 index 00000000..18cc51e7 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml @@ -0,0 +1,156 @@ +#%RAML 1.0 Library + +# Discovery Error Response Types +# +# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). +# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. +# https://tools.ietf.org/html/rfc7807 + +types: + + BaseError: + description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. + properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" + additionalProperties: false + + # Discovery Error Type Definitions: + AuthenticationFailure: + description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. + type: BaseError + example: !include Examples/Authentication.json + + AuthorizationFailure: + description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. + type: BaseError + example: !include Examples/Authorization.json + + NotFound: + description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. + type: BaseError + example: !include Examples/NotFound.json + + ServiceUnavailable: + description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. + type: BaseError + example: !include Examples/ServiceUnavailable.json + + InternalServerError: + description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. + type: BaseError + example: !include Examples/InternalServerError.json + + RateLimitExceeded: + description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. + type: BaseError + properties: + requestLimit: + description: A number returned indicating the maximum number of allowed requests for the instance being requested. + type: number + example: !include Examples/RateLimitExceeded.json + + BadRequest: + description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. + type: BaseError + examples: + InvalidRequest: !include Examples/InvalidRequest.json + NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json + + InvalidRequest: + description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. + type: BadRequest + example: !include Examples/InvalidRequest.json + + NonReadableHttpMessage: + description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. + type: BadRequest + example: !include Examples/NonReadableHttpMessage.json + + ResourceBadRequest: + description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. + type: BaseError + properties: + limits?: + description: A list of limit objects providing the exceeded limits and the respective counts. + type: Limit[] + examples: + InvalidRequest: !include Examples/InvalidRequest.json + NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json + LimitExceeded: !include Examples/LimitExceeded.json + + ResourceInvalidRequest: + description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. + type: BadRequest + example: !include Examples/InvalidRequest.json + + ResourceNonReadableHttpMessage: + description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. + type: ResourceBadRequest + example: !include Examples/NonReadableHttpMessage.json + + Limit: + description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. + properties: + limitDetails: + description: An enum indicating the respective server limit which has been exceeded. + enum: + - ATTRIBUTE_DEFINITION_COUNT + - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT + - ATTRIBUTE_USAGE_FACETABLE_COUNT + - ATTRIBUTE_USAGE_FILTERABLE_COUNT + - ATTRIBUTE_USAGE_GROUPABLE_COUNT + - ATTRIBUTE_USAGE_SEARCHABLE_COUNT + - ATTRIBUTE_USAGE_SORTABLE_COUNT + - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT + - QUERY_INPUT_PHRASE_COUNT + - QUERY_INPUT_TAG_IDS_COUNT + - QUERY_INPUT_FACETS_COUNT + - QUERY_INPUT_SORTING_COUNT + - QUERY_INPUT_GROUPING_COUNT + - QUERY_INPUT_REFINEMENTS_COUNT + - QUERY_INPUT_PAGINATION_COUNT + count: + description: The current count of data associated with he provided enum. + type: integer + example: 51 + limit: + description: The defined limit value associated with the provided enum. + type: integer + example: 50 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml new file mode 100644 index 00000000..cadaa1f2 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml @@ -0,0 +1,28 @@ +#%RAML 1.0 Trait + +usage: This trait allows for the filtering of resources using timestamps and resource identifiers. + +queryParameters: + ids?: + description: Collection of resource identifiers representing the desired resources to return. + type: string[] + uniqueItems: true + example: + - 1907c0db-3845-431a-b36b-61f7efc818cc + - dee3ce6a-bc2f-4893-b91c-59c9a677f42d + creationDateTimeStart?: + description: Filters by excluding the resources that have creationDateTime before the defined time. + type: datetime + example: 2020-02-27T00:00:00Z + creationDateTimeEnd?: + description: Filters by excluding the resources that have creationDateTime after the defined time. + type: datetime + example: 2020-02-28T10:41:50Z + lastUpdateDateTimeStart?: + description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. + type: datetime + example: 2020-02-28T09:41:50Z + lastUpdateDateTimeEnd?: + description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. + type: datetime + example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml new file mode 100644 index 00000000..2c876b8f --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 Trait + +usage: This trait allows for taking in an input header containing the tenant-tier. + +headers: + tenant-tier?: + description: Header defining the tenant tier for NFR limits. + type: string + maxLength: 256 + example: internal-large-catalog \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml new file mode 100644 index 00000000..1a5e95b4 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 Trait + +usage: This trait allows for taking in an input header containing a request identifier. + +headers: + RequestId?: + description: Client defined unique identifier, used for tracking within the domain. + type: string + maxLength: 256 + example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml new file mode 100644 index 00000000..cc90c09a --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 Library +usage: + +types: + + Region: + description: Region in which the service is exposed. + example: en-US + + Version: + description: The version of the commerce cloud API. + example: v2 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml new file mode 100644 index 00000000..e0aa5072 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 Library + +types: + + CreationDateTime: + description: The date time the resource was created. + type: datetime + example: 2020-02-28T10:41:50Z + + LastUpdateDateTime: + description: The date time when the resource was last modified. + type: datetime + example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml new file mode 100644 index 00000000..f98471b0 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml @@ -0,0 +1,15 @@ +#%RAML 1.0 DataType + +uses: + IDs: identifiers.raml + +description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. +properties: + attributeId: IDs.AttributeId + path: + description: The path, using dot notation, that this attribute corresponds to. + type: string + example: item.brand + value: + description: The data for the given attribute. + type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml new file mode 100644 index 00000000..1d55a387 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml @@ -0,0 +1,15 @@ +#%RAML 1.0 Library + +types: + + DataSetId: + description: The unique identifier of a Data Set resource. + type: string + maxLength: 256 + example: d4330450-df8a-439f-80f8-847ae3cb564f + + AttributeId: + description: User defined unique identifier for a specific attribute. + type: string + maxLength: 256 + example: name \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml new file mode 100644 index 00000000..1bb88630 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml @@ -0,0 +1,33 @@ +#%RAML 1.0 Library + +types: + + Reference: + description: Location of a resource. + type: string + + Self: + description: Link to the resource. + properties: + href: Reference + additionalProperties: false + + SelfResourceLink: + description: Entity containing a HATEOS link to a resource. + properties: + self: Self + additionalProperties: false + + Pagination: + description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. + properties: + prev?: + description: Link to the previous set of results. + type: Self + self: + description: Link to the current set of results. + type: Self + next?: + description: Link to the next set of results. + type: Self + additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml new file mode 100644 index 00000000..a2559b88 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml @@ -0,0 +1,52 @@ +#%RAML 1.0 Library +usage: | + These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. + +uses: + DateTimes: Types/date-times.raml + IDs: Types/identifiers.raml + Links: Types/links.raml + UriParameters: Types/base-uri-parameters.raml + +types: + + # Base URI Parameters + Region: UriParameters.Region + Version: UriParameters.Version + + # Resource Indentifiers + DataSetId: IDs.DataSetId + AttributeId: IDs.AttributeId + + # Datetimes + CreationDateTime: DateTimes.CreationDateTime + LastUpdateDateTime: DateTimes.LastUpdateDateTime + + # Links + ResourceLink: Links.SelfResourceLink + + # Pagination + PaginationLinks: Links.Pagination + + # Resources + ExpansionAttribute: !include Types/expansion-attribute.raml + +traits: + + Traceable: !include Traits/traceable.raml + + Filterable: !include Traits/bulk-retrieval-filters.raml + + TenantTier: !include Traits/tenant-tier.raml + + # Error Traits: + # + # Wraps Traits of the same status code to provide an optional response. + # Provides a CommonErrors trait for errors shared across all APIs. + + CommonErrors: !include Errors/Traits/common-errors.raml + # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. + + ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml + # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded + \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json new file mode 100644 index 00000000..f8e199d9 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json @@ -0,0 +1 @@ +{"main":"discovery-standards.raml","name":"Discovery Standards","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.28","metadata":{"branchId":"master","commitId":"7890a31d652edeaf2044895a754b4f849c775567","projectId":"e649b88c-27bf-47c3-b22c-1c5183a7ede7"},"classifier":"raml-fragment","dependencies":[],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml new file mode 100644 index 00000000..4ea5ee03 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml @@ -0,0 +1,80 @@ +#%RAML 1.0 Library + +uses: + ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml + IngestionLibrary: discovery-ingestion-library.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + +types: + IngestionInput: + description: Details about the Data Transfer Records to be ingested. + type: CommerceCloudStandards.ClosedObject + properties: + behavior: IngestionLibrary.IngestionBehavior + dataTransferRecordIds: + description: List of the Data Transfer Records to be ingested. + type: string[] + minItems: 1 + uniqueItems: true + example: [a4824d46-9bd7-48ad-b88b-28ec238e1e78, 494de35e-3297-43ae-8e08-5d92cd55c49f] + + IngestionOutput: + description: Details about the Ingestion Job created to ingest the data in Discovery. + type: CommerceCloudStandards.ClosedObject + properties: + ingestionJobId: IngestionLibrary.IngestionJobId + creationDateTime: DiscoveryStandards.CreationDateTime + + IngestionJob: + description: The progress details of the Ingestion Job process. + type: CommerceCloudStandards.ClosedObject + properties: + status: IngestionLibrary.IngestionStatus + totalItemCount: + description: The total count of items sent across all the Data Transfer Records during the ingestion job process. + type: integer + format: int64 + example: 10 + processedItemCount: + description: The total count of items successfully ingested across all the Data Transfer Records. + type: integer + format: int64 + example: 8 + failedItemCount: + description: The total count of items failed to be ingested across all the Data Transfer Records. + type: integer + format: int64 + example: 2 + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + + IngestionJobStatus: + description: Details and status of the Ingestion Job process. + type: IngestionJob + properties: + ingestionJobId: IngestionLibrary.IngestionJobId + links: + type: DiscoveryStandards.ResourceLink + examples: + links: + self: + href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/ingestion-jobs/cb95f974-5f3f-11ea-bc55-0242ac130003 + + IngestionJobsBulkStatus: + description: The bulk progress details about the Ingestion Jobs process. + type: CommerceCloudStandards.ClosedObject + properties: + hits: + description: A collection of progress details of all the Ingestion Job processes. + type: IngestionJobStatus[] + limit: + type: ApiStandards.Limit + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. + offset: ApiStandards.Offset + total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml new file mode 100644 index 00000000..8bd41b62 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml @@ -0,0 +1,32 @@ +#%RAML 1.0 Library +annotationTypes: + types: + allowedTargets: [TypeDeclaration,API] + properties: + className?: + type: string + implementationClassName?: + type: string + usePrimitiveType?: + type: boolean + abstract?: + type: boolean + plugins?: any[] + resources: + allowedTargets: [Resource, Method, Response, API] + properties: + plugins?: any[] + methods: + allowedTargets: [Method, API] + properties: + plugins?: any[] + + responseClasses: + allowedTargets: [Method, API] + properties: + plugins?: any[] + + responses: + allowedTargets: [Response, API] + properties: + plugins?: any[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json b/testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json new file mode 100644 index 00000000..268265f4 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json @@ -0,0 +1,19 @@ +{ + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/data-discovery-management/2.3.33", + "name": "Data Discovery Management", + "description": "Overview", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "data-discovery-management", + "version": "2.3.33", + "categories": { + "API layer": [ + "Process" + ], + "CC API Family": [ + "Discovery" + ], + "CC Version Status": [ + "GA" + ] + } +} diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml new file mode 100644 index 00000000..766b44a7 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml @@ -0,0 +1,231 @@ +#%RAML 1.0 Library + +uses: + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml + +types: + + Path: + description: The path, using dot notation, to the data described by this definition. + type: string + example: item.description + + LocalePath: + description: Entity describing the location where data for this attribute can be found in addition to the locale for that location. + type: CommerceCloudStandards.ClosedObject + properties: + path: Path + locale: ISOStandards.LanguageCountry + + Name: + description: A human readable name string. + type: string + example: sku + + LocalizedName: + description: An entity containing a human readable name and a locale that associates to that name. + type: CommerceCloudStandards.ClosedObject + properties: + name: Name + locale: ISOStandards.LanguageCountry + + AttributeDefinition: + description: | + Base resource type for describing an attribute. All Attribute Definitions contain the following information. + * attributeId: A user defined, unique value, which is used to reference the Attribute Definition instance in other APIs. + * attributeDefinitionType: A String value describing the specific type of this Attribute Definition instance. + * dataType: An enumerated value which defines what form of data to expect in the object model at the given data locations. Different Attribute Definition types may have restrictions on allowed Data Types. + + Additionally, each Attribute Definition will contain configuration information on where the data described by the definition is located. + type: CommerceCloudStandards.ClosedObject + properties: + attributeId: DiscoveryStandards.AttributeId + attributeDefinitionType: + description: The type of Attribute Definition being defined. + type: string + names?: + description: Collection of entities describing the name of the attribute in addition to the locale for that name. + type: LocalizedName[] + discriminator: attributeDefinitionType + + ItemIdentifierAttributeDefinition: + description: Defines an attribute which uniquely identifies an item. There can be a single Item Identifier Attribute Definition defined per Data Set resource. This Attribute Definition may only be configured as a String or Integer data type, and may have any number of Usages. + type: AttributeDefinition + properties: + dataType: + description: The expected type of data which will be found at the given path's location. + enum: + - INTEGER + - STRING + example: INTEGER + usages?: + description: A collection of values defining how the attribute should be used within the domain during query operations. + type: string[] + minItems: 1 + uniqueItems: true + items: + enum: + - FACETABLE + - FILTERABLE + - GROUP_RETURNABLE + - RETURNABLE + - SEARCHABLE + - SORTABLE + example: [FILTERABLE, SEARCHABLE] + path: Path + discriminatorValue: ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION + + SecondaryItemIdentifierAttributeDefinition: + description: Defines an attribute containing a Secondary Item Identifier which identifies information about the item and doesn't support any typo tolerance. There can be more than one Secondary Item Identifier Attribute Definition defined per Data Set resource. This Attribute Definition may only be configured as a String or Integer data type and must contain at least one usage. + type: AttributeDefinition + properties: + dataType: + description: The expected type of data which will be found at the given path's location. + enum: + - STRING + - INTEGER + example: STRING + usages: + description: A collection of values defining how the attribute should be used within the domain during query operations. + type: string[] + minItems: 1 + uniqueItems: true + items: + enum: + - SEARCHABLE + - RETURNABLE + - GROUPABLE + - SORTABLE + example: [SEARCHABLE] + path: Path + isMultivalued: + description: Boolean determining if the data, found at the given path, is a single value or a collection, default to FALSE. + type: boolean + default: false + example: false + discriminatorValue: SECONDARY_ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION + + DataAttributeDefinition: + description: Defines an attribute which will not be analyzed for language. This Attribute Definition must have at least one usage. + type: AttributeDefinition + properties: + dataType: + description: The valid data type for the Attribute Definition. + enum: + - BOOLEAN + - DATE + - DATE_TIME + - DECIMAL + - INTEGER + - STRING + example: BOOLEAN + usages: + description: A collection of values defining how the attribute should be used within the domain. + type: string[] + minItems: 1 + uniqueItems: true + items: + enum: + - FACETABLE + - FILTERABLE + - GROUPABLE + - GROUP_RETURNABLE + - RETURNABLE + - SEARCHABLE + - SORTABLE + example: [FILTERABLE, SEARCHABLE] + path: Path + isMultivalued: + description: Boolean determining if the data, found at the given path, is a single value or a collection. + type: boolean + example: true + discriminatorValue: DATA_ATTRIBUTE_DEFINITION + + LocalizedAttributeDefinition: + description: Defines an attribute containing language analyzed data. To support language analysis, this definition is confgured with a collection of Locale Path entities. Each Locale Path takes in both a path as well as a Locale which should be used to analyze the data. This Attribute Definition requires at least one usage. + type: AttributeDefinition + properties: + dataType: + description: The valid data type for the Attribute Definition. + enum: + - STRING + example: STRING + usages: + description: A collection of values defining how the attribute should be used within the domain. + type: string[] + minItems: 1 + uniqueItems: true + items: + enum: + - FACETABLE + - FILTERABLE + - GROUPABLE + - GROUP_RETURNABLE + - RETURNABLE + - SEARCHABLE + - SORTABLE + example: [FILTERABLE, SEARCHABLE] + paths: + description: Collection of entities describing the location where data for this attribute can be found in addition to the locale for that location. + type: LocalePath[] + isMultivalued: + description: Boolean determining if the data, found at the given paths, are a single value or a collection. + type: boolean + example: true + discriminatorValue: LOCALIZED_ATTRIBUTE_DEFINITION + + UnstructuredAttributeDefinition: + description: Defines an attribute containing unstructured text which should be language analyzed. To support language analysis, this definition is confgured with a collection of Locale Path entities. Each Locale Path takes in both a path as well as a Locale which should be used to analyze the data. Due to the nature of the data being described by this attribute type, this attribute can only be searched against. + type: AttributeDefinition + properties: + dataType: + description: The expected type of data which will be found at the given path's location. + enum: + - STRING + example: STRING + usages?: + description: A collection of values defining how the attribute should be used within the domain during query operations. + type: string[] + minItems: 1 + uniqueItems: true + items: + enum: + - SEARCHABLE + - HIGHLIGHTABLE + example: [SEARCHABLE] + paths: + description: Collection of entities describing the location where data for this attribute can be found in addition to the locale for that location. + type: LocalePath[] + discriminatorValue: UNSTRUCTURED_ATTRIBUTE_DEFINITION + + PricebookAttributeDefinition: + description: Defines an attribute containing price book information. Each path defines a pricebook entry containing ID, currency and price of an item. + type: AttributeDefinition + properties: + dataType: + description: The valid data type for the Attribute Definition. + enum: + - PRICEBOOK + example: PRICEBOOK + usages: + description: A collection of values defining how the attribute should be used within the domain. + type: string[] + minItems: 1 + uniqueItems: true + items: + enum: + - FACETABLE + - FILTERABLE + - SORTABLE + example: [FILTERABLE, FACETABLE] + path: + description: | + The path, using dot notation, to the data described by this definition. The data present in this path must have a structure as shown below for a successful ingestion. Please note that all the fields mentioned are required here and the field ID is the pricebook ID of the associated item.
{
     "id": "01sxx0000005ptpAAA",
     "currency": "USD",
     "price": 23.67
} + type: Path + isMultivalued: + description: A boolean value determining whether the data found at the given path is a single pricebook or a collection of pricebooks. + type: boolean + example: true + discriminatorValue: PRICEBOOK_ATTRIBUTE_DEFINITION \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml new file mode 100644 index 00000000..b11e3688 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml @@ -0,0 +1,41 @@ +#%RAML 1.0 Library + +uses: + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml + +types: + BoostBuryRuleTargetCondition: + description: | + Base resource type that defines a set of conditions to be satisfied by the items in search results. If the conditions are met, boost and bury search result rules can be applied to adjust the ranking of search results. The aim of BoostBuryRuleTargetCondition is to offer control over the ordering of the search results, allowing client to prioritize (boost) or deprioritize (bury) certain items based on predefined conditions only when "RELEVANCE" sorting is used in the query. All BoostBuryRuleTargetCondition contain folllowing the following information: + * operation: An enumerated value which defines the type of operation with which condition should be applied. + + Additionally, each BoostBuryRuleTargetCondition will contain configuration information on how the target condition should be applied. + properties: + conditionType: + description: The type of target condition being defined, example "STRING_MULTIVALUED_TARGET_CONDITION" can be used to define a target condition that applies to mulitple values in the field "attributeValues" + type: string + attributeId: + description: The unique identifier of the attribute to be targeted for the search result rule + type: string + discriminator: conditionType + additionalProperties: false + + StringMultivaluedBoostBuryRuleTargetCondition: + description: This target condition allows targeting multiple items based on some attribute value. Boost/Bury search result rule will be applicable to all items defined in the resouce if they satisfy the condition in the target. + type: BoostBuryRuleTargetCondition + properties: + operation: + description: The type of operation with which condition should be applied. This operation checks if the value of the targeted attribute is contained within a specific set of values. + enum: + - IN + example: IN + attributeValues: + description: A collection of values for which condition is applicable + type: string[] + minItems: 1 + maxItems: 100 + example: ["ID-123", "ID-345"] + discriminatorValue: STRING_MULTIVALUED_TARGET_CONDITION + additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml b/testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml new file mode 100644 index 00000000..42b40e78 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml @@ -0,0 +1,215 @@ +#%RAML 1.0 +version: v2 +title: Data Discovery Management + +uses: + ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + DataSet: data-set.raml + SearchResultRule: search-rule.raml + ErrorTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml + RamlToJaxrs: ramltojaxrs.raml + +mediaType: application/json +protocols: [HTTPS] +baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/management/{version} +baseUriParameters: + shortCode: + description: A region-specific merchant identifier. + pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ + example: 0dnz6oep + version: DiscoveryStandards.Version + +description: APIs to manage base resources within the Discovery domain. + +(RamlToJaxrs.resources): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.responses): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.responseClasses): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.methods): + plugins: + - name: ramltojaxrs.displayName +(RamlToJaxrs.types): + plugins: + - name: ramltojaxrs.chainSetter + +/organizations/{organizationId}/data-sets: + type: CommerceCloudStandards.Organization + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.TenantTier + post: + description: Creates a Data Set resource within the Discovery domain. The resource is created synchronously as is usable for all futher operations once the API returns. The Data Set is created using a non empty collection of Attribute Definition resources. + displayName: createDataSet + is: + - DiscoveryStandards.ResourceCommonErrors + - DiscoveryStandards.MetaData + - ApiStandards.SyncCreated: + responseType: DataSet.DataSetCreationOutput + resourcePath: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-sets + queryParameters: + einsteinChannelId: + type: DataSet.EinsteinChannelId + required: false + body: + type: DataSet.DataSetCreationInput + get: + description: Retrieves a collection of Data Set resource references based on the inputs. + displayName: getDataSets + is: + - DiscoveryStandards.Filterable + - ApiStandards.OffsetPaginated: + maxLimit: 50 + defaultSize: 10 + - DiscoveryStandards.CommonErrors + responses: + 200: + description: Returned if the requested Data Set resources could be retrieved. + body: + type: DataSet.BulkDataSetRetrievalOutput + + /{dataSetId}: + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + uriParameters: + dataSetId: DiscoveryStandards.DataSetId + get: + description: Retrieves the Data Set with the given resource identifier. The returned resource will contain the configuration of the Data Set, as defined during creation, as well as suplemental information such as the number of items currently associated with the Data Set as well as time information on when the resource was created and last updated. + displayName: getDataSet + responses: + 200: + description: Returned if a Data Set was found for the given inputs. + body: + type: DataSet.DataSet + delete: + description: Removes the defined Data Set resource from the domain. This operation is synchronous and once completes, the resource will no longer be maintained within the domain. + displayName: deleteDataSet + responses: + 200: + description: Returned if the Data Set was removed. + patch: + description: Updates the Data Set with the given resource identifier. Currently only FeatureDefinitions can be updated. A Feature Definition defines whether a particular feature is enabled or not. + displayName: updateDataSet + body: + type: DataSet.DataSetUpdateInput + responses: + 204: + description: Returned if the Data Set was updated with the given input + + /search-result-rules: + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + post: + description: Creates a Search Result Rule resource within the Discovery domain. A Search Result Rule is a rule to influence search results returned from the service based on allowed conditions. Example a rule to include where consumer of the API can add additional terms along search phrase when search is executed and if a certain phrase is present in the input, boost or bury certain items etc. + displayName: createSearchResultRule + is: + - DiscoveryStandards.ResourceCommonErrors + body: + type: SearchResultRule.SearchResultRule + responses: + 201: + description: Returned if a Search Result Rule was created. + headers: + location: + description: The location of the created resource. + type: string + example: https://management.discovery.{region}.svc.commercecloud.salesforce.com/discovery/management/{version}/data-sets/search-result-rules/{searchResultRuleId} + body: + type: SearchResultRule.SearchResultRuleOutput + + /{searchResultRuleId}: + is: + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.Traceable + - DiscoveryStandards.TenantTier + uriParameters: + searchResultRuleId: DiscoveryStandards.SearchResultRuleId + get: + description: Retrieves the Search Result Rule with the given resource identifier. + displayName: getSearchResultRule + responses: + 200: + description: Returned if a Search Result Rule was found for the given inputs. + body: + type: SearchResultRule.SearchResultRule + delete: + description: Deletes defined Search Result Rule for the given Dataset + displayName: deleteSearchResultRule + responses: + 200: + description: Returned if the Search Result Rule was removed. + + /search-rules: + is: + - DiscoveryStandards.Traceable + - DiscoveryStandards.CommonErrors + - DiscoveryStandards.TenantTier + post: + description: Creates Search Rule resources within the Discovery domain. + displayName: createSearchRules + is: + - DiscoveryStandards.ResourceCommonErrors + body: + type: SearchResultRule.SearchResultRuleCreationInput + responses: + 200: + description: Returned if a Search Rule resource was created. + headers: + location: + description: The location of the created resource. + type: string + example: https://management.discovery.{region}.svc.commercecloud.salesforce.com/discovery/management/{version}/data-sets/search-rules/{searchRuleId} + body: + type: SearchResultRule.SearchResultRuleCreationOutput + get: + description: Retrieves a collection of Search Result Rule resources based on the inputs. + displayName: getSearchResultRules + is: + - DiscoveryStandards.Filterable + - ApiStandards.OffsetPaginated: + maxLimit: 50 + defaultSize: 10 + - DiscoveryStandards.CommonErrors + responses: + 200: + description: Returned if the requested Search Rule resources could be retrieved. + body: + description: An entity containing a collection of Search Rule resource statuses and references. + type: SearchResultRule.BulkSearchResultRuleRetrievalOutput + delete: + description: Removes all defined Search Rules for the given dataset + displayName: deleteSearchRules + responses: + 200: + description: Returned if the Search Rules were removed. + /{searchRuleId}: + is: + - DiscoveryStandards.CommonErrors + uriParameters: + searchRuleId: DiscoveryStandards.SearchResultRuleId + post: + description: Update the Search Rule with the given resource identifier. + displayName: updateSearchRule + responses: + 200: + description: Returned if a Search Rule was updated for the given identifier. + body: + type: SearchResultRule.SearchResultRule + get: + description: Retrieves the Search Rule with the given resource identifier. + displayName: getSearchRule + responses: + 200: + description: Returned if a Search Rule was found for the given inputs. + body: + type: SearchResultRule.SearchResultRule diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml b/testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml new file mode 100644 index 00000000..e78039dd --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml @@ -0,0 +1,106 @@ +#%RAML 1.0 Library + +uses: + ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + AttributeDefinitions: attribute-definitions.raml + FeatureDefinitions: feature-definitions.raml + +types: + + EinsteinChannelId: + description: The identifier of the einstein channel to associate with the Data Set. + type: string + + EinsteinTenantId: + description: Einstein tenant ID used for integrating the Data Set with the Einstein service. + type: string + example: search/prd/cloudtesttenant + + PreviousDataSetId: + description: Data Set ID of a pre-existing data set, for which an index is being re-built. This is an optional property. + type: string + example: abcbd817-d2b1-46e4-9b42-5d09b1b53f92 + + DataSet: + description: An entity containing the configuration and status information about the requested Data Set resource. The Data Set's configuration instructs the domain on how to ingest data through a collection of Attribute Definitions. Additionally, status information such as the number of items associated with the Data Set, is also provided. The feature definitions provide information on which features are enabled for the Data Set. + type: CommerceCloudStandards.ClosedObject + properties: + configuration: + description: An wrapper entity containing the data which defines the makeup of the Data Set. + properties: + einsteinTenantId?: EinsteinTenantId + attributeDefinitions: AttributeDefinitions.AttributeDefinition[] + featureDefinitions: FeatureDefinitions.FeatureDefinition[] + previousDataSetId?: PreviousDataSetId + status: + description: An entity containing current information about the Data Set such as the number of items associated with the Data Set, the time the Data Set was created, and the time it was last updated. + properties: + queryableItemCount: + description: The number of ingested items, available for query actions. + type: number + format: int64 + example: 432 + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + + DataSetReference: + description: An entity containing status information about a Data Set, in addition to a link to the actual resource. This resource represents a subset of information, taken from the actual Data Set entity. + properties: + dataSetId: DiscoveryStandards.DataSetId + queryableItemCount: + description: The number of ingested items, available for query actions. + type: number + format: int64 + example: 432 + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + links: + type: DiscoveryStandards.ResourceLink + examples: + links: + self: + href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-sets/d4330450-df8a-439f-80f8-847ae3cb564f + + DataSetCreationInput: + description: Body of the request to create a Data Set. + type: CommerceCloudStandards.ClosedObject + properties: + einsteinTenantId?: EinsteinTenantId + attributeDefinitions: + description: A collection of attribute definition entities. + type: AttributeDefinitions.AttributeDefinition[] + featureDefinitions: + description: A collection of feature definition entities. + type: FeatureDefinitions.FeatureDefinition[] + previousDataSetId?: PreviousDataSetId + + DataSetCreationOutput: + description: An entity containing the identifier of the newly created resource and the time the resource was created. + type: CommerceCloudStandards.ClosedObject + properties: + dataSetId: DiscoveryStandards.DataSetId + creationDateTime: DiscoveryStandards.CreationDateTime + + BulkDataSetRetrievalOutput: + description: An entity containing a collection of Data Set resource statuses and references. + type: CommerceCloudStandards.ClosedObject + properties: + hits: + description: A collection of Data Set instance references. + type: DataSetReference[] + limit: ApiStandards.Limit + offset: ApiStandards.Offset + total: + description: The total number of matching resources. + type: integer + example: 17 + + DataSetUpdateInput: + description: Body of the request to update a Data Set. Currently it only contains a collection of feature definition entities. + type: CommerceCloudStandards.ClosedObject + properties: + featureDefinitions: + description: A collection of feature definition entities. + type: FeatureDefinitions.FeatureDefinition[] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange.json similarity index 66% rename from testIntegration/stagingApis/inventory/impex/exchange.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange.json index 6bb3fc15..5e34f209 100644 --- a/testIntegration/stagingApis/inventory/impex/exchange.json +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange.json @@ -1,29 +1,29 @@ { - "main": "impex.raml", - "name": "Impex", + "main": "data-discovery-management.raml", + "name": "Data Discovery Management", "classifier": "raml", "tags": [], "dependencies": [ { "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "inventory-availability-standards", + "assetId": "commerce-cloud-standards", "version": "1.0.16" }, { "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "api-standards", - "version": "1.1.15" + "version": "1.1.12" }, { "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "1.0.24" + "assetId": "discovery-standards", + "version": "0.0.34" } ], "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "impex", - "version": "1.1.15", - "apiVersion": "v1", + "assetId": "data-discovery-management", + "version": "2.3.33", + "apiVersion": "v2", "originalFormatVersion": "1.0", "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-2.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-3.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-4.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited-5.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/traits/rate-limited.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/am-oauth-2.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml similarity index 100% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/SecuritySchemes/bearer-token.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/SecuritySchemes/shopper-token.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml similarity index 77% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/ISO-standards.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml index f71d3928..0dc2f69e 100644 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/ISO-standards.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml @@ -65,19 +65,3 @@ types: default: default enum: - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml similarity index 100% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.8/dataTypes/error-response.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml diff --git a/apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml similarity index 100% rename from apis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/search-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml similarity index 95% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/search-types.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml index 4530d24e..fa1a4f62 100644 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/Types/search-types.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml @@ -165,22 +165,20 @@ types: example: !include ../Examples/Range2Filter.json properties: filterMode: - description: 'Compare mode: overlap, containing, or contained.' + description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' type: string enum: - overlap - containing - contained - default: overlap required: false fromField: description: The field name of the field that starts the first range. type: string fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. Set to false to make the lower bound exclusive. + description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. type: boolean required: false - default: true fromValue: description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. type: any @@ -189,10 +187,9 @@ types: description: The field name of the field that ends the first range. type: string toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. Set to false to make the lower bound exclusive. + description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. type: boolean required: false - default: true toValue: description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. type: any @@ -213,19 +210,17 @@ types: type: any required: false fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. Set to false to make the lower bound exclusive. + description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. type: boolean required: false - default: true to: description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. type: any required: false toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. Set to false to made the upper bound exclusive. + description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. type: boolean required: false - default: true SearchRequestBase: description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. type: object diff --git a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml similarity index 90% rename from testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/commerce-cloud-standards.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml index 1992cc4a..d2715da7 100644 --- a/testIntegration/stagingApis/customer/shopper-login/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.18/commerce-cloud-standards.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml @@ -16,7 +16,6 @@ usage: |- - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - **`TsobToken`:** a security scheme for endpoints that only allow the Trusted System on Behalf Token OAuth Token Authentication. # Types This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. @@ -35,10 +34,6 @@ usage: |- - **`LanguageCode`:** ISO 639-1 compliant language code. - **`CountryCode `:** ISO 3166-1 compliant country code. - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - **`LocalizedString`:** A map of LocaleCode keys to String values. Used for strings that would have different values in different langauges, like description fields. - - ## Property Metadata - - **`PropertyMetadata`:** A base type used for retrieving property metadata and creating property metadata for custom properties. # Resource Types @@ -59,13 +54,11 @@ uses: Search: Types/search-types.raml Pagination: Types/pagination-types.raml ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml securitySchemes: AmOAuth2: !include SecuritySchemes/am-oauth-2.raml ShopperToken: !include SecuritySchemes/shopper-token.raml BearerToken: !include SecuritySchemes/bearer-token.raml - TsobToken: !include SecuritySchemes/tsob-token.raml types: SiteId: @@ -83,9 +76,6 @@ types: LanguageCode: ISO.Language CountryCode: ISO.Country LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition ClosedObject: AdditionalProperties.NoPropertiesAllowed OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml similarity index 82% rename from apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml index 0a12252c..8b117905 100644 --- a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml @@ -26,7 +26,8 @@ uses: displayName: getFoo description: Example get Method securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} + - CommerceCloudStandards.AmOAuth2 + - CommerceCloudStandards.BearerToken is: - CommerceCloudStandards.QueryParamsOffset: @@ -34,7 +35,6 @@ uses: - CommerceCloudStandards.SiteSpecific: objectType: SiteId objectId: SiteGenesis - - CommerceCloudStandards.Selectable responses: 200: description: an example response @@ -46,14 +46,9 @@ uses: description: Another example endpoint get: displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example + description: Another example get method securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} + - CommerceCloudStandards.ShopperToken is: - CommerceCloudStandards.SiteSpecific: diff --git a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json similarity index 88% rename from testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json rename to testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json index b7967978..89227bf1 100644 --- a/testIntegration/stagingApis/customer/slas-admin/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.17/exchange.json +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json @@ -1 +1 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.17"} \ No newline at end of file +{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json new file mode 100644 index 00000000..5fa11f58 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", + "title": "Authentication Failure", + "detail": "Authentication failed due to missing or invalid token.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json new file mode 100644 index 00000000..c8a35b8c --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", + "title": "Authorization Failure", + "detail": "The provided credentials are not authorized to access this resource.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json new file mode 100644 index 00000000..67f7a9b1 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", + "title": "Internal Server Error", + "detail": "There was an error completing your request.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json new file mode 100644 index 00000000..7d87b944 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", + "title": "Invalid Request", + "detail": "The provided request information is of an invalid format.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json new file mode 100644 index 00000000..04283b9e --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json @@ -0,0 +1,18 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", + "title": "Limit Exceeded", + "detail": "You have exceeded a limit for the provided attibutes.", + "instance": "{Resource URI}", + "limits": [ + { + "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", + "count": 90, + "limit": 50 + }, + { + "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", + "count": 15, + "limit": 12 + } + ] +} diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json new file mode 100644 index 00000000..ad324f32 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", + "title": "Non-Readable HTTP Message", + "detail": "The request could not be processed.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json new file mode 100644 index 00000000..c8ef3747 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", + "title": "Resource Not Found", + "detail": "The requested {resource} was not found.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json new file mode 100644 index 00000000..023db860 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json @@ -0,0 +1,7 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", + "title": "Rate Limit Reached", + "detail": "The request could not be processed due to the current volume of requests.", + "instance": "{Resource URI}", + "requestLimit": 1000 +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json new file mode 100644 index 00000000..e8511a4c --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json @@ -0,0 +1,6 @@ +{ + "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", + "title": "Service Unavailable", + "detail": "The server is temporarily unable to handle the request.", + "instance": "{Resource URI}" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml new file mode 100644 index 00000000..e5b112f3 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 Trait + +usage: | + To be used to wrap common errors into a single trait include. + +uses: + ErrorTypes: ../discovery-error-types.raml + +responses: + 400: + description: Bad Request. + body: + application/problem+json: + type: ErrorTypes.BadRequest + 401: + description: Authentication Failure. + body: + application/problem+json: + type: ErrorTypes.AuthenticationFailure + 403: + description: Authorization Failure. + body: + application/problem+json: + type: ErrorTypes.AuthorizationFailure + 404: + description: Not Found. + body: + application/problem+json: + type: ErrorTypes.NotFound + 429: + description: Too Many Requests. + headers: + Retry-After: + examples: + after-seconds: "120" + body: + application/problem+json: + type: ErrorTypes.RateLimitExceeded + 500: + description: Internal Server Error. + body: + application/problem+json: + type: ErrorTypes.InternalServerError + 503: + description: Service Unavailable. + body: + application/problem+json: + type: ErrorTypes.ServiceUnavailable + + diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml new file mode 100644 index 00000000..6d7c5192 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 Trait + +usage: | + To be used to wrap common errors into a single trait include. + +uses: + ErrorTypes: ../discovery-error-types.raml + +responses: + 400: + description: Bad Request. + body: + application/problem+json: + type: ErrorTypes.ResourceBadRequest + 401: + description: Authentication Failure. + body: + application/problem+json: + type: ErrorTypes.AuthenticationFailure + 403: + description: Authorization Failure. + body: + application/problem+json: + type: ErrorTypes.AuthorizationFailure + 404: + description: Not Found. + body: + application/problem+json: + type: ErrorTypes.NotFound + 429: + description: Too Many Requests. + headers: + Retry-After: + examples: + after-seconds: "120" + body: + application/problem+json: + type: ErrorTypes.RateLimitExceeded + 500: + description: Internal Server Error. + body: + application/problem+json: + type: ErrorTypes.InternalServerError + 503: + description: Service Unavailable. + body: + application/problem+json: + type: ErrorTypes.ServiceUnavailable + + diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml new file mode 100644 index 00000000..18cc51e7 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml @@ -0,0 +1,156 @@ +#%RAML 1.0 Library + +# Discovery Error Response Types +# +# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). +# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. +# https://tools.ietf.org/html/rfc7807 + +types: + + BaseError: + description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. + properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" + additionalProperties: false + + # Discovery Error Type Definitions: + AuthenticationFailure: + description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. + type: BaseError + example: !include Examples/Authentication.json + + AuthorizationFailure: + description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. + type: BaseError + example: !include Examples/Authorization.json + + NotFound: + description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. + type: BaseError + example: !include Examples/NotFound.json + + ServiceUnavailable: + description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. + type: BaseError + example: !include Examples/ServiceUnavailable.json + + InternalServerError: + description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. + type: BaseError + example: !include Examples/InternalServerError.json + + RateLimitExceeded: + description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. + type: BaseError + properties: + requestLimit: + description: A number returned indicating the maximum number of allowed requests for the instance being requested. + type: number + example: !include Examples/RateLimitExceeded.json + + BadRequest: + description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. + type: BaseError + examples: + InvalidRequest: !include Examples/InvalidRequest.json + NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json + + InvalidRequest: + description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. + type: BadRequest + example: !include Examples/InvalidRequest.json + + NonReadableHttpMessage: + description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. + type: BadRequest + example: !include Examples/NonReadableHttpMessage.json + + ResourceBadRequest: + description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. + type: BaseError + properties: + limits?: + description: A list of limit objects providing the exceeded limits and the respective counts. + type: Limit[] + examples: + InvalidRequest: !include Examples/InvalidRequest.json + NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json + LimitExceeded: !include Examples/LimitExceeded.json + + ResourceInvalidRequest: + description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. + type: BadRequest + example: !include Examples/InvalidRequest.json + + ResourceNonReadableHttpMessage: + description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. + type: ResourceBadRequest + example: !include Examples/NonReadableHttpMessage.json + + Limit: + description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. + properties: + limitDetails: + description: An enum indicating the respective server limit which has been exceeded. + enum: + - ATTRIBUTE_DEFINITION_COUNT + - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT + - ATTRIBUTE_USAGE_FACETABLE_COUNT + - ATTRIBUTE_USAGE_FILTERABLE_COUNT + - ATTRIBUTE_USAGE_GROUPABLE_COUNT + - ATTRIBUTE_USAGE_SEARCHABLE_COUNT + - ATTRIBUTE_USAGE_SORTABLE_COUNT + - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT + - QUERY_INPUT_PHRASE_COUNT + - QUERY_INPUT_TAG_IDS_COUNT + - QUERY_INPUT_FACETS_COUNT + - QUERY_INPUT_SORTING_COUNT + - QUERY_INPUT_GROUPING_COUNT + - QUERY_INPUT_REFINEMENTS_COUNT + - QUERY_INPUT_PAGINATION_COUNT + count: + description: The current count of data associated with he provided enum. + type: integer + example: 51 + limit: + description: The defined limit value associated with the provided enum. + type: integer + example: 50 diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml new file mode 100644 index 00000000..cadaa1f2 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml @@ -0,0 +1,28 @@ +#%RAML 1.0 Trait + +usage: This trait allows for the filtering of resources using timestamps and resource identifiers. + +queryParameters: + ids?: + description: Collection of resource identifiers representing the desired resources to return. + type: string[] + uniqueItems: true + example: + - 1907c0db-3845-431a-b36b-61f7efc818cc + - dee3ce6a-bc2f-4893-b91c-59c9a677f42d + creationDateTimeStart?: + description: Filters by excluding the resources that have creationDateTime before the defined time. + type: datetime + example: 2020-02-27T00:00:00Z + creationDateTimeEnd?: + description: Filters by excluding the resources that have creationDateTime after the defined time. + type: datetime + example: 2020-02-28T10:41:50Z + lastUpdateDateTimeStart?: + description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. + type: datetime + example: 2020-02-28T09:41:50Z + lastUpdateDateTimeEnd?: + description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. + type: datetime + example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml new file mode 100644 index 00000000..0d6c8585 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml @@ -0,0 +1,20 @@ +#%RAML 1.0 Trait + +usage: This trait allows for taking in an input header containing the meta data about the client's request. + +headers: + meta-data-env?: + description: Header defining the client's environment of the incoming request to discovery. The expected values are prod or non-prod. + type: string + maxLength: 10 + example: prod + meta-data-usage?: + description: Header defining the usage of the incoming request to discovery. The expected values are b2b, b2c or content. + type: string + maxLength: 10 + example: b2b + meta-data-implementation?: + description: Header defining the implementation type of the incoming request to discovery. The expected values are hsr, canonical or custom. + type: string + maxLength: 15 + example: hsr \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml new file mode 100644 index 00000000..2c876b8f --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 Trait + +usage: This trait allows for taking in an input header containing the tenant-tier. + +headers: + tenant-tier?: + description: Header defining the tenant tier for NFR limits. + type: string + maxLength: 256 + example: internal-large-catalog \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml new file mode 100644 index 00000000..1a5e95b4 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 Trait + +usage: This trait allows for taking in an input header containing a request identifier. + +headers: + RequestId?: + description: Client defined unique identifier, used for tracking within the domain. + type: string + maxLength: 256 + example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml new file mode 100644 index 00000000..c56ba601 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 Library + +types: + + AttributeName: + description: A human-readable name for the attribute of a given locale, optionally defined when the attribute is created. + type: string + example: Brand + Path: + description: The attribute’s path, expressed in dot notation. + type: string + example: item.brand + + Value: + description: The data for the attribute. + type: any diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml new file mode 100644 index 00000000..cc90c09a --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 Library +usage: + +types: + + Region: + description: Region in which the service is exposed. + example: en-US + + Version: + description: The version of the commerce cloud API. + example: v2 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml new file mode 100644 index 00000000..e0aa5072 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 Library + +types: + + CreationDateTime: + description: The date time the resource was created. + type: datetime + example: 2020-02-28T10:41:50Z + + LastUpdateDateTime: + description: The date time when the resource was last modified. + type: datetime + example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml new file mode 100644 index 00000000..d1371cd8 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType + +uses: + IDs: identifiers.raml + AttributeInfo : attribute-info.raml + +description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. +properties: + attributeId: IDs.AttributeId + attributeName?: AttributeInfo.AttributeName + path: AttributeInfo.Path + value: AttributeInfo.Value \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml new file mode 100644 index 00000000..e651e65a --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml @@ -0,0 +1,28 @@ +#%RAML 1.0 Library + +uses: + IDs: identifiers.raml + +types: + + GroupValue: + description: An entity containing attribute values for a group of items. + properties: + itemId: IDs.ItemId + value: + description: The data for the given attribute. + type: any + + GroupAttribute: + description: An entity represeting an attribute's values aggregated over a group of items within Discovery. This entity contains an attribute ID, the attribute's path, and the attribute's values for a corresponding collection of items. + properties: + attributeId: IDs.AttributeId + attributeName?: + description: A human readable name of the attribute for a given locale, optionally defined at creation time of the attribute. + type: string + example: Brand + path: + description: The path, using dot notation, that this attribute corresponds to. + type: string + example: item.brand + values: GroupValue[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml new file mode 100644 index 00000000..29c5a3e7 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 Library + +types: + + DataSetId: + description: The unique identifier of a Data Set resource. + type: string + maxLength: 256 + example: d4330450-df8a-439f-80f8-847ae3cb564f + + AttributeId: + description: User defined unique identifier for a specific attribute. + type: string + maxLength: 256 + example: name + + ItemId: + description: Identifier of an item resource within the Discovery domain. + type: string + example: 9b65099c-6705-481f-8b0c-283f08244153 + + GroupId: + description: Unifying value of a collection of item resources. + type: string + example: abc3bf4a-8aca-4c15-a86e-2ab5425a59fa + + SearchResultRuleId: + description: The unique identifier of a Search Result Rule resource. + type: string + maxLength: 256 + example: 17fgm7594-df8a-439f-80f8-847ae3cb564f \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml new file mode 100644 index 00000000..1bb88630 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml @@ -0,0 +1,33 @@ +#%RAML 1.0 Library + +types: + + Reference: + description: Location of a resource. + type: string + + Self: + description: Link to the resource. + properties: + href: Reference + additionalProperties: false + + SelfResourceLink: + description: Entity containing a HATEOS link to a resource. + properties: + self: Self + additionalProperties: false + + Pagination: + description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. + properties: + prev?: + description: Link to the previous set of results. + type: Self + self: + description: Link to the current set of results. + type: Self + next?: + description: Link to the next set of results. + type: Self + additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml new file mode 100644 index 00000000..d429a78e --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml @@ -0,0 +1,67 @@ +#%RAML 1.0 Library +usage: | + These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. + +uses: + DateTimes: Types/date-times.raml + IDs: Types/identifiers.raml + Links: Types/links.raml + UriParameters: Types/base-uri-parameters.raml + GroupExpansion: Types/group-expansion.raml + AttributeInfo : Types/attribute-info.raml + ErrorTypes: Errors/discovery-error-types.raml + +types: + + # Base URI Parameters + Region: UriParameters.Region + Version: UriParameters.Version + + # Resource Indentifiers + DataSetId: IDs.DataSetId + ItemId: IDs.ItemId + GroupId: IDs.GroupId + AttributeId: IDs.AttributeId + SearchResultRuleId: IDs.SearchResultRuleId + + # Attribute Info + AttributeName : AttributeInfo.AttributeName + AttributePath : AttributeInfo.Path + AttributeValue : AttributeInfo.Value + + # Datetimes + CreationDateTime: DateTimes.CreationDateTime + LastUpdateDateTime: DateTimes.LastUpdateDateTime + + # Links + ResourceLink: Links.SelfResourceLink + + # Pagination + PaginationLinks: Links.Pagination + + # Resources + ExpansionAttribute: !include Types/expansion-attribute.raml + GroupExpansionAttribute: GroupExpansion.GroupAttribute + BaseErrors: ErrorTypes.BaseError + +traits: + + Traceable: !include Traits/traceable.raml + + Filterable: !include Traits/bulk-retrieval-filters.raml + + TenantTier: !include Traits/tenant-tier.raml + + MetaData: !include Traits/meta-data.raml + + # Error Traits: + # + # Wraps Traits of the same status code to provide an optional response. + # Provides a CommonErrors trait for errors shared across all APIs. + + CommonErrors: !include Errors/Traits/common-errors.raml + # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. + + ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml + # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded + \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml new file mode 100644 index 00000000..de9191e5 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml @@ -0,0 +1,58 @@ +#%RAML 1.0 +title: An example file showing the usage of the Discovery Standards library. +version: v0 +mediaType: + - application/json + +uses: + Standards: discovery-standards.raml + +protocols: [ HTTPS ] + +baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/sample/{version} + +description: A sample file showing the various entities in this standards library. + +/organizations/{organizationId}: + /data-sets: + post: + description: A sample endpoint to create a resource. + displayName: createResource + is: + - Standards.ResourceCommonErrors + responses: + 200: + description: Returns the identifier of the created resource. + body: + properties: + attributeId: Standards.AttributeId + + /data-sets/{dataSetId}/attributes: + uriParameters: + dataSetId: + type: Standards.DataSetId + get: + description: A sample endpoint to get a resource. + displayName: getResource + is: + - Standards.CommonErrors + responses: + 200: + description: The resource was retrieved. + body: + description: A collection of attribute identifiers. + properties: + type: Standards.DataSetId + + /data-sets/{dataSetId}/attributes/{attributeId}: + uriParameters: + dataSetId: + type: Standards.DataSetId + attributeId: + type: Standards.AttributeId + delete: + description: A sample endpoint to delete a resource. + displayName: deleteResource + responses: + 201: + description: The resource was deleted. diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json new file mode 100644 index 00000000..d82deff4 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json @@ -0,0 +1 @@ +{"main":"discovery-standards.raml","name":"discovery standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.34","backwardsCompatible":false,"dependencies":[],"originalFormatVersion":"1.0","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","apiVersion":"v1"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml new file mode 100644 index 00000000..b2b78483 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Library +uses: + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml + +types: + + FeatureName: + description: The name of the search feature. + type: string + + IsEnabled: + description: Boolean representing whether the feature is enabled. + type: boolean + + FeatureDefinition: + description: An entity containing the configuration for each feature that should be enabled or disabled for each dataset. The entity indicates the name of the feature and a boolean indicating whether the feature is enabled. If enabled, the feature will be used for all query request for the dataset. + type: CommerceCloudStandards.ClosedObject + properties: + featureName: FeatureName + isEnabled: IsEnabled diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml b/testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml new file mode 100644 index 00000000..8bd41b62 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml @@ -0,0 +1,32 @@ +#%RAML 1.0 Library +annotationTypes: + types: + allowedTargets: [TypeDeclaration,API] + properties: + className?: + type: string + implementationClassName?: + type: string + usePrimitiveType?: + type: boolean + abstract?: + type: boolean + plugins?: any[] + resources: + allowedTargets: [Resource, Method, Response, API] + properties: + plugins?: any[] + methods: + allowedTargets: [Method, API] + properties: + plugins?: any[] + + responseClasses: + allowedTargets: [Method, API] + properties: + plugins?: any[] + + responses: + allowedTargets: [Response, API] + properties: + plugins?: any[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml new file mode 100644 index 00000000..369e1f47 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml @@ -0,0 +1,52 @@ +#%RAML 1.0 Library + +uses: + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml + TargetConditions: boost-bury-rule-target-conditions.raml + +types: + RuleDefinition: + description: Base resource type for describing an search result rule + properties: + ruleDefinitionType: + description: The type of Search result rule definition being defined. + type: string + discriminator: ruleDefinitionType + additionalProperties: false + + IncludeTermsDefinition: + description: Definition which defines the search result rule to include terms + type: RuleDefinition + properties: + terms: + description: A collection of values defining which search terms should be included + type: string[] + minItems: 2 + uniqueItems: true + example: [jeans, denim, wranglers] + discriminatorValue: INCLUDE_TERMS + additionalProperties: false + + BoostBuryItemsDefinition: + description: Definition which defines the Search Result Rule to boost or bury certain items in the search result + type: RuleDefinition + properties: + action: + description: Defines the action to be taken when the associated conditions are met. Actions include 'boost', 'bury'. Boost is to increase boost rank of the item in the search results and Bury is to decrease rank of the item in the search results, the Search Result Rule gets applied only if items meets the defined target condition and sorting is "RELEVANCE" in the query. + enum: + - BOOST + - BURY + example: BOOST + level: + description: Defines impact with which Search Result Rule should be applied, 1 defines minimum effect, 100 defines maximum allowed effect. + type: number + example: 70 + minimum: 1 + maximum: 100 + targetConditions: + description: Specifies conditions that need to be satisfied for the Search Result Rule to apply. Each object represents a condition that is evaluated against the items in search result. If any of the conditions are true, that Search Result Rule will be applied to all items of the Search Results satisfying the condition. + type: TargetConditions.BoostBuryRuleTargetCondition[] + discriminatorValue: BOOST_BURY_ITEMS + additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml b/testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml new file mode 100644 index 00000000..f20bc583 --- /dev/null +++ b/testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml @@ -0,0 +1,129 @@ +#%RAML 1.0 Library + +uses: + ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml + CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml + DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml + ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml + AttributeDefinitions: attribute-definitions.raml + FeatureDefinitions: feature-definitions.raml + SearchResultRuleDefinitions: search-result-rule-definitions.raml + +types: + + SearchResultRule: + description: An entity which defines information about the requested search result rule resource. + properties: + ruleName: + description: An entity containing the data which defines name of the search result rule. + required: false + externalId: + description: Unique Identifier for the search rule resource + required: false + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + startDateTime: + description: Coordinated Universal Time (UTC) which defines the moment at which search rule takes effect. + type: datetime + example: 2020-02-28T10:41:50Z + required: false + endDateTime: + description: Coordinated Universal Time (UTC) that defines the moment at which the effect of the search rule ends. + type: datetime + example: 2023-02-28T10:41:50Z + required: false + locales: ISOStandards.LanguageCountry[] + searchRuleDefinition: + description: An entity of search rule definition which will define the Search Result instance being created. + type: SearchResultRuleDefinitions.RuleDefinition + required: true + isActive: + description: An entity containing the data which defines if the search result rule is active or not. + type: boolean + required: true + additionalProperties: false + + SearchResultRuleReference: + description: An entity containing information about a Search Result Rule, in addition to a link to the actual resource. + properties: + searchResultRuleId: DiscoveryStandards.SearchResultRuleId + ruleName: + description: An entity containing the data which defines name of the search result rule. + externalId: + description: Unique Identifier for the search rule resource + isActive: + description: An entity containing the data which defines if the search result rule is active or not. + type: boolean + creationDateTime: DiscoveryStandards.CreationDateTime + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + startDateTime: + description: Coordinated Universal Time (UTC) which defines the moment at which search rule takes effect. + type: datetime + example: 2020-02-28T10:41:50Z + endDateTime: + description: Coordinated Universal Time (UTC) that defines the moment at which the effect of the search rule ends. + type: datetime + example: 2023-02-28T10:41:50Z + locales: ISOStandards.LanguageCountry[] + searchRuleDefinition: + description: An entity of search result rule definition which will define the Search Result instance being created. + type: SearchResultRuleDefinitions.RuleDefinition + _links: DiscoveryStandards.ResourceLink + additionalProperties: false + + SearchResultRuleCreationInput: + description: Input resource, used to create a Search Result Rule. + properties: + rules: + description: Collection of search result rule definitions which will define the Search Result instance being created. + type: SearchResultRule[] + required: true + minItems: 1 + additionalProperties: false + + SearchResultRuleOutput: + description: Output resource, used to represent details of Search Result creation + properties: + externalId: + description: Unique Identifier for the search rule resource + searchResultRuleId: DiscoveryStandards.SearchResultRuleId + ruleName: + description: An entity containing the data which defines name of the search result rule. + type: string + status: + description: An entity containing the status indicating if the search result rule entity is created or not. + type: string + example: CREATED + isActive: + description: An entity containing the data which defines if the search result rule is active or not. + type: boolean + lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime + creationDateTime: DiscoveryStandards.CreationDateTime + + additionalProperties: false + + SearchResultRuleCreationOutput: + description: An entity containing the identifier of the newly created search result resource, and the time the resource was created. + properties: + rules: + description: Collection of search result rule definitions which provide resource statuses and references. + type: SearchResultRuleOutput[] + errors: + description: Collection of errors which provide failures in the bulk operation if any. + type: DiscoveryStandards.BaseErrors[] + + additionalProperties: false + + BulkSearchResultRuleRetrievalOutput: + description: An entity containing a collection of Search Result Rule resource statuses and references by default sorted by creation time. + properties: + rules: + description: A collection of references to Search Result Rule instances. + type: SearchResultRuleReference[] + limit: ApiStandards.Limit + offset: ApiStandards.Offset + total: + description: The total number of matching resources. + type: integer + example: 25 + additionalProperties: false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/shopper-search/.metadata.json b/testIntegration/stagingApis/discovery/shopper-search/.metadata.json index 34a64c6e..35e42bcb 100644 --- a/testIntegration/stagingApis/discovery/shopper-search/.metadata.json +++ b/testIntegration/stagingApis/discovery/shopper-search/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.41", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-search/1.0.42", "name": "Shopper Search", "description": "product search and helpful search suggestions.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-search", - "version": "1.0.41", + "version": "1.0.42", "categories": { "API layer": [ "Process" diff --git a/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml b/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml index ae782f5f..b77b733f 100644 --- a/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml +++ b/testIntegration/stagingApis/discovery/shopper-search/Examples/product-search-result-example.raml @@ -209,6 +209,16 @@ value: ] } ], + "pageMetaTags": [ + { + "id": "robots", + "value": "index,follow" + }, + { + "id": "title", + "value": "Find amazing products in Storefront Catalog - EN' today" + } + ], "query": "shirt", "refinements": [ { diff --git a/testIntegration/stagingApis/discovery/shopper-search/exchange.json b/testIntegration/stagingApis/discovery/shopper-search/exchange.json index 7ae4d1ed..2b7e0117 100644 --- a/testIntegration/stagingApis/discovery/shopper-search/exchange.json +++ b/testIntegration/stagingApis/discovery/shopper-search/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "1.0.41", + "version": "1.0.42", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml b/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml index 1eda8e2c..afb231fc 100644 --- a/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml +++ b/testIntegration/stagingApis/discovery/shopper-search/shopper-search-library.raml @@ -9,6 +9,20 @@ traits: BadRequest: !include /Traits/ProductSearchSelectBadRequest.raml types: #types for product-search resource + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + required: false + example: "title" + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + required: false + example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." + ProductRef: description: Document representing a product reference. properties: @@ -292,6 +306,12 @@ types: hits: description: A sorted array of search hits (`ProductSearchHit` objects). The array can be empty. type: ProductSearchHit[] + pageMetaTags: + description: Page Meta tags associated with the search result. + type: array + items: + PageMetaTag + required: false query: description: The query string that was searched for. type: string diff --git a/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml b/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml index 1e6c7f62..008aeba5 100644 --- a/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml +++ b/testIntegration/stagingApis/discovery/shopper-search/shopper-search.raml @@ -87,24 +87,24 @@ description: !include shopper-search-description.md type: CommerceCloudStandards.LocaleCode required: false expand: - description: The expand parameter. A comma-separated list with the allowed values (availability, images, prices, represented_products, variations, promotions, custom_properties). The expand parameter `availability, images, prices, represented_products, variations` is used as the default value when no expand parameter is provided. The value `none` can be used to turn off all expand options. The expand values `promotions` and `custom_properties` are optional and are available from version 24.3 and 24.4, respectively. + description: A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`. By default, the expand parameter includes `availability, images, prices, represented_products, variations`. Use none to disable all expand options. **The page_meta_tags expand value is optional and is available B2C Commerce version 25.2.** type: array items: - enum: [none,availability,images,prices,represented_products,variations,promotions,custom_properties] + enum: [none,availability,images,prices,represented_products,variations,promotions,custom_properties,page_meta_tags] required: false example: [prices,represented_products] allImages: - description: When this flag is passed along with the expand parameter `images` in the request, a property named `imageGroups`, which contains an image model, is returned in the response. If the flag is set to `true`, the whole image model is returned. If it is set to `false`, the returned image model contains only matching images. If no flag is passed in the request, the response does not include the `imageGroups property`. This parameter is available from version 24.3. + description: When the `images` expand parameter is used with this flag, the response includes the `imageGroups property`, which contains an image model. If this flag is true, the full image model is returned. If false, only matching images are included. If no flag is passed, the `imageGroups` property is omitted from the response. type: boolean required: false example: false perPricebook: - description: When this flag is passed as `true` in the request, along with the expand parameter `prices`, then per PriceBook prices and tiered prices (if available) are returned. This parameter is available from version 24.3. + description: When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available). type: boolean required: false example: false allVariationProperties: - description: The flag that indicates which variation properties are to be included in the result. When the flag is passed as `true` along with the expand parameter `variations` in the request, all variation properties (`variationAttributes`, `variationGroups`, and `variants`) are returned. When it is passed as `false` along with the expand parameter `variations` in the request, only the default property (`variationAttributes`) is returned. This parameter is available from version 24.3. + description: The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned. type: boolean required: false example: false diff --git a/testIntegration/stagingApis/inventory/impex/.metadata.json b/testIntegration/stagingApis/inventory/impex/.metadata.json deleted file mode 100644 index cfcc4d81..00000000 --- a/testIntegration/stagingApis/inventory/impex/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/impex/1.1.15", - "name": "Inventory Impex", - "description": "Manage imports and exports of inventory availability data for Omnichannel Inventory.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "impex", - "version": "1.1.15", - "categories": { - "CC API Family": [ - "Inventory" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/inventory/impex/Examples/DowloadAvailabilityImportFile200Responses.raml b/testIntegration/stagingApis/inventory/impex/Examples/DowloadAvailabilityImportFile200Responses.raml deleted file mode 100644 index 0901fdb8..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/DowloadAvailabilityImportFile200Responses.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 NamedExample -CompletedWithPartialFailures: - { - "recordId":"3dd924fb-2fd5-4f49-80de-6ee49439c1f0", - "locationId":"wickenburg", - "sku":"1", - "message":"'quantity' quantity must be a positive value" - } -CompletedWithoutErrors: - { - "status":"COMPLETED_WITHOUT_ERRORS" - } -Failed: - { - "status":"FAILED" - } diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphDownloadFileExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphDownloadFileExample.raml deleted file mode 100644 index 07cc738e..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphDownloadFileExample.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "locations": [ - "l5b39d13d-0426-4349-95cb-93479e2f0166", - "l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2", - "ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8", - "ld66d773d-42d0-4915-b5c5-4e981132e829", - "l204d0639-130d-4197-9fff-65d8aa4becc5" - ], - "groups": [ - { - "id": "8ae8b814-0b28-4710-8c3c-8ed95abed62e", - "locations": [ - "l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2", - "ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8" - ] - }, - { - "id": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256", - "locations": [ - "l5b39d13d-0426-4349-95cb-93479e2f0166", - "ld66d773d-42d0-4915-b5c5-4e981132e829", - "l204d0639-130d-4197-9fff-65d8aa4becc5" - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphStatusResponseExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphStatusResponseExample.raml deleted file mode 100644 index c1b8c804..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ExportLocationGraphStatusResponseExample.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "id": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256", - "status": "COMPLETED", - "export": { - "startTimeUTC": "2020-04-15T21:21:23.675Z", - "endTimeUTC": "2020-04-15T21:21:23.812Z", - "recordsProcessedCount": 7, - "recordsExportedCount": 7 - }, - "download": { - "downloadLink": "/inventory/impex/v1/organizations/AtsisIntegrationTenant/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62256/file-content", - "downloadLinkExpirationUTC": "2020-04-16T15:21:21.93-06:00" - }, - "validation": { - "fileHash": "15fba5d9facf494749b9cfabdc2c8fe1c73d974b9579bc67ab293e607f3c92bb", - "fileHashType": "SHA-256", - "fileSize": 607 - } - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidProductSegmentationImportRequest.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidProductSegmentationImportRequest.raml deleted file mode 100644 index e7b57248..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidProductSegmentationImportRequest.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - type: "about:blank", - errorCode: "InvalidRequestParameter", - message: "link duration must be numeric" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorEventsExportExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorEventsExportExample.raml deleted file mode 100644 index 2681a8ec..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorEventsExportExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "'sku' Invalid characters in sku: null" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml deleted file mode 100644 index 63f5881d..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "The field 'quantity' is missing from the request body." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterGroupDoesNotExist.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterGroupDoesNotExist.raml deleted file mode 100644 index 6313b6a2..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterGroupDoesNotExist.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "GroupDoesNotExist", - "message": "No group exists with ID 'abc'", - "group": "abc" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationAndGroupExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationAndGroupExample.raml deleted file mode 100644 index 3f041d88..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationAndGroupExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "Locations and Groups not allowed in the same request." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationDoesNotExist.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationDoesNotExist.raml deleted file mode 100644 index db9afaa9..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/400InvalidRequestParameterLocationDoesNotExist.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "LocationDoesNotExist", - "message": "No location exists with ID 'abc'", - "location": "abc" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/403ErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/403ErrorExample.raml deleted file mode 100644 index a65db74f..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/403ErrorExample.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "timestamp": "2020-07-06T18:10:45.927+0000", - "status": 403, - "error": "Forbidden", - "message": "No message available", - "path": "/inventory/impex/v1/organizations/myOrgId/location-graph/exports", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/404EntityNotFoundErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/404EntityNotFoundErrorExample.raml deleted file mode 100644 index e842b9e4..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/404EntityNotFoundErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "EntityNotFound", - "message": "An invalid entity was provided as part of the request." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ExportInProcessErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ExportInProcessErrorExample.raml deleted file mode 100644 index 7df53b6c..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ExportInProcessErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ExportInProcess", - "message": "Export 1234-3456-45678-1234 is in progress." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409FileAlreadyReceivedErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409FileAlreadyReceivedErrorExample.raml deleted file mode 100644 index d1fece46..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409FileAlreadyReceivedErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "FileAlreadyReceived", - "message": "The file for this uploadLink has already been received." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ImportInProgressErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ImportInProgressErrorExample.raml deleted file mode 100644 index 14fee664..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/409ImportInProgressErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ImportInProgress", - "message": "Import 1234-3456-45678-1234 is in progress." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml deleted file mode 100644 index 64754831..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ExpiredResultLink", - "message": "The download link has expired or is no longer valid." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredUploadLinkErrorExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredUploadLinkErrorExample.raml deleted file mode 100644 index d95841e9..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/HttpErrors/410ExpiredUploadLinkErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ExpiredUploadLink", - "message": "The upload link has expired or is no longer valid." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ImportGetBatchStatusResponseExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/ImportGetBatchStatusResponseExample.raml deleted file mode 100644 index b1190033..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ImportGetBatchStatusResponseExample.raml +++ /dev/null @@ -1,61 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "results": [ - { - "importId": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256", - "status": "COMPLETED", - "validation": { - "status": "Success", - "fileHashType": "SHA-256", - "fileHash": { - "expected": "70150f0a83b3eaf812517fdefa85376fac57a3796cfb2e6b413807046ccbf8fb" - }, - "errors": [ - - ] - }, - "upload": { - "fileName": "test.json" - }, - "import": { - "startTime": "2020-02-12T22:53:06.788Z", - "endTime": "2020-02-12T22:53:08.423Z", - "recordsProcessedCount": 4, - "recordsReadCount": 4, - "recordsSkippedCount": 0, - "fullResults": { - "href": "/v2/tenants/AtsisIntegrationTenant/inventory/imports/a218f4b2-2dc3-4ea8-af6d-c75fafd62256/file-content", - "exportResultExpirationUTC": "2020-02-13T15:53:05.005-07:00" - } - }, - }, - { - "importId": "a218f4b2-2dc3-4ea8-af6d-c75fafd62323", - "status": "Failed", - "validation": { - "status": "Failed", - "fileHashType": "SHA-256", - "fileHash": { - "expected": "98a91234565252380616522ce6aabf4f85738eb1d0d2a40adec75173dba195d4" - }, - "errors": [ - "File is in GZIP format where the encoding type was not specified as GZIP' Invalid value" - ] - }, - "upload": { - "fileName": "test.json" - }, - "import": { - "recordsProcessedCount": 0, - "recordsReadCount": 0, - "recordsSkippedCount": 0, - "fullResults": { - "href": "/v2/tenants/AtsisIntegrationTenant/inventory/imports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content", - "exportResultExpirationUTC": "2020-02-13T15:56:44.856-07:00" - } - }, - } - ] - } diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ImportGetStatusResponseExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/ImportGetStatusResponseExample.raml deleted file mode 100644 index 3d033c4f..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ImportGetStatusResponseExample.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "importId": "a218f4b2-2dc3-4ea8-af6d-c75fafd62256", - "status": "COMPLETED", - "validation": { - "status": "Success", - "errors": [] - }, - "upload": { - "fileName": "test.json" - }, - "import": { - "startTimeUTC": "2020-02-12T22:53:06.788Z", - "endTimeUTC": "2020-02-12T22:53:08.423Z", - "recordsProcessedCount": 4, - "recordsReadCount": 4, - "recordsSkippedCount": 0, - "fullResults": { - "href": "/v2/tenants/AtsisIntegrationTenant/availability-records/imports/a218f4b2-2dc3-4ea8-af6d-c75fafd62256/file-content", - "exportResultExpirationUTC": "2020-02-13T15:53:05.005-07:00" - } - } - } diff --git a/testIntegration/stagingApis/inventory/impex/Examples/InitiateGroupInventoryExportExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/InitiateGroupInventoryExportExample.raml deleted file mode 100644 index 9e89f174..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/InitiateGroupInventoryExportExample.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - "UnitedStates", - "Germany" - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/InitiateInventoryExportByLocationOrGroup.raml b/testIntegration/stagingApis/inventory/impex/Examples/InitiateInventoryExportByLocationOrGroup.raml deleted file mode 100644 index 17753455..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/InitiateInventoryExportByLocationOrGroup.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 NamedExample -locations: - { - "objects": { - "locations": [ - "warehouse5", - "warehouse6" - ] - } - } - -groups: - { - "objects": { - "groups": [ - "UnitedStates", - "Germany" - ] - } - } diff --git a/testIntegration/stagingApis/inventory/impex/Examples/InitiateLocationInventoryExportExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/InitiateLocationInventoryExportExample.raml deleted file mode 100644 index 46e973c3..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/InitiateLocationInventoryExportExample.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - "warehouse5", - "warehouse6" - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/LocationGraphExportBatchDeleteBodyExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/LocationGraphExportBatchDeleteBodyExample.raml deleted file mode 100644 index 76ff1a1f..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/LocationGraphExportBatchDeleteBodyExample.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - exportIds: [ - "a218f4b2-2dc3-4ea8-af6d-c75fafd62256", - "fs34223-1fd2-64dc-4312-f35c25cd2a48" - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/400ProductSegmentationExportInvalidRequestParameter.raml b/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/400ProductSegmentationExportInvalidRequestParameter.raml deleted file mode 100644 index f92d4f33..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/400ProductSegmentationExportInvalidRequestParameter.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "Invalid Group Id Provided." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportAllGroups.raml b/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportAllGroups.raml deleted file mode 100644 index dce8f619..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportAllGroups.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample - { - "groups": [ - "*" - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportByGroups.raml b/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportByGroups.raml deleted file mode 100644 index e46606a9..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportByGroups.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample - { - "groups": [ - "texas", - "florida" - ] - } diff --git a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateProductSegmentationExportExample.raml b/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateProductSegmentationExportExample.raml deleted file mode 100644 index 9e89f174..00000000 --- a/testIntegration/stagingApis/inventory/impex/Examples/ProductSegmentation/InitiateProductSegmentationExportExample.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - [ - "UnitedStates", - "Germany" - ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/exchange.json b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/exchange.json deleted file mode 100644 index 3d51fdb8..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"inventory-availability-standards.raml","name":"Inventory Availability Standards","classifier":"raml-fragment","tags":[],"dependencies":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"inventory-availability-standards","version":"1.0.16","metadata":{"projectId":"160aa331-53f3-4896-b3de-b5ff27319619","branchId":"master","commitId":"d2e4797c9a502b260717a88e75e2024c6f2730b5"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/inventory-availability-standards.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/inventory-availability-standards.raml deleted file mode 100644 index 0e1996e2..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/inventory-availability-standards.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Library - -usage: |- - This is a collection of types, traits, security schemes, and more that have been built to support multiple different API Specs in the Inventory Availability Space, in conjuction with the standard Salesforce API Standards library, via: - -# Traits -traits: - GenericResponseErrorCode: !include traits/GenericResponseErrorCode.raml - -types: - ATF: !include types/ATF.raml - ATO: !include types/ATO.raml - Date: !include types/Date.raml - DeltaToken: !include types/DeltaToken.raml - EffectiveDate: !include types/EffectiveDate.raml - ErrorCode: !include types/ErrorCode.raml - ExternalRefIf: !include types/ExternalRefId.raml - FileValidation: !include types/FileValidation.raml - Future: !include types/Future.raml - GenericAttribute: !include types/GenericAttribute.raml - GenericProcessStats: !include types/GenericProcessStats.raml - GenericStatuses: !include types/GenericStatuses.raml - GroupId: !include types/GroupId.raml - IdempotenceId: !include types/IdempotenceId.raml - LocationGroup: !include types/LocationGroup.raml - LocationId: !include types/LocationId.raml - LocationOrGroup: !include types/LocationOrGroup.raml - Place: !include types/Place.raml - PlaceId: !include types/PlaceId.raml - PlaceType: !include types/PlaceType.raml - QOH: !include types/QOH.raml - ReservedQuantity: !include types/ReservedQuantity.raml - SafetyStock: !include types/SafetyStock.raml - SkuId: !include types/SkuId.raml - UniqueId: !include types/UniqueId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/traits/GenericResponseErrorCode.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/traits/GenericResponseErrorCode.raml deleted file mode 100644 index ca360bdc..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/traits/GenericResponseErrorCode.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Trait -#generic response for responses that have a body of type: ErrorCode, with placeholders for the response code, description, errorCode and error Message - -responses: - <>: - description: <> - body: - application/json: - type: !include ../types/ErrorCode.raml - example: - errorCode: <> - message: <> \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATF.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATF.raml deleted file mode 100644 index e64e3e03..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATF.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount available to fulfill at the location -example: 1137.65 -minimum: 0.000 -type: number -format: double -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATO.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATO.raml deleted file mode 100644 index 3d1ef265..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ATO.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount available to order at the location -example: 1147.90 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Date.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Date.raml deleted file mode 100644 index b4f8be9b..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Date.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -example: 2019-07-24T21:13:00Z -type: datetime -format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/DeltaToken.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/DeltaToken.raml deleted file mode 100644 index efd40e9e..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/DeltaToken.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: The delta token obtained from a full export or a previous request to this API -example: e3NoYXJkSWQtMDAwMDAwMDE1NzczOTkxNTc2MDItYmE5MGYxNGE6MDAwMDAwMDAwMDAwMDAwMDAwNDQ0fQ== -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/EffectiveDate.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/EffectiveDate.raml deleted file mode 100644 index 4b178349..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/EffectiveDate.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType - -description: Effective date. -type: !include Date.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ErrorCode.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ErrorCode.raml deleted file mode 100644 index cc48d2a3..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ErrorCode.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -properties: - errorCode: string - message: string - title: - type: string - required: false - detail: - type: string - required: false - instance: - type: string - required: false - type: - type: string - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ExternalRefId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ExternalRefId.raml deleted file mode 100644 index 67eea847..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ExternalRefId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: A convenience identifier for the consumer, used for auditing events -example: 7282822-9823-aaa -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/FileValidation.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/FileValidation.raml deleted file mode 100644 index 952883a1..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/FileValidation.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType - -description: Generic file validation scheme - -properties: - fileHashType: - description: The file hash type associated with the export file. - type: string - example: sha-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Future.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Future.raml deleted file mode 100644 index 0e3d47fb..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Future.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType - -description: The 'future' object contains data that tells us what is expected to arrive for this item in the future, as well as when those amounts of inventory should arrive. -properties: - expectedDate: - example: 2019-08-24T21:13:00Z - description: The date the future quantity is expected to arrive at the location - type: !include Date.raml - quantity: - description: The amount that is expected to arrive at a future date - type: number - minimum: 0.001 - example: 10.25 diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericAttribute.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericAttribute.raml deleted file mode 100644 index 139363ce..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericAttribute.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -properties: - name: - description: The name of the attribute - type: string - example: color - value: - description: The value of the attribute - type: string - example: red \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericProcessStats.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericProcessStats.raml deleted file mode 100644 index d57714b6..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericProcessStats.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 DataType - -properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: !include Date.raml - example: 2019-02-12T12:34:00Z - endTimeUTC: - description: The UTC time that the export process completed. - type: !include Date.raml - example: 2019-02-12T12:52:00Z - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericStatuses.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericStatuses.raml deleted file mode 100644 index 92b203a0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GenericStatuses.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - - -description: Enum allowing indication of a process status - -type: - type: string - enum: [WAITING, EXPIRED, SUBMITTED, PENDING, RUNNING, COMPLETED, FAILED, STOPPED] - example: COMPLETED - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GroupId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GroupId.raml deleted file mode 100644 index fb2fc251..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GroupId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: An identifier for a collection of locations -type: string -example: UnitedStates \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/IdempotenceId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/IdempotenceId.raml deleted file mode 100644 index 52b8cf25..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/IdempotenceId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: A unique identifier, used in combination with the SKU, so that future requests with the same combination have the same result. -example: 82251928-8863-488e-840b-2aebd10b57ba -type: string diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationGroup.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationGroup.raml deleted file mode 100644 index 9833c5e0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationGroup.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -description: A full location group consisting of the group ID and its assigned locations. -properties: - groupId: !include GroupId.raml - locations: - description: A list of locations assigned to this group. - type: array - items: - type: !include LocationId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationId.raml deleted file mode 100644 index 30ad165f..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: The id of the location of the inventory. -type: string -example: warehouse5 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationOrGroup.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationOrGroup.raml deleted file mode 100644 index 21e885c0..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationOrGroup.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -description: Enum allowing indication of a group or a location. - -type: - description: The type of the id to be supplied which could be either 'location' or 'group' - type: string - enum: [location, group] - example: location diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Place.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Place.raml deleted file mode 100644 index d14c1a23..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Place.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -description: Type and ID of a given inventory place - -properties: - type: - type: !include PlaceType.raml - id: - type: !include PlaceId.raml diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceId.raml deleted file mode 100644 index 2e9acdf8..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: The id of a group or location where inventory is located. -type: string -examples: {location: warehouse5 , group: UnitedStates} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceType.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceType.raml deleted file mode 100644 index df9d776b..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceType.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -description: The type of place where the inventory is located which can either be 'location' or 'group'. -enum: [location, group] -type: string -examples: {location: location, group: group} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/QOH.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/QOH.raml deleted file mode 100644 index bc8edbef..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/QOH.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Quantity on hand. -example: 1200.35 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ReservedQuantity.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ReservedQuantity.raml deleted file mode 100644 index a83b7c58..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ReservedQuantity.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The quantity to reserve -example: 10.000 -type: number -format: double -minimum: 0.001 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SafetyStock.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SafetyStock.raml deleted file mode 100644 index e1825a33..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SafetyStock.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Inventory quantity that a merchant wants to intentionally hold back from availability counts -example: 12.45 -type: number -format: double -minimum: 0.0 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SkuId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SkuId.raml deleted file mode 100644 index 75814f51..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SkuId.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -description: The inventory identifier -type: string -#example: "sku1234" -examples: - { - "12345", - "23456" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/UniqueId.raml b/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/UniqueId.raml deleted file mode 100644 index d13c6d48..00000000 --- a/testIntegration/stagingApis/inventory/impex/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/UniqueId.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -type: string -description: An id to uniquely identify this operation/request -example: 323b0g69-d37d-423a-84f5-8f393fe80459 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/impex.raml b/testIntegration/stagingApis/inventory/impex/impex.raml deleted file mode 100644 index 435798fe..00000000 --- a/testIntegration/stagingApis/inventory/impex/impex.raml +++ /dev/null @@ -1,1020 +0,0 @@ -#%RAML 1.0 -title: Inventory Impex -description: !include inventory-impex-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/{version} -baseUriParameters: - shortCode: - description: Region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - # This include the Commerce Cloud and API Standards Libraries - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml - ExportLibrary: libraries/Exports.raml - ImportLibrary: libraries/Imports.raml - EventLogLibrary: libraries/GetEventLog.raml - ReservationsLib: libraries/ExportReservations.raml - ProductSegmentationLibrary: libraries/ProductSegmentationLib.raml - LocationGraphExportLibrary: libraries/LocationGraphExport.raml - ErrorResponses: libraries/ErrorHandling/ErrorResponses.raml - -securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-event-log, sfcc_inventory_impex_event_log] } - -types: - InventoryLocationRecords: !include types/Imports/ImportInventoryLocationRecords.raml - -traits: - GenericResponseErrorCode: !include traits/GenericResponseErrorCode.raml - AuthorizedEndpoint: !include traits/403ErrorResponse.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /location-graph/exports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-graphs, sfcc_inventory_impex_graphs] } - post: - description: Exports the entire location graph for the specified organization. - displayName: getLocationGraphExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited: - responseStatus: 200 - responses: - 200: - description: Successfully initiated location graph export. - body: - application/json: - type: LocationGraphExportLibrary.InitiateLocationGraphExportResponse - 400: - description: Invalid request. - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterError - example: !include Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml - /{exportId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-graphs, sfcc_inventory_impex_graphs] } - uriParameters: - exportId: - type: string - description: The export ID of the requested location graph. - description: Retrieve or delete a location graph by export ID. - delete: - description: Delete the location graph export for the specified export ID. - displayName: deleteLocationGraphExports - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Successfully deleted the location graph. - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - /file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-graphs, sfcc_inventory_impex_graphs] } - get: - description: Download the generated location graph export file. - displayName: downloadLocationGraphExportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - responses: - 200: - description: Successfully downloaded the file. - body: - application/json: - LocationGraphExportLibrary.ExportLocationGraphDownloadFile - 404: - description: The location graph export ID does not exist. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - 410: - description: The download link is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredResultLinkError - example: !include Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml - /status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-graphs, sfcc_inventory_impex_graphs] } - description: Check the status of the location graph export for this organization. - get: - description: Retrieve the status of the location graph export for the organization. - displayName: getLocationGraphExportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - queryParameters: - exportId: - displayName: locationGraphExportIds - description: Export ID of the location graph whose status you want to check. - responses: - 200: - description: Successfully retrieved location group export status. - body: - application/json: - LocationGraphExportLibrary.ExportLocationGraphStatusResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - /availability-records/imports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - - post: - description: Submit inventory import. - displayName: submitInventoryImport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - type: ImportLibrary.InitiateImportRequestBody - responses: - 200: - description: Successfully submitted import. - body: - type: ImportLibrary.InitiateImportResponse200 - 400: - description: Invalid request. - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterError - example: !include Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml - get: - description: Retrieve a collection of import job IDs. You can query the list of import jobs and retrieve the full collection in the response body. You can also filter the collection to only include imports where the upload link is valid or invalid (expired). - displayName: getInventoryImport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - queryParameters: - available: - required: false - description: Setting available to ‘true’ causes the response to only include imports where the upload link is still available and has not expired. - type: string - responses: - 200: - description: A JSON array with a collection of import ID values. - body: - application/json: - type: ImportLibrary.GetRunningImportsResponse - 400: - description: Invalid request. - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterError - example: !include Examples/HttpErrors/400InvalidRequestParameterErrorExample.raml - /{importId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - uriParameters: - importId: - type: string - description: The import ID to act upon. - delete: - displayName: deleteInventoryImport - description: Mark a single import for deletion. - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Successfully deleted the requested import job. - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Import in progress. - body: - application/problem+json: - type: ErrorResponses.409ImportInProgressError - example: !include Examples/HttpErrors/409ImportInProgressErrorExample.raml - /status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - get: - description: Retrieve status for the specified import ID. - displayName: getAvailabilityImportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - responses: - 200: - description: Successfully retrieved import status. - body: - type: ImportLibrary.ImportStatusResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - /file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - get: - description: Retrieve the import file results for the specified import ID. - displayName: downloadAvailabilityImportResultsFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responses: - 200: - description: Successfully retrieved availability import results file. - body: - examples: !include Examples/DowloadAvailabilityImportFile200Responses.raml - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Import in progress. - body: - application/problem+json: - type: ErrorResponses.409ImportInProgressError - example: !include Examples/HttpErrors/409ImportInProgressErrorExample.raml - /uploadlink/{uploadLinkId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - uriParameters: - uploadLinkId: - description: The ID of the import being uploaded. - post: - description: | - Upload an import file.
- The gateway has a filesize limit of 100MB.
- If the file is larger than 100MB, send it in compressed format. The supported algorithm is GZIP. - displayName: postUploadImportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - body: - multipart/form-data: - type: ImportLibrary.ImportsUploadLinkPostBody - responses: - 200: - description: Successfully started the file upload. Details are available in the response body. - body: - application/json: - type: ImportLibrary.ImportUploadLinkResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Already received the file. - body: - application/problem+json: - type: ErrorResponses.409FileAlreadyReceivedError - example: !include Examples/HttpErrors/409FileAlreadyReceivedErrorExample.raml - 410: - description: The uploadLink URI is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredUploadLinkError - example: !include Examples/HttpErrors/410ExpiredUploadLinkErrorExample.raml - /product-segmentation/imports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { - scopes: - [ - sfcc.inventory.impex-inventory.rw, - sfcc.inventory.impex-inventory, - sfcc_inventory_impex_inventory, - ], - } - post: - description: Submit product segmentation data import. Whenever a location graph import removes an existing group that has product segmentation applied, the segmentation data will be removed. If the group is put back in place, the product segmentation info must be re-applied with a new import. - displayName: submitProductSegmentationImport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - type: ProductSegmentationLibrary.InitiateProductSegmentationImportRequestBody - responses: - 200: - description: Successfully initiated import - body: - type: ProductSegmentationLibrary.InitiateProductSegmentationImportResponse200 - 400: - description: Invalid Request - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterError - example: !include Examples/HttpErrors/400InvalidProductSegmentationImportRequest.raml - /{importId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - uriParameters: - importId: - type: string - description: The import ID to act upon. - delete: - displayName: deleteProductSegmentationImport - description: Mark a single product segmentation data import for deletion. - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Successfully deleted the requested sku exckusion import job. - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Import in progress. - body: - application/problem+json: - type: ErrorResponses.409ImportInProgressError - example: !include Examples/HttpErrors/409ImportInProgressErrorExample.raml - /file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - importId: - description: The ID of the import on which the action is being performed. - get: - description: Retrieve the import file results for the specified import ID. The current limit of requests for this endpoint for each tenant, is of 40 requests per second. - displayName: downloadProductSegmentationImportResults - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - responses: - 200: - description: Successfully downloaded the file. - body: - application/json: - type: ProductSegmentationLibrary.ImportProductSegmentationDownloadRequestResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - 410: - description: The download link is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredResultLinkError - example: !include Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml - /status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - get: - description: Retrieve status for the specified import ID. - displayName: getProductSegmentationImportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - responses: - 200: - description: Successfully retrieved product segmentation import status. - body: - type: ProductSegmentationLibrary.ProductSegmentationImportStatusResponse - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - /uploadlink/{uploadLinkId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - uriParameters: - uploadLinkId: - description: The ID of the import being uploaded. - post: - description: | - Upload an import file.
- The gateway has a filesize limit of 100MB.
- If the file is larger than 100MB, send it in compressed format. The supported algorithm is GZIP. - displayName: postProductSegmentationUploadImportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - body: - multipart/form-data: - type: ProductSegmentationLibrary.ImportsProductSegmentationUploadLinkPostBody - responses: - 200: - description: Successfully started the file upload. Details are available in the response body. - body: - application/json: - type: ProductSegmentationLibrary.ImportProductSegmentationUploadLinkResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Already received the file. - body: - application/problem+json: - type: ErrorResponses.409FileAlreadyReceivedError - example: !include Examples/HttpErrors/409FileAlreadyReceivedErrorExample.raml - 410: - description: The uploadLink URI is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredUploadLinkError - example: !include Examples/HttpErrors/410ExpiredUploadLinkErrorExample.raml - /product-segmentation/exports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { - scopes: - [ - sfcc.inventory.impex-inventory.rw, - sfcc.inventory.impex-inventory, - sfcc_inventory_impex_inventory, - ], - } - post: - description: Initiates an export of the Product Segmentation rules that have been loaded into the system. - displayName: initiateProductSegmentationExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - type: ProductSegmentationLibrary.InitiateSegmentationExportBody - examples: - ExportProductSegmentationWithGroups: !include Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportByGroups.raml - ExportProductSegmentationAllGroups: !include /Examples/ProductSegmentation/InitiateInventoryProductSegmentationExportAllGroups.raml - responses: - 200: - description: Successfully submitted request to initiate Product Segmentation Export - body: - application/json: - type: ProductSegmentationLibrary.InitiateProductSegmentationExportResponse200 - 400: - description: Invalid request. - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterErrorAvailabilityExport - examples: - GroupsError: !include /Examples/ProductSegmentation/400ProductSegmentationExportInvalidRequestParameter.raml - /{exportId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - exportId: - description: The ID of the export on which the action is being performed. - delete: - description: Delete a single export ID. The current limit of requests for this endpoint for each tenant, is of 120 requests per second. - displayName: deleteProductSegmentationExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Successfully deleted a single f export group inventory availability. - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - /file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - exportId: - description: The ID of the export on which the action is being performed. - get: - description: Download the generated Product Segmentation export file. The current limit of requests for this endpoint for each tenant, is of 40 requests per second. - displayName: downloadProductSegmentationExportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - responses: - 200: - description: Successfully downloaded the file. - body: - application/json: - type: ProductSegmentationLibrary.ExportProductSegmentationDownloadRequestResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - 410: - description: The download link is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredResultLinkError - example: !include Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml - /status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - exportId: - description: The ID of the export on which the action is being performed. - get: - description: Retrieve status information for a single export ID. The current limit of requests for this endpoint for each tenant, is of 120 requests per second. - displayName: retrieveProductSegmentationExportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - queryParameters: - exportId: - type: string - description: Export ID whose status you want to check. - responses: - 200: - description: Successfully retrieved export status. - body: - application/json: - type: ProductSegmentationLibrary.ExportProductSegmentationStatusResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - /availability-records/exports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - post: - description: Initiates an export of group or location level inventory availability. The current limit of requests for this endpoint for each tenant, is of 120 requests per second. - displayName: initiateAvailabilityExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - properties: - objects: - properties: - groups: - type: array - required: false - description: An array of group IDs whose availability information you want to export. Cannot be included if 'locations' is included below. - example: !include Examples/InitiateGroupInventoryExportExample.raml - locations: - type: array - required: false - description: An array of location IDs whose availability information you want to export. Cannot be included if 'groups' is included above. - example: !include Examples/InitiateLocationInventoryExportExample.raml - examples: - !include Examples/InitiateInventoryExportByLocationOrGroup.raml - responses: - 200: - description: Successfully submitted request to initiate export. - body: - application/json: - type: ExportLibrary.InitiateGroupExportResponse200 - 400: - description: Invalid request. - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterErrorAvailabilityExport - examples: - LocationsAndGroupsError: !include Examples/HttpErrors/400InvalidRequestParameterLocationAndGroupExample.raml - LocationDoesNotExistError: !include Examples/HttpErrors/400InvalidRequestParameterLocationDoesNotExist.raml - GroupDoesNotExistError: !include Examples/HttpErrors/400InvalidRequestParameterGroupDoesNotExist.raml - /{exportId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - exportId: - description: The ID of the export on which the action is being performed. - delete: - description: Delete a single export ID. The current limit of requests for this endpoint for each tenant, is of 120 requests per second. - displayName: deleteAvailabilityExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Successfully deleted batches of export group inventory availability. - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - /file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - exportId: - description: The ID of the export on which the action is being performed. - get: - description: Download the generated inventory availability export file. The current limit of requests for this endpoint for each tenant, is of 40 requests per second. - displayName: downloadAvailabilityExportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - responses: - 200: - description: Successfully downloaded the file. - body: - application/json: - type: ExportLibrary.ExportGroupDownloadRequestResponse200 - application/text: - type: ExportLibrary.ExportLocationDownloadRequestResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - 410: - description: The download link is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredResultLinkError - example: !include Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml - /status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - get: - description: Retrieve status information for a single export ID. The current limit of requests for this endpoint for each tenant, is of 120 requests per second. - displayName: retrieveGroupExportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - queryParameters: - exportId: - type: string - description: Export ID whose status you want to check. - responses: - 200: - description: Successfully retrieved export status. - body: - application/json: - type: ExportLibrary.ExportGroupStatusResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - /event-log/exports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - post: - description: Submit events activity export. - displayName: submitEventsActivityExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - type: EventLogLibrary.InitiateEventActivityExportRequestBody - responses: - 200: - description: Successfully submitted export. - body: - type: EventLogLibrary.InitiateEventLogExportResponse200 - 400: - description: Invalid request. - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterError - example: !include Examples/HttpErrors/400InvalidRequestParameterErrorEventsExportExample.raml - /{exportId}/status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - get: - description: Retrieve status information for a single export ID. The current limit of requests for this endpoint for each tenant, is of 120 requests per second. - displayName: retrieveEventLogExportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - queryParameters: - exportId: - type: string - description: Export ID whose status you want to check. - responses: - 200: - description: Successfully retrieved export status. - body: - application/json: - type: EventLogLibrary.ExportEventLogStatusResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - /{exportId}/file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - get: - description: Download the generated events activity export file. - displayName: downloadEventsActivityExportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - responses: - 200: - description: Successfully downloaded the file. - body: - application/json: - !include types/EventLog/EventLogExportDownloadFileRaw.raml - 404: - description: The event activity export ID does not exist. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - 410: - description: The download link is no longer available at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredResultLinkError - example: !include Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml - /reservations/exports: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory.rw, sfcc_inventory_impex_inventory_rw] } - post: - description: Submit a reservations export request - displayName: submitReservationsExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - type: ReservationsLib.InitiateReservationsExportRequestBody - responses: - 200: - description: Successfully submitted export requests - body: - type: ReservationsLib.InitiateReservationsExportResponse200 - 400: - description: Invalid request - body: - application/problem+json: - type: ErrorResponses.400InvalidRequestParameterError - example: !include Examples/HttpErrors/400InvalidRequestParameterErrorEventsExportExample.raml - /{exportId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - uriParameters: - exportId: - description: The ID of the reservations export on which the action is being performed. - delete: - description: Delete a single reservation export ID. The current limit of requests for this endpoint for each tenenat is 120 requests per second. - displayName: deleteReservationsExport - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Successfully deleted a single reservations export. - 404: - description: Entity not found - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - /{exportId}/file-content: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - get: - description: Download the generated reservations export file. - displayName: downloadReservationsExportFile - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 404 - responseStatus3: 409 - responseStatus4: 410 - responses: - 200: - description: Successfully downloaded the file. - body: - applicaiton/json: - !include types/Exports/Reservations/ReservationsExportDownloadFileRaw.raml - 404: - description: The reservations export file does not exist. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml - 409: - description: Export in progress. - body: - application/problem+json: - type: ErrorResponses.409ExportInProcessError - example: !include Examples/HttpErrors/409ExportInProcessErrorExample.raml - 410: - description: The download link is no longer abvailable at the server. - body: - application/problem+json: - type: ErrorResponses.410ExpiredResultLinkError - example: !include Examples/HttpErrors/410ExpiredResultLinkErrorExample.raml - /{exportId}/status: - securedBy: - - CommerceCloudStandards.AmOAuth2: - { scopes: [sfcc.inventory.impex-inventory, sfcc_inventory_impex_inventory] } - description: Check the status of a reservation document export request. - get: - description: Retrieve status information for a single export ID. The current limit of requests for this endoint for each tenant is 120 requests per second. - displayName: retrieveReservationsExportStatus - is: - - AuthorizedEndpoint - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 404 - responses: - 200: - description: Successfully retrieved export status. - body: - application/json: - type: ReservationsLib.ExportReservationsStatusResponse200 - 404: - description: Entity not found. - body: - application/problem+json: - type: ErrorResponses.404EntityNotFoundError - example: !include Examples/HttpErrors/404EntityNotFoundErrorExample.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/inventory-impex-description.md b/testIntegration/stagingApis/inventory/impex/inventory-impex-description.md deleted file mode 100644 index 62fcc7ae..00000000 --- a/testIntegration/stagingApis/inventory/impex/inventory-impex-description.md +++ /dev/null @@ -1,555 +0,0 @@ -# API Overview - -Inventory Impex APIs enable you to manage imports and exports of inventory availability for Omnichannel Inventory (OCI). - -The API can be segregated into the following functional categories. - -| Category | Endpoint Description | -| ----------------------------- | ---------------------------------------------------------------------- | -| Inventory Imports and Exports | API endpoints for importing and exporting inventory availability data. | - -**Note**: Omnichannel Inventory uses the Tenant Group ID in place of the Organization ID. For more information, see [Commerce API Configuration Values](https://developer.salesforce.com/docs/commerce/commerce-api/guide/commerce-api-configuration-values.html). - -## Authentication and Authorization - -Clients calling Omnichannel Inventory can be authenticated in one of two ways. - -- Authenticate using Account Manager with your B2C Commerce credentials. -- Authenticate using your Salesforce org credentials. - -If you’re using both B2C Commerce and Salesforce Order Management, you can use either authentication approach. However, we recommend choosing only one to avoid mixing approaches across your integrations. - -The different authentication approaches don’t impact the purpose or performance of the APIs. - -Each authentication approach uses a unique set of scopes. - -| Scopes for Account Manager Authentication | Scopes for Salesforce org Authentication | -| ----------------------------------------- | ---------------------------------------- | -| sfcc.inventory.impex-graphs | sfcc_inventory_impex_graphs | -| sfcc.inventory.impex-inventory.rw | sfcc_inventory_impex_inventory_rw | -| sfcc.inventory.impex-inventory | sfcc_inventory_impex_inventory | -| sfcc.inventory.availability | sfcc_inventory_availability | -| sfcc.inventory.availability.rw | sfcc_inventory_availability_rw | -| sfcc.inventory.reservations | sfcc_inventory_reservations | -| sfcc.inventory.reservations.rw | sfcc_inventory_reservations_rw | - -Calls through the API gateway to Omnichannel Inventory must have a valid OAUTH bearer token. The tenant identifier used by Omnichannel Inventory is supplied in the header of the token. - -All request and response body entities are composed in JSON. - -## Availability Inventory Imports and Exports - -Use these API endpoints to import and export item availability data and read deltas (changes). - -Omnichannel Inventory stores items for each SKU, keeping a tally of the following item availability properties. - -| Availability Property | Description | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| `Available to Fulfill` | Inventory that can be fulfilled now (`Quantity on Hand` - `Quantity Reserved`). | -| `Available to Order` | Inventory that can be ordered ((`Quantity on Hand` + `Future Inventory`) - `Quantity Reserved`). | -| `Quantity on Hand` | Inventory available, not counting `Future Inventory` or `Quantity Reserved`. | -| `Quantity Reserved` | Inventory reserved for fulfillment. | -| `Safety Stock Count` | Inventory quantity that is intentionally held back and not included in the counts of `Available to Order` or `Available to Fulfill` inventory. | -| `Future Inventory` | Inventory available for pre-order or backorder only. Inventory isn’t currently available and includes an expected in-stock date. | - -Use the availability-records imports _POST_ endpoint to initiate a load of the inventory availability data into Omnichannel Inventory. The details of the data being imported are included in the body of the _POST_ request. - -The resulting response body from the initiate call contains a link to submit the actual import data stream/file. If the file being uploaded into the system is larger than 100 MB, the file _must_ be compressed with gzip. - -After the file has been successfully uploaded to the OCI system, the status of the import can be checked by making calls to the availability-records imports status endpoint. When using this endpoint in conjunction with the importId used in the file upload, you can see if the import process has completed yet. - -After the file has been successfully processed by OCI, the response body includes a status of _COMPLETED_. Other metrics regarding the import are also included, and can be found in the documentation for the _status_ call. - -Also included in the _COMPLETED_ status is the _fullResults href_. Using this URI, you can retrieve the detailed results of the completed import process. - -When performing an import for item availability records, the following endpoints should be used in this order: - -1. Initiate the import with a call to the imports _POST_ URI. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports` -2. Use the uploadLink from the response body of step one to upload the data stream/file to OCI using a _POST_ call to the endpoint provided. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports/uploadlink/{uploadLinkId}` -3. After the file has been uploaded into OCI, you can use a _GET_ call to the importStatusLink that was provided in the response body to initiate call (step one) to check on the status of the processing of your import data. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports/{importId}/status` -4. After the status field in the response body returned from step 3 is _COMPLETED_, the import of the availability record data into OCI is complete. The status response includes a _fullResults href_ field that has a URI for retrieving the details about the completed import process. This information is retrieved with a _GET_ call to the provided URI. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/availability-records/imports/{importId}/file-content` - -Following the steps in this order, with the endpoints indicated, allows you to successfully import availability records into OCI. - -### Location Inventory Import File Layout - -#### Import File Layout - High-Performance - -It’s strongly encouraged that all new customer implementations use this import file layout. Existing customer implementations that use the legacy layout should also migrate to using this new layout so that they can capture the performance improvements. This layout combines the **Location Header** and **Location Inventory** _objects_ of the original specification, into 1 entity. The system doesn’t support mixing content of the original layout and the new one. The import file must be composed entirely using the High-Performance Layout or the Legacy Layout. - -**Important**: In order to realize the performance improvement, the file must be constructed such that the SKUs are grouped together, as in the following example. - -**Note**: The `mode` is assumed to be `UPDATE` since it's currently the only one supported. - -`{"recordId":"0a87539d-f3dd-47bc-91c7-9c752e39dbe0","onHand":10,"sku":"sku1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"wickenburg"}` - -`{"recordId":"3127e2ad-748b-459a-917c-78bef741602c","onHand":10,"sku":"sku1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"prescott"}` - -`{"recordId":"b709e7a8-7d4f-4458-be0c-a88f1e594f1d","onHand":10,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"wickenburg"}` - -`{"recordId":"b34c99ea-e659-40f7-bcb4-2a3fdc4a80b0","onHand":10,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"prescott"}` - -`{"recordId":"4bf7b40b-c965-485c-afa0-cc56a8ea70eb","onHand":10,"sku":"sku3","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"wickenburg"}` - -`{"recordId":"539d41b7-5f05-4908-831b-3dd0461794fc","onHand":10,"sku":"sku3","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0,"locationId":"prescott"}` - -There are no other requirements for indicating that you’re using the High-Performance Layout. The system reads the file and automatically determines how to process it. - -For information regarding the field contents, please see the Import Field Definitions section below. - -#### Import File Layout - Legacy - -**Note**: The system still supports this import file layout, but due to lower performance, we recommend that users migrate away from using this layout. For more details, see the **Import File Layout High Performance** section. - -The import data stream specifies inventory availability data by location and the kind of import operation Omnichannel Inventory should perform (for example, `UPDATE`, `DELETE`, or `REPLACE`). The stream consists of 2 types of json entities separated by line feeds: **Location Header** and **Location Inventory.** - -For information regarding the field contents, see the **Import Field Definitions** section. - -**Important**: The **Location Header** entity has a one-to-many relationship with the **Location Inventory** entity. For each Location Header, one or more Location Inventory entities should follow for the same location. Although placing a Location Header above each Location Inventory entity is allowed, it leads to _significantly slower_ import processing! - -`{"location":"wickenburg","mode":"UPDATE"}` - -`{"recordId":"0a87539d-f3dd-47bc-91c7-9c752e39dbe0","onHand":10,"sku":"sku1","effectiveDate":"2020-04-08T14:05:22.790896-07:00","futures":[{"quantity":1,"expectedDate":"2020-04-18T14:05:22.781-07:00"}],"safetyStockCount":0}` - -`{"recordId":"f4bf981e-321e-42bd-851f-3573a3263ab1","onHand":5,"sku":"sku2","effectiveDate":"2020-04-08T14:05:22.790896-07:00","safetyStockCount":1}` - -#### Import Field Definitions - -Location Header: - -| Field | Description | Required Field | -| ---------- | ------------------------------------------------------------------------------ | -------------- | -| `location` | The physical location where inventory is housed. | `TRUE` | -| `mode` | The type of system operation to perform. Currently, only `UPDATE` is supported | `TRUE` | - -Location Inventory: - -| Field | Description | Required Field | -| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | -| `recordId` | Unique identifier of inventory record. | `TRUE` | -| `sku` | Unique item identifier. Cannot contain : \ < > ; % / or spaces, tabs, and line breaks. | `TRUE` | -| `onHand` | The current quantity on hand. | `FALSE` | -| `effectiveDate` | The effective date of the `onHand` (ISO format). | `FALSE`, see the additional description below for more detail. | -| `futures` | A collection of future quantity information for the item. (See Future Quantity, below.) Note: the Inventory Availability API references `futures` in a collection called, `futureStock`. These are the same thing. | `FALSE`, If specified see the required fields below. | -| `safetyStockCount` | The safety stock count. | `FALSE` | - -Future Quantity: - -| Field | Description | Required Field | -| -------------- | --------------------------------------------------------------------------------------- | -------------- | -| `quantity` | The quantity that will be arriving in the future. **The value must be greater than 0.** | `TRUE` | -| `expectedDate` | The date the future quantity is expected to arrive (ISO format). | `TRUE` | - -The response from the call to submit contains a custom endpoint for checking the status and progress of the import. The status response contains a URI for the full result file for any records that failed to load, if there are any. Omnichannel Inventory also provides endpoints for querying and deleting import jobs. - -Availability Effective Date: - -The `effectiveDate` field represents the time the `onHand` value was accurate at the physical location. It’s used in conjunction with the reservation fulfillment field, `fulfillmentTime` to keep `onHand` in sync with the physical location. For example, if `effectiveDate` is specified on a location record, the system will optionally decrement the value of `onHand` when a Reservation Fulfillment is made. See the [Inventory Reservation API](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=inventory-reservation-service:Summary) for more information on how Reservation Fulfillments work. - -#Example: - -Import happens for SKU: `abc` at location: `123`, and the value of `onHand` accounts for a Reservation Fulfillment that hasn't yet processed in OCI. - -Note: The JSON is shown formatted here, however in the actual import file it _must_ all be on a single line. - -``` - { - "recordId":"a26fe1fd-c413-4b74-8570-1ec185ca7192", - "onHand":10, - "sku":"abc", - "effectiveDate":"2021-03-09T00:00:00.000000-07:00" - } -``` - -Reservation Fulfillment Request happens after the import for SKU: `abc` at location: `123` - -```{ - "records": [ - { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "location": "123", - "sku": "abc", - "fulfillmentTime":"2021-03-08T00:00:00.000000-07:00" - "quantity": 1 - } - ] - } -``` - -The system compares the values of `effectiveDate` and `fulfillmentTime`. Since `fulfillmentTime` is _less_ than `effectiveDate` it does _not_ decrement the value of `onHand`. If the reservation fulfillment happened first, `onHand` would be decremented (assuming the previous value of `effectiveDate` was less than `fulfillmentTime`). Then when the system performed the inventory import, the value of `onHand` would replace the previous value. - -### Location Inventory Import Result File Layout - -The result file starts with a status line record. - -`{"status": "COMPLETED_WITHOUT_ERRORS"}` - -| Result Status | Description | -| --------------------------------- | ------------------------------------ | -| `COMPLETED_WITHOUT_ERRORS` | Import completed without any errors. | -| `COMPLETED_WITH_PARTIAL_FAILURES` | Some records failed to load. | -| `FAILED` | Failed to load any records. | - -Each line following the status line represents an error record. - -`{"recordId": "2a3e769c-c981-4d96-ba6a-e0b821a5bbbb","locationId":"location1","sku": "sku1", "message": "Unknown"}` - -| Field | Description | Required Field | -| ------------ | ------------------------------------------------------------------------------------------------- | -------------- | -| `recordId` | Unique identifier of inventory record sent in import file. | `TRUE` | -| `locationId` | Location identifier. | `TRUE` | -| `sku` | Unique item identifier of an item. Cannot contain : \ < > ; % / or spaces, tabs, and line breaks. | `TRUE` | -| `message` | Message containing details for failure. | `TRUE` | - -## Product Segmentation Import - -Use these API endpoints to import product segmentation data. This data allows SKUs to be excluded from a Location Group so customers can remove certain SKUs from a particular selling channel. - -Use the product-segmentation imports _POST_ endpoint to initiate a load of the product segmentation data into Omnichannel Inventory. The details of the data being imported are included in the body of the _POST_ request. - -The resulting response body from the initiate call contains a link to submit the actual import data stream/file. If the file being uploaded into the system is larger than 100 MB, the file _must_ be compressed with gzip. - -After the file has been successfully uploaded to the OCI system, the status of the import can be checked by making calls to the product-segmentation imports status endpoint. When using this endpoint in conjunction with the importId used in the file upload, you can see if the import process has completed yet. - -After the file has been successfully processed by OCI, the response body includes a status of _COMPLETED_. Other metrics regarding the import are also included, and can be found in the documentation for the _status_ call. - -Also included in the _COMPLETED_ status is the _fullResults href_. Using this URI, you can retrieve the detailed results of the completed import process. - -When performing an import for product segmentation data, the following endpoints should be used in this order: - -1. Initiate the import with a call to the imports _POST_ URI. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/imports` -2. Use the uploadLink from the response body of step one to upload the data stream/file to OCI using a _POST_ call to the endpoint provided. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/imports/uploadlink/{uploadLinkId}` -3. After the file has been completely uploaded into OCI, you can use a _GET_ call to the importStatusLink that was provided in the response body to initiate call (step one) to check on the status of the processing of your data. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/imports/{importId}/status` -4. After the status field in the response body returned from step 3 is _COMPLETED_, the import of the product segmentation data into OCI is complete. The status response includes a _fullResults href_ field that has a URI for retrieving the details about the completed import process. This information is retrieved with a _GET_ call to the provided URI. - `https://{shortCode}.api.commercecloud.salesforce.com/inventory/impex/v1/organizations/{organizationId}/product-segmentation/exports/{exportId}/file-content` - -Following the steps in this order, with the endpoints indicated, allows you to successfully import product segmentation records into OCI. - -### Product Segmentation Exclusion Import File Layout - -The import data stream specifies the group that is affected by the data, as well as the kind of import operation Omnichannel Inventory should perform on the exclusion (for example, `REPLACE`, `APPEND`, or `REMOVE`). The stream consists of 2 types of json entities separated by line feeds: **Group Header** and **SKU Data.** - -**Important:** The **Group Header** entity has a 1-to-many relationship with the **SKU Data** entity, in that for each Group Header, one or more SKU Data entities should follow for the same group. Though placing a Group Header above each SKU Data entity is allowed, it leads to **significantly slower** import processing! - -`{"groupId":"G1","mode":"REPLACE"}` - -`{"sku":"sku1"}` - -`{"sku":"sku2"}` - -`{"groupId":"G1","mode":"APPEND"}` - -`{"sku":"sku37"}` - -### Exclusion Import Field Definitions - -Group Header: - -| Field | Description | Required Field | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- | -| `groupId` | The group that we’re acting upon for setting exclusions. | `TRUE` | -| `mode` | The type of system operation to perform for the group. `REPLACE` all entries for group, `APPEND` new entries to the group, or `REMOVE` a set of SKUs from the group exclusion. | `TRUE` | - -SKU Data: - -| Field | Description | Required Field | -| ----- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------- | -| `sku` | The unique item identifier for an item in the group that is to be excluded. Cannot contain : \ < > ; % / or spaces, tabs, and line breaks. | `TRUE` | - -## Product Segmentation Export - -The export file is a collection of complete JSON records containing the product segmentation data, one complete entry per line. - -Use this endpoint to request a snapshot of the current product segmentation exclusions. You can request a snapshop for a list of groups or all groups by using group "\*". Omnichannel inventory provides another endpoint for checking the status and progress of this operation. - -The finished export is retrieved with a link that is supplied in the status check response. -When retrieving the status for any Export or Import process, the following responses are available. - -| Export Status | Description | -| ------------- | ------------------------------------------------------------------ | -| `STAGING` | The request is being created. | -| `WAITING` | For imports - waiting for file upload. | -| `EXPIRED` | Request has expired. | -| `SUBMITTED` | Request has been submitted for processing - not yet queued. | -| `PENDING` | Request is queued for processing - not yet started. | -| `RUNNING` | Request is running - not yet complete. | -| `COMPLETED` | Request has finished - results file location included in response. | -| `FAILED` | Request has failed - resubmit a new request to try again. | -| `STOPPED` | Request was stopped - resubmit a new request to try again. | - -### Export Download File Layout - -The export file is a collection of complete JSON records, containing one complete element per line. - -#### Group Line - -`{"groupId":"UnitedStates"}` - -| Group Indicator Line | Description | -| -------------------- | ------------------------------------------------------ | -| `groupId` | The group that the following detail records belong to. | - -#### SKU Line - -`{"sku":"sku121"}` - -| Group Indicator Line | Description | -| -------------------- | ------------------------------------------------------------------------------- | -| `sku` | A sku identifier that is a member of that product segmentation exclusion group. | - -## Availability Export - -The export file is a collection of complete JSON records containing one complete element per line. - -Use this endpoint to request a snapshot of the current inventory availability with the criteria (for example, a single group, all groups, a single location, or all locations) specified in the body of the request. Omnichannel Inventory provides another endpoint for checking the status and progress of the operation. - -The finished export is retrieved with a link supplied in the status check response. The exported data contains a delta token for getting changes since the export. - -When retrieving the status for any Export or Import process, the following responses are available. - -| Export Status | Description | -| ------------- | ------------------------------------------------------------------ | -| `STAGING` | The request is being created. | -| `WAITING` | For imports - waiting for file upload. | -| `EXPIRED` | Request has expired. | -| `SUBMITTED` | Request has been submitted for processing - not yet queued. | -| `PENDING` | Request is queued for processing - not yet started. | -| `RUNNING` | Request is running - not yet complete. | -| `COMPLETED` | Request has finished - results file location included in response. | -| `FAILED` | Request has failed - resubmit a new request to try again. | -| `STOPPED` | Request was stopped - resubmit a new request to try again. | - -### Export Download File Layout - -The export file is a collection of complete JSON records, containing one complete element per line. - -**Note**: The Availability Export only supports exporting either groups or locations, but not both at the same time. - -#### Group Line - -`{"groupId":"UnitedStates"}` - -| Group Indicator Line | Description | -| -------------------- | ------------------------------------------------------ | -| `groupId` | The group that the following detail records belong to. | - -#### Location Line - -`{"locationId":"phoenix"}` - -| Group Indicator Line | Description | -| -------------------- | --------------------------------------------------------- | -| `locationId` | The location that the following detail records belong to. | - -Item Record Lines - One Complete JSON Entry Per Line: - -`{"sku":"123","onHand":10,"reserved":6,"groupReserved":6,"sharedGroupReserved":0,"atf":4,"ato":24,"safetyStockCount":1,"effectiveDate":"2019-07-20T11:04:02Z","futures":[{"quantity":20,"expectedDate":"2019-07-24T21:13:00Z"}]}` - -| Field | Description | Required Field | -| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -| `sku` | Unique item identifier. Cannot contain : \ < > ; % / or spaces, tabs, and line breaks. | `TRUE` | -| `onHand` | The current quantity on hand. | `TRUE` | -| `reserved` | The current quantity reserved. | `TRUE` | -| `atf` | The current quantity available to fulfill. | `TRUE` | -| `ato` | The current quantity available to place on order. | `TRUE` | -| `effectiveDate` | The effective date (ISO format. | `FALSE` | -| `groupReserved` | The total group reservations for the group NOT including shared. This field is present only for GROUP lines in the export. | `FALSE` | -| `sharedGroupReserved` | The amount of the soft reserved count that comes from other groups. This field is present only for GROUP lines in the export. | `FALSE` | -| `safetyStockCount` | The safety stock count. | `TRUE` | -| `futures` | A collection of future quantity information for the item, as described below. The Inventory Availability API references `futures` in a collection called `futureStock`. These are the same thing. | `TRUE` | - -Future Quantity: - -| Field | Description | Required Field | -| -------------- | ---------------------------------------------------------------- | -------------- | -| `quantity` | The quantity that will be arriving in the future. | `TRUE` | -| `expectedDate` | The date the future quantity is expected to arrive (ISO format). | `TRUE` | - -Delta Token Line: - -`{"deltaToken": "dsfljasdflkjasdfkj2381238"}` - -The value is used in the call to retrieve deltas. This delta token is valid for 23.5 hours, after which time it expires and a new token must be obtained with another export. See the [Inventory Availability API](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=inventory-availability:Summary) for additional details. - -## Event Log Export - -The export file is a collection of complete JSON records containing one complete element per line. - -Use this endpoint to request the event log for a SKU within a certain set of locations and groups. Omnichannel Inventory provides another endpoint for checking the status and progress of the operation. - -The finished export is retrieved with a link supplied in the status check response. - -When retrieving the status for any Export or Import process, the following responses are available. - -| Export Status | Description | -| ------------- | ------------------------------------------------------------------ | -| `STAGING` | The request is being created. | -| `WAITING` | For imports - waiting for file upload. | -| `EXPIRED` | Request has expired. | -| `SUBMITTED` | Request has been submitted for processing - not yet queued. | -| `PENDING` | Request is queued for processing - not yet started. | -| `RUNNING` | Request is running - not yet complete. | -| `COMPLETED` | Request has finished - results file location included in response. | -| `FAILED` | Request has failed - resubmit a new request to try again. | -| `STOPPED` | Request was stopped - resubmit a new request to try again. | - -### Export Download File Layout - -The export file is a collection of complete JSON records, containing one complete element per line. - -#### Group Line - -`{"groupId":"UnitedStates"}` - -| Group Indicator Line | Description | -| -------------------- | ------------------------------------------------------ | -| `groupId` | The group that the following detail records belong to. | - -#### Location Line - -`{"locationId":"phoenix"}` - -| Group Indicator Line | Description | -| -------------------- | --------------------------------------------------------- | -| `locationId` | The location that the following detail records belong to. | - -Item Record Lines - One Complete JSON Entry Per Line: - -`{"locationId":"newbraunfels"}{"eventType":"location_import","location":"newbraunfels","sequenceNumber":0,"quantity":10.0,"newReserved":0.0,` - -`"newAto":11.0,"newOnHand":10.0,"newAtf":10.0,"newSoftReserved":0.0,"futureQuantity":1.0,"oldReserved":0.0,` - -`"oldAto":0.0,"oldOnHand":0.0,"oldAtf":0.0,"oldSoftReserved":0.0,"createdTime":"2022-01-18T15:58:40.443Z",` - -`"effectiveTime":"2020-04-08T14:05:22.795243-07:00","safetyStockCount":0.0}` - -| Field | Description | Required Field | -| ------------------ | ------------------------------------------------------------------ | -------------- | -| `eventType` | The event type. | `TRUE` | -| `location` | The location associated with this event. | `TRUE` | -| `sequenceNumber` | The internal sequence number associated with the event. | `TRUE` | -| `quantity` | The item quantity. | `TRUE` | -| `newReserved` | The new reserved amount for the SKU and location. | `TRUE` | -| `newAto` | The new ATO for the item. | `TRUE` | -| `newOnHand` | The new on hand amount for the item. | `TRUE` | -| `newAtf` | The new ATF amount for the item. | `TRUE` | -| `newSoftReserved` | The new soft reservation amount for the item. | `TRUE` | -| `futureQuantity` | The future quantity for the item. | `TRUE` | -| `oldReserved` | The old reserved amount for the item, before the event took place. | `TRUE` | -| `oldAto` | The old ATO for the item, before the event took place. | `TRUE` | -| `oldOnHand` | The old on hand amount for the item, before the event took place. | `TRUE` | -| `oldAtf` | The old ATF amount for the item, before the event took place. | `TRUE` | -| `oldSoftReserved` | The old soft reserved amount, before the event took place. | `TRUE` | -| `createdTime` | The time the event was created. | `TRUE` | -| `effectiveTime` | The effective time of the event. | `TRUE` | -| `safetyStockCount` | The safety stock count value for the item. | `TRUE` | - -## Reservations Export - -Use this endpoint to request the reservation documents within a certain set of dates and reservation status values. The current supported status values for a reservation are "open" and "closed". Omnichannel Inventory provides endpoints for initiating the export, checking the status and progress of the export, and for downloading the actual export file when it is complete. - -The finished export is retrieved with a link supplied in the status check response. - -When retrieving the status for any Export or Import process, the following responses are available. - -| Export Status | Description | -| ------------- | ------------------------------------------------------------------ | -| `STAGING` | The request is being created. | -| `WAITING` | For imports - waiting for file upload. | -| `EXPIRED` | Request has expired. | -| `SUBMITTED` | Request has been submitted for processing - not yet queued. | -| `PENDING` | Request is queued for processing - not yet started. | -| `RUNNING` | Request is running - not yet complete. | -| `COMPLETED` | Request has finished - results file location included in response. | -| `FAILED` | Request has failed - resubmit a new request to try again. | -| `STOPPED` | Request was stopped - resubmit a new request to try again. | - -### Export Download File Layout - -The export file is a collection of complete JSON records, containing one reservation record per reservationId. - -#### Header Info -{\ -    "reservationId" : "5baf4a87-1841-4311-9ca9-601e5d32885b",\ -    "externalRefId" : "OCI-1234567",\ -    "reservationTime" : 1648718653000,\ -    "reservationState" : "CLOSED",\ -    "reservationDetails" : []\ -} - -| Header Field Info | Description | -| -------------------- | ------------------------------------------------------ | -| `reservationId` | The reservationId for the exported reservation. | -| `externalRefId` | The external reference identifier for the exported reservation. This value correlates to a value in an external ordering system | -| `reservationTime` | The time that was applied to the reservation when it was placed. | -| `reservationState` | The current state of the reservation. Current supported values are "open" and "closed". | -| `reservationDetails` | An array containing the details of the reservation in question. | - - -#### Reservation Details - -The reservationDetails field contains an array of info related to the exported reservation - -"reservationDetails" : {\ -    "group": "ACME_US",\ -    "sku" : "white-shirt-40",\ -    "quantity" : 5,\ -    "reservationDetailActions" [] \ -} - -| Reservation Details Info | Description | -| --------------------------- | ------------------------------------------------------ | -| `group or location` | Whether this detail item is associated with a group or a location. | -| `sku` | The SKU identifier associated with this detail line. | -| `quantity` | The quantity applied to the reservation line item. | -| `reservationDetailActions` | An array of actions that have taken place for this line item in the reservation. | - - -#### Reservation Detail Actions - -The reservationDetailActions is an array of entries tracking the actions taken on a particular reservation document. -"reservationDetailActions" : [\ -      {\ -         "requestId" : "3678-23456-3456-4567-9999-1232",\ -         "externalRefId" : "1234561-4949-2345",\ -         "quantity" : 5,\ -         "action" : Reserverd,\ -         timestamp : "16487200010000"\ -      }\ -    ] - -| Reservation Actions Detail | Description | -| --------------------------- | ------------------------------------------------------ | -| `requestId` | The request ID associated with this reservation action.| -| `externalRefId` | The external reference identifier for the exported action. This value correlates to a value in an external ordering system. | -| `quantity` | The quantity associated with this reservaiton action. | -| `action` | The action that was taken against this line item. | -| `timestamp` | The time that the action was taken. | - -## Common Response Codes - -The following error codes apply to all API endpoints. See the API documentation for a complete list of the error codes and response bodies that can be expected on each endpoint. - -- 401 - The OATH bearer token isn’t valid for the tenant or is no longer valid. The response body has the details. -- 403 - The tenant isn’t provisioned in the system. -- 5XX - There was a server error. The response body has the details. -- Unknown - If an Unknown error type is returned, it indicates that an unknown internal error occurred. - -## External Reference Identifier - -Currently, there are a number of places where a consumer can submit an `ExternalRefId` with their request. This is to allow the consumer to submit user-generated data along with their request as a link to other external systems data. For example, if I'm pulling data from an order that has an order ID, I can submit that order ID with my reservation request as the `externalRefId`. Then, if there is a problem with the reservation, there is a way to connect it with the order in the external system that generated the error or problem. This is NOT to be confused with `externalRefId` used in Salesforce Core, or any other services. The usage is exclusive to OCI and is not used anywhere else. - -## Correlation-ID - -In order to facilitate tracking of operations in OCI, customers must populate a header with the name Correlation-ID, which will be passed through the CDN and sent with the request to OCI. This will help trace requests as they move throughout our service. To be accepted, the correlation-id must be a valid UUIDv2, otherwise, it will be ignored. - -When a web-request is passed through the CDN, the CDN's x-correlation-id header value (which comes from their ray-id) also comes into play. In this case, the correlation-id provided will be prepended to the CDN's x-correlation-id and both values will be passed through, separated by a comma. - -Some services use a header X-Correlation-ID. In the case of OCI, if this header is used, it is overwritten by the CDN with a new value and the initial purpose of the header is defeated. Use the Correlation-ID instead for a consistent result. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorCodeTypesEnum.raml b/testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorCodeTypesEnum.raml deleted file mode 100644 index 59fa35d4..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorCodeTypesEnum.raml +++ /dev/null @@ -1,96 +0,0 @@ -#%RAML 1.0 Library - -types: - ErrorCodeTypesEnum: - type: ErrorCodesEnum - - InvalidRequestParameter: - enum: [InvalidRequestParameter] - type: string - example: InvalidRequestParameter - - InvalidRequestParameterAvailabilityExport: - enum: [InvalidRequestParameter, LocationDoesNotExist, GroupDoesNotExist] - type: string - example: InvalidRequestParameter - - EntityNotFound: - enum: [EntityNotFound] - type: string - example: EntityNotFound - - ExportInProcess: - enum: [ExportInProcess] - type: string - example: ExportInProcess - - ImportInProgress: - enum: [ImportInProgress] - type: string - example: ImportInProgress - - FileAlreadyReceived: - enum: [FileAlreadyReceived] - type: string - example: FileAlreadyReceived - - ExpiredUploadLink: - enum: [ExpiredUploadLink] - type: string - example: ExpiredUploadLink - - ExpiredResultLink: - enum: [ExpiredResultLink] - type: string - example: ExpiredResultLink - - ErrorCodesEnum: - enum: - - InsufficientQuantity - - DuplicateGroupId - - InvalidGroupId - - DuplicateSku - - MissingParameter - - InvalidRequest - - InvalidRequestParameter - - EntityAlreadyExists - - PositiveQuantityRequired - - ReservationInUnknownState - - ReservationInvalidState - - ReservationCancelled - - EntityNotFound - - ReservationCancellationFailed - - ExportInProcess - - ExportProcessFailed - - Unknown - - DuplicateEventId - - ReservationOperationInProcess - - ConcurrentModification - - GroupDoesNotExist - - OnlyOneLocationSupported - - NotAppliedDueToAtomicFailure - - ImportInProgress - - ExpiredDeltaLink - - InventoryReset - - UnableToStartExport - - ResourceNotFound - - LocationListMustNotBeEmpty - - SeeOtherResource - - TenantNotProvisioned - - ReservationAlreadyFinalized - - MismatchedGroupAndLocation - - GroupMustNotBeEmpty - - LocationListTooLarge - - ExpiredUploadLink - - ExpiredResultLink - - FileAlreadyReceived - - IllegalGroupState - - DeleteTenantNotAllowed - - TenantResetInProgress - - LocationDoesNotExist - - LocationNotInGroup - - PreviousRequestAborted - - PreviousRequestCancelled - - DuplicateLocationId - type: string - example: InsufficientQuantity diff --git a/testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorResponses.raml b/testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorResponses.raml deleted file mode 100644 index 32927b40..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/ErrorHandling/ErrorResponses.raml +++ /dev/null @@ -1,241 +0,0 @@ -#%RAML 1.0 Library - -uses: - ErrorCodeTypesEnum: ErrorCodeTypesEnum.raml - -types: - ErrorResponse: - properties: - errorCode: - type: ErrorCodeTypesEnum.ErrorCodeTypesEnum - required: true - example: "InvalidRequest" - message: - type: string - required: true - example: "The delta token provided is invalid." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - UnknownError: - properties: - timestamp: - type: string - required: true - example: "2020-07-06T17:46:57.492+0000" - status: - type: integer - required: true - example: 500 - error: - type: string - required: true - example: "An unknown internal error has occurred" - type: - type: string - required: true - example: "about:blank" - - NotAuthorized: - properties: - timestamp: - type: string - required: true - example: "2020-07-06T17:46:57.492+0000" - status: - type: integer - required: true - example: 403 - error: - type: string - required: true - example: "Forbidden" - message: - type: string - required: true - example: "No message available" - path: - type: string - required: true - example: "/inventory/impex/v1/organizations/myOrgId/location-graph/exports" - - InvalidRequestParameter: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameter - required: true - example: "InvalidRequestParameter" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameterAvailabilityExport: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterAvailabilityExport - required: true - example: "InvalidRequestParameter" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - EntityNotFound: - properties: - errorCode: - type: ErrorCodeTypesEnum.EntityNotFound - required: true - example: "EntityNotFound" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - ExportInProcess: - properties: - errorCode: - type: ErrorCodeTypesEnum.ExportInProcess - required: true - example: "ExportInProcess" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - ImportInProgress: - properties: - errorCode: - type: ErrorCodeTypesEnum.ImportInProgress - required: true - example: "ImportInProgress" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - FileAlreadyReceived: - properties: - errorCode: - type: ErrorCodeTypesEnum.FileAlreadyReceived - required: true - example: "FileAlreadyReceived" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - ExpiredUploadLink: - properties: - errorCode: - type: ErrorCodeTypesEnum.ExpiredUploadLink - required: true - example: "ExpiredUploadLink" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - ExpiredResultLink: - properties: - errorCode: - type: ErrorCodeTypesEnum.ExpiredResultLink - required: true - example: "ExpiredResultLink" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - ApiErrors: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - - #Create the union of the standards error and our error - 403Error: [NotAuthorized, ApiErrors] - 400InvalidRequestParameterError: [InvalidRequestParameter, ApiErrors] - 400InvalidRequestParameterErrorAvailabilityExport: [InvalidRequestParameterAvailabilityExport, ApiErrors] - 404EntityNotFoundError: [EntityNotFound, ApiErrors] - 409ExportInProcessError: [ExportInProcess, ApiErrors] - 409ImportInProgressError: [ImportInProgress, ApiErrors] - 409FileAlreadyReceivedError: [FileAlreadyReceived, ApiErrors] - 410ExpiredUploadLinkError: [ExpiredUploadLink, ApiErrors] - 410ExpiredResultLinkError: [ExpiredResultLink, ApiErrors] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/ExportReservations.raml b/testIntegration/stagingApis/inventory/impex/libraries/ExportReservations.raml deleted file mode 100644 index 6de7c159..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/ExportReservations.raml +++ /dev/null @@ -1,79 +0,0 @@ -#%RAML 1.0 Library -types: - Date: !include ../types/GlobalTypes/Date.raml - GroupId: !include ../types/GlobalTypes/GroupId.raml - SkuId: !include ../types/GlobalTypes/SkuId.raml - PlaceId: !include ../types/GlobalTypes/LocationGroup.raml - ReservationExportStatuses: !include ../types/Exports/Reservations/ReservationsExportStatuses.raml - LocationId: !include ../types/GlobalTypes/LocationId.raml - LocationOrGroup: !include ../types/GlobalTypes/LocationOrGroup.raml - DeleteErrors: !include ../types/EventLog/DeleteEventLogErrors.raml - UniqueId: !include ../types/GlobalTypes/UniqueId.raml - FileHashTypes: !include ../types/FileHashTypes.raml - GetReservationsRequestBody: !include ../types/Exports/Reservations/GetReservationsRequestBody.raml - InitiateReservationsExportResponse200: !include ../types/Exports/Reservations/InitiateReservationsExportResponse200.raml - - InitiateReservationsExportRequestBody: - description: The body that is sent requesting a reservations export to be initiated - type: GetReservationsRequestBody - - ExportReservationsStatusResponse200: - properties: - id: - description: The ID associated with this reservations export request. - type: UniqueId - example: ameff4b2-2dc3-4ea8-af6d-c75fafd62323 - status: - description: The current status of the export request - type: ReservationExportStatuses - example: COMPLETED - export: - properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: Date - example: 2019-02-12T12:34:00Z - required: false - endTimeUTC: - description: The UTC time that the export process completed. - type: Date - example: 2019-02-12T12:52:00Z - required: false - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - groups: - description: Groups assocatiated with this export request - required: false - type: array - items: GroupId - download: - properties: - downloadLink: - description: The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: /v2/organizations/AtsisIntegrationTenant/reservations/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: Date - example: 2019-02-12T13:23:51Z - validation: - required: false - properties: - fileHashType: - description: The file hash type associated with the export file. - type: FileHashTypes - example: SHA-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/Exports.raml b/testIntegration/stagingApis/inventory/impex/libraries/Exports.raml deleted file mode 100644 index bc74e0b6..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/Exports.raml +++ /dev/null @@ -1,200 +0,0 @@ -#%RAML 1.0 Library - -types: - ExportStatusLink: !include ../types/Exports/ExportStatusLink.raml - ExportStatuses: !include ../types/Exports/ExportStatuses.raml - FileHashTypes: !include ../types/FileHashTypes.raml - ExportStatsGroup: !include ../types/Exports/ExportStatsGroup.raml - ExportStatsLocation: !include ../types/Exports/ExportStatsLocation.raml - ExportGroupDownloadLink: !include ../types/Exports/ExportGroupDownloadLink.raml - ExportLocationDownloadLink: !include ../types/Exports/ExportLocationDownloadLink.raml - ExportFileValidation: !include ../types/Exports/ExportFileValidation.raml - ExportResultsRecord: !include ../types/Exports/ExportResultsRecord.raml - DeltaToken: !include ../types/GlobalTypes/DeltaToken.raml - Date: !include ../types/GlobalTypes/Date.raml - GroupId: !include ../types/GlobalTypes/GroupId.raml - LocationId: !include ../types/GlobalTypes/LocationId.raml - UniqueId: !include ../types/GlobalTypes/UniqueId.raml - ExportBatchDataType: !include ../types/Exports/ExportBatchDataType.raml - - - ExportDownloadRequestResponse200: - properties: - deltaToken: - type: DeltaToken - records: - type: array - items: - type: ExportResultsRecord - - InitiateGroupExportResponse200: - properties: - exportId: - type: UniqueId - description: The ID associated with the initiated export - example: a218f4b2-2dc3-4ea8-af6d-c75fafd62323 - exportStatusLink: - type: string - description: The URI to be used for accessing the export status. This resource is available immediately. - example: "/inventory/inventory-availability/v1/organizations/AtsisIntegrationTenant/availability-records/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/status" - - InitiateLocationExportResponse200: - properties: - exportId: - type: UniqueId - description: The ID associated with the initiated export - example: a218f4b2-2dc3-4ea8-af6d-c75fafd62323 - exportStatusLink: - type: string - description: The URI to be used for accessing the export status. This resource is available immediately. - example: "/inventory/inventory-availability/v1/organizations/AtsisIntegrationTenant/inventory/exports/locations/status?exportIds=a218f4b2-2dc3-4ea8-af6d-c75fafd62323" - - ExportDeleteResponse200: - properties: - errors: - type: array - items: - type: !include ../types/Exports/DeleteExportErrors.raml - - ExportDeleteBatchResponse200: - properties: - deleted: - type: array - items: - type: string - example: "d88e54c5-23ed-4e33-a6a9-c31dc810662b" - errors: - type: array - items: - type: !include ../types/Exports/DeleteExportErrors.raml - - ExportLocationStatusResponse200: - properties: - id: - description: The ID assocaited with this export request. - type: UniqueId - example: 323b0g69-d37d-423a-84f5-8f393fe80459 - status: - description: The current status of the export request - type: ExportStatuses - example: COMPLETED - export: - properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: Date - example: 2019-02-12T12:34:00Z - endTimeUTC: - description: The UTC time that the export process completed. - type: Date - example: 2019-02-12T12:52:00Z - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - locations: - description: Locations assocatiated with this export request - required: false - type: array - items: LocationId - download: - type: ExportLocationDownloadLink - validation: - type: ExportFileValidation - - ExportGroupStatusResponse200: - properties: - id: - description: The ID associated with this export request. - type: UniqueId - example: ameff4b2-2dc3-4ea8-af6d-c75fafd62323 - status: - description: The current status of the export request - type: ExportStatuses - example: COMPLETED - export: - properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: Date - example: 2019-02-12T12:34:00Z - required: false - endTimeUTC: - description: The UTC time that the export process completed. - type: Date - example: 2019-02-12T12:52:00Z - required: false - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - groups: - description: Groups assocatiated with this export request - required: false - type: array - items: GroupId - download: - properties: - downloadLink: - description: The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: /v2/organizations/AtsisIntegrationTenant/availability-records/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: !include ../types/GlobalTypes/Date.raml - example: 2019-02-12T13:23:51Z - validation: - required: false - properties: - fileHashType: - description: The file hash type associated with the export file. - type: FileHashTypes - example: SHA-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 - - ExportGroupDownloadRequestResponse200: - description: "See the main API documentation for a full description of the content and formatting of the file." - example: "{\"groupId\":\"UnitedStates\"} - \n{\"sku\":\"123\",\"onHand\":10,\"reserved\":6,\"atf\":4,\"ato\":24,\"futures\":[{\"quantity\":20,\"expectedDate\":\"2019-07-24T21:13:00Z\"}], \"groupReserved\":4,\"sharedGroupReserved\":2} - \n{\"sku\":\"456\",\"onHand\":100.25,\"reserved\":50.25,\"atf\":50,\"ato\":50, \"groupReserved\":45.25,\"sharedGroupReserved\":5.00} - \n{\"groupId\":\"Germany\"} - \n{\"sku\":\"789\",\"onHand\":1000,\"reserved\":500,\"atf\":500,\"ato\":500, \"groupReserved\":500,\"sharedGroupReserved\":500} - \n{\"sku\":\"012\",\"onHand\":15000,\"reserved\":1500,\"atf\":13500,\"ato\":13500, \"groupReserved\":1000,\"sharedGroupReserved\":500} - \n{\"deltaToken\":\"eyJncm91cHMiOlsiRXhwb3J0LUdyb3VwMSIsIkV4cG9ydC1Hcm91cDIiXSwiaW50ZXJuYWxJZHMiOlsxMzgsMTM3XSwidHlwZSI6IkdST1VQX0VYUE9SVCJ9\"}" - - ExportLocationDownloadRequestResponse200: - description: "See the main API documentation for a full description of the content and formatting of the file." - example: "{\"locationId\":\"warehouse5\"} - \n{\"sku\":\"123\",\"onHand\":10,\"reserved\":6,\"atf\":4,\"ato\":24,\"futures\":[{\"quantity\":20,\"expectedDate\":\"2019-07-24T21:13:00Z\"}]} - \n{\"sku\":\"456\",\"qoh\":100.25,\"reserved\":50.25,\"atf\":50,\"ato\":50} - \n{\"locationId\":\"warehouse6\"} - \n{\"sku\":\"789\",\"qoh\":1000,\"reserved\":500,\"atf\":500,\"ato\":500} - \n{\"sku\":\"012\",\"qoh\":15000,\"reserved\":1500,\"atf\":13500,\"ato\":13500} - \n{\"deltaToken\":\"eyJncm91cHMiOlsiRXhwb3J0LUdyb3VwMSIsIkV4cG9ydC1Hcm91cDIiXSwiaW50ZXJuYWxJZHMiOlsxMzgsMTM3XSwidHlwZSI6IkdST1VQX0VYUE9SVCJ9\"}" - - ExportBatchResponse200: - description: A JSON array with a collection of all the import Id values - type: ExportBatchDataType - example: | - { - "exports":[ - "d88e54c5-23ed-4e33-a6a9-c31dc810662b", - "da39a3ee-5e6b-4b0d-3255-bfef95601890", - "a94a8fe5-ccb1-9ba6-1c4c-0873d391e987" - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/GetEventLog.raml b/testIntegration/stagingApis/inventory/impex/libraries/GetEventLog.raml deleted file mode 100644 index ae0b4b5b..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/GetEventLog.raml +++ /dev/null @@ -1,137 +0,0 @@ -#%RAML 1.0 Library -types: - Date: !include ../types/GlobalTypes/Date.raml - GroupId: !include ../types/GlobalTypes/GroupId.raml - SkuId: !include ../types/GlobalTypes/SkuId.raml - PlaceId: !include ../types/GlobalTypes/LocationGroup.raml - EventLogRecord: !include ../types/EventLog/EventLogRecord.raml - EventLogExportStatuses: !include ../types/EventLog/ExportStatuses.raml - LocationId: !include ../types/GlobalTypes/LocationId.raml - LocationOrGroup: !include ../types/GlobalTypes/LocationOrGroup.raml - DeleteErrors: !include ../types/EventLog/DeleteEventLogErrors.raml - UniqueId: !include ../types/GlobalTypes/UniqueId.raml - EventLogStats: !include ../types/EventLog/EventLogStats.raml - EventLogStatuses: !include ../types/EventLog/EventLogStatuses.raml - EventLogDownloadLink: !include ../types/EventLog/EventLogDownloadLink.raml - EventLogFileValidation: !include ../types/EventLog/EventLogFileValidation.raml - FileHashTypes: !include ../types/FileHashTypes.raml - GetEventLogRequestBody: !include ../types/Exports/GetEventLogRequestBody.raml - InitiateEventLogExportResponse200: !include ../types/Exports/InitiateEventLogExportResponse200.raml - - InitiateEventActivityExportRequestBody: - description: The body that is sent requesting an export to be initiated - type: GetEventLogRequestBody - - EventLogDeleteResponse200: - properties: - deleted: - type: array - items: - type: string - example: "d88e54c5-23ed-4e33-a6a9-c31dc810662b" - errors: - type: array - items: - type: DeleteErrors - - EventLogDownloadRequestResponse200: - properties: - events: - type: array - items: EventLogRecord - - EventLogStatusResponse200: - properties: - results: - type: array - items: EventLogStatusResponse200Item - - EventLogStatusResponse200Item: - properties: - id: - description: The ID associated with this event log request. - type: UniqueId - example: a218f4b2-2dc3-4ea8-af6d-c75fafd62323 - status: - description: The current status of the event log request - type: EventLogStatuses - example: COMPLETED - export: - type: EventLogStats - download: - type: EventLogDownloadLink - validation: - properties: - fileHashType: - description: The file hash type associated with the export file. - type: FileHashTypes - example: SHA-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 - - ExportEventLogStatusResponse200: - properties: - id: - description: The ID associated with this export request. - type: UniqueId - example: ameff4b2-2dc3-4ea8-af6d-c75fafd62323 - status: - description: The current status of the export request - type: EventLogExportStatuses - example: COMPLETED - export: - properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: Date - example: 2019-02-12T12:34:00Z - required: false - endTimeUTC: - description: The UTC time that the export process completed. - type: Date - example: 2019-02-12T12:52:00Z - required: false - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - groups: - description: Groups assocatiated with this export request - required: false - type: array - items: GroupId - download: - properties: - downloadLink: - description: The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: /v2/organizations/AtsisIntegrationTenant/event-log/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: Date - example: 2019-02-12T13:23:51Z - validation: - required: false - properties: - fileHashType: - description: The file hash type associated with the export file. - type: FileHashTypes - example: SHA-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/Imports.raml b/testIntegration/stagingApis/inventory/impex/libraries/Imports.raml deleted file mode 100644 index c3e51f6c..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/Imports.raml +++ /dev/null @@ -1,69 +0,0 @@ -#%RAML 1.0 Library -types: - ImportRequestObjects: !include ../types/ImportsCommon/ImportRequestObjects.raml - ImportBatchDataType: !include ../types/Imports/ImportBatchDataType.raml - ImportStatusBatchResponse200: !include ../types/ImportsCommon/ImportStatusBatchResponse200.raml - ImportStatusResponse200: !include ../types/ImportsCommon/ImportStatusResponseObject.raml - InitiateImportResponse200: !include ../types/ImportsCommon/InitiateImportResponse200.raml - ImportUploadLinkResponse200: !include ../types/ImportsCommon/ImportUploadLinkResponse200.raml - DeletedBatchResponse200: !include ../types/ImportsCommon/DeletedBatchResponse200.raml - - InitiateImportRequestBody: - description: The body that is sent requesting an import to be initiated - type: ImportRequestObjects - - GetRunningImportsResponse: - description: Response generated by a get request for available import ID's. - properties: - imports: - type: array - description: An array of import job ID's that are currently present in the system. - items: - type: string - example: | - { - "imports":[ - "d88e54c5-23ed-4e33-a6a9-c31dc810662b", - "da39a3ee-5e6b-4b0d-3255-bfef95601890", - "a94a8fe5-ccb1-9ba6-1c4c-0873d391e987" - ] - } - - InitiateImportDeleteBodyByExample: - description: Body used to initiate a batch delete of import data - type: ImportBatchDataType - example: | - { - "imports":[ - "d88e54c5-23ed-4e33-a6a9-c31dc810662b", - "da39a3ee-5e6b-4b0d-3255-bfef95601890", - "a94a8fe5-ccb1-9ba6-1c4c-0873d391e987" - ] - } - InitiateImportDeleteBody: - description: Body used to initiate a batch delete of import data - properties: - imports: - type: array - items: - type: string - description: Comma separated list of import Ids to delete - example: d88e54c5-23ed-4e33-a6a9-c31dc810662b,da39a3ee-5e6b-4b0d-3255-bfef95601890 - - AvailablityBatchImportStatusRequest: - description: A JSON array with a collection of all the import Id values - type: ImportBatchDataType - example: | - { - "imports":[ - "d88e54c5-23ed-4e33-a6a9-c31dc810662b", - "da39a3ee-5e6b-4b0d-3255-bfef95601890", - "a94a8fe5-ccb1-9ba6-1c4c-0873d391e987" - ] - } - - ImportsUploadLinkPostBody: - description: "See the main API documentation for a full description of the content and formatting of the file." - example: "{\"locationId\":\"wickenburg\",\"mode\":\"UPDATE\"} - \n{\"recordId\":\"0a87539d-f3dd-47bc-91c7-9c752e39dbe0\",\"onHand\":10,\"sku\":\"1\",\"effectiveDate\":\"2020-04-08T14:05:22.790896-07:00\",\"futures\":[{\"quantity\":1,\"expectedDate\":\"2020-04-18T14:05:22.781-07:00\"}],\"safetyStockCount\":0} - \n{\"recordId\":\"f4bf981e-321e-42bd-851f-3573a3263ab1\",\"onHand\":5,\"sku\":\"sku2\",\"effectiveDate\":\"2020-04-08T14:05:22.790896-07:00\",\"safetyStockCount\":1}" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/LocationGraphExport.raml b/testIntegration/stagingApis/inventory/impex/libraries/LocationGraphExport.raml deleted file mode 100644 index 84789d41..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/LocationGraphExport.raml +++ /dev/null @@ -1,117 +0,0 @@ -#%RAML 1.0 Library - -types: - InitiateLocationGraphExportResponse: - description: Initiate location graph export response - type: object - properties: - exportId: - type: string - required: true - example: a218f4b2-2dc3-4ea8-af6d-c75fafd62323 - exportStatusLink: - type: string - required: true - example: /inventory/impex/v1/organizations/AtsisIntegrationTenant/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/status - - ExportLocationGraphStatusResponse200: - description: Export location graph status request response - type: object - example: !include ../Examples/ExportLocationGraphStatusResponseExample.raml - properties: - id: - type: string - required: true - example: "a218f4b2-2dc3-4ea8-af6d-c75fafd62323" - status: - type: !include ../types/GlobalTypes/GenericStatuses.raml - required: true - export: - properties: - startTimeUTC: - required: true - type: !include ../types/GlobalTypes/Date.raml - example: "2020-04-15T21:21:23.675Z" - endTimeUTC: - required: false - type: !include ../types/GlobalTypes/Date.raml - example: "2020-04-15T21:21:23.812Z" - recordsProcessedCount: - required: true - type: integer - example: 7 - recordsExportedCount: - required: true - type: integer - example: 7 - download: - required: false - properties: - downloadLink: - type: string - required: true - description: The URI link to be used for retrieving the event log export file. This link is valid anytime after the status of the export is completed and the link has not expired. - example: "/inventory/impex/v1/organizations/AtsisIntegrationTenant/location-graph/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content" - downloadLinkExpirationUTC: - type: !include ../types/GlobalTypes/Date.raml - validation: - required: false - properties: - fileHash: - required: true - type: string - example: 15fba5d9facf494749b9cfabdc2c8fe1c73d974b9579bc67ab293e607f3c92bb - fileHashType: - required: true - description: The file hash type associated with the export file. - type: !include ../types/FileHashTypes.raml - example: SHA-256 - fileSize: - required: true - type: integer - example: 607 - - ExportLocationGraphDownloadFile: - description: Export location graph download file information - type: object - example: !include ../Examples/ExportLocationGraphDownloadFileExample.raml - properties: - locations: - type: array - items: string - examples: - ex1: [l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2] - ex2: [ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8] - ex3: [ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8, l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2] - groups: - type: array - items: !include ../types/LocationGraph/ExportLocationGraphGroups.raml - - LocationGraphExportBatchDeleteResponse200: - description: Response body provided for a Location Graph Export batch delete. - type: object - properties: - deleted: - description: The location graph export ID's that were successfully deleted. - type: array - items: - type: string - example: l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2 - errors: - description: List of location graph export ID's that failed to delete. - type: array - items: !include ../types/LocationGraph/ExportLocationGraphDeleteErrors.raml - - LocationGraphExportBatchDeleteBody: - description: Post body for performing a batch delete on location graph export requests - type: object - example: !include ../Examples/LocationGraphExportBatchDeleteBodyExample.raml - properties: - exportIds: - description: The list of export ID's that are to be deleted. - type: array - items: string - examples: - ex1: [a218f4b2-2dc3-4ea8-af6d-c75fafd62256] - ex2: [fs34223-1fd2-64dc-4312-f35c25cd2a48] - ex3: [a218f4b2-2dc3-4ea8-af6d-c75fafd62256, fs34223-1fd2-64dc-4312-f35c25cd2a48] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/libraries/ProductSegmentationLib.raml b/testIntegration/stagingApis/inventory/impex/libraries/ProductSegmentationLib.raml deleted file mode 100644 index b120d780..00000000 --- a/testIntegration/stagingApis/inventory/impex/libraries/ProductSegmentationLib.raml +++ /dev/null @@ -1,208 +0,0 @@ -#%RAML 1.0 Library -types: - Date: !include ../types/GlobalTypes/Date.raml - GroupId: !include ../types/GlobalTypes/GroupId.raml - SkuId: !include ../types/GlobalTypes/SkuId.raml - PlaceId: !include ../types/GlobalTypes/LocationGroup.raml - LocationId: !include ../types/GlobalTypes/LocationId.raml - LocationOrGroup: !include ../types/GlobalTypes/LocationOrGroup.raml - UniqueId: !include ../types/GlobalTypes/UniqueId.raml - FileHashTypes: !include ../types/FileHashTypes.raml - ExportStatuses: !include ../types/Exports/ExportStatuses.raml - - InitiateProductSegmentationExportResponse200: - properties: - exportId: - type: UniqueId - description: The ID associated with the initiated export - example: pe-0377a512-d107-40a0-b966-bad5a021d21f - exportStatusLink: - type: string - description: The URI to be used for accessing the export status. This resource is available immediately. - example: "/inventory/impex/v1/organizations/atsistesttenant/product-segmentation/exports/pe-0377a512-d107-40a0-b966-bad5a021d21f/status" - - ExportProductSegmentationDownloadRequestResponse200: - description: "See the main API documentation for a full description of the content and formatting of the file." - example: "{\"groupId\":\"florida\"} - \n{\"groupId\":\"texas\"} - \n{\"sku\":\"21\"} - \n{\"sku\":\"31\"}" - - ImportProductSegmentationDownloadRequestResponse200: - description: "See the main API documentation for a full description of the content and formatting of the file." - example: "{\"groupId\":\"florida\"} - \n{\"groupId\":\"texas\"} - \n{\"sku\":\"21\"} - \n{\"sku\":\"31\"}" - - InitiateSegmentationExportBody: - properties: - groups: - type: array - required: true - description: An array of group IDs whose product Segmentation information you want to export. Simply use an asterisk to indicate all groups should be exported. - example: !include ../Examples/ProductSegmentation/InitiateProductSegmentationExportExample.raml - - ExportProductSegmentationStatusResponse200: - properties: - id: - description: The ID associated with this export request. - type: UniqueId - example: ameff4b2-2dc3-4ea8-af6d-c75fafd62323 - status: - description: The current status of the export request - type: ExportStatuses - example: COMPLETED - export: - properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: Date - example: 2019-02-12T12:34:00Z - required: false - endTimeUTC: - description: The UTC time that the export process completed. - type: Date - example: 2019-02-12T12:52:00Z - required: false - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - download: - properties: - downloadLink: - description: The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: /inventory/impex/v1/organizations/atsistesttenant/product-segmentation/exports/pe-0377a512-d107-40a0-b966-bad5a021d21f/file-content - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: !include ../types/GlobalTypes/Date.raml - example: 2019-02-12T13:23:51Z - validation: - required: false - properties: - fileHashType: - description: The file hash type associated with the export file. - type: FileHashTypes - example: SHA-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 - - InitiateProductSegmentationImportRequest: !include ../types/Imports/InitiateProductSegmentationImportRequestBody.raml - - InitiateProductSegmentationImportRequestBody: - description: The body that is sent requesting an import for product segmentations to be initiated - type: InitiateProductSegmentationImportRequest - - InitiateProductSegmentationImportResponse200: - properties: - importId: - type: string - example: "d88e54c5-23ed-4e33-a6a9-c31dc810662b" - importStatusLink: - description: The link that should be used to check the status of the Product Segmentation Import - type: string - example: "/v2/organizations/AtsisIntegrationTenant/product-segmentation/imports/d88e54c5-23ed-4e33-a6a9-c31dc810662b/status" - uploadLink: - description: The link that should be used for upload the Product Segmentation Data payload to the service - type: string - example: "/v2/organizations/AtsisIntegrationTenant/product-segmentation/imports/uploadlink/d88e54c5-23ed-4e33-a6a9-c31dc810662b" - uploadMethod: - description: The http method that should be used when using the uploadLink endpoint - type: string - example: "POST" - uploadLinkExpirationUTC: - description: The expiration time for the uploadLink endpoint. - type: Date - example: 2019-07-24T21:13:00Z - ProductSegmentationImportStatusResponse: - description: Record that is contained in the response array when checking the status of an import. - type: object - example: !include ../Examples/ImportGetStatusResponseExample.raml - properties: - importId: - type: string - example: 12345-23456-3456-4567-5678 - description: Unique identifier for the import - status: - type: string - example: Completed - validation: - properties: - status: - type: string - description: Validation status - example: COMPLETED - errors: - description: Array of error verbiages - type: string[] - upload: - properties: - fileName: - type: string - description: The name of the upload file. - example: test.json - import: - properties: - startTimeUTC: - type: datetime - required: false - description: Start time of import - example: 2019-02-12T11:23:23Z - format: rfc3339 - endTimeUTC: - type: datetime - required: false - description: End/completion time of import - example: 2019-02-12T12:34:56Z - format: rfc3339 - recordsProcessedCount: - type: integer - description: Number of records imported/processed - example: 2000 - recordsReadCount: - type: integer - description: Number of records read - example: 2000 - recordsSkippedCount: - type: integer - description: Number of records skipped - example: 56 - fullResults: - properties: - href: - type: string - description: URL to pull results file. Is available until time indicated in "exportResultExpirationUTC" field. - example: https://462437319225-dev-us-east-1.s3.amazonaws.com/d88e54c5-23ed-4e33-a6a9-c31dc810662b?X-Amz- Security-Token=AgoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJ - exportResultExpirationUTC: - type: datetime - description: Expiration time for availability of full result file - example: 2019-03-12T12:34:56Z - format: rfc3339 - ImportProductSegmentationUploadLinkResponse200: - description: The file upload has been successfully started. Details about the upload are available in the response body. - properties: - status: - type: string - description: The overall status of the import of the file. Can be either PENDING, RUNNING, or COMPLETED. - example: PENDING - importId: - type: string - description: The UUID of the import job. - example: d88e54c5-23ed-4e33-a6a9-c31dc810662b - ImportsProductSegmentationUploadLinkPostBody: - description: "See the main API documentation for a full description of the content and formatting of the file." - example: "{\"groupId\":\"G1\",\"mode\":\"REPLACE\"} - \n{\"sku\":\"sku1\"} - \n{\"sku\":\"sku2\"}" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/traits/403ErrorResponse.raml b/testIntegration/stagingApis/inventory/impex/traits/403ErrorResponse.raml deleted file mode 100644 index 56c1db3a..00000000 --- a/testIntegration/stagingApis/inventory/impex/traits/403ErrorResponse.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -# Response for unauthorized API request access. - -uses: - ErrorTypes: /libraries/ErrorHandling/ErrorResponses.raml - -responses: - 403: - description: Organization not authorized - body: - application/json: - type: ErrorTypes.403Error - example: !include /Examples/HttpErrors/403ErrorExample.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/traits/GenericResponseErrorCode.raml b/testIntegration/stagingApis/inventory/impex/traits/GenericResponseErrorCode.raml deleted file mode 100644 index b3735203..00000000 --- a/testIntegration/stagingApis/inventory/impex/traits/GenericResponseErrorCode.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -#generic response for responses that have a body of type: ErrorCode, with placeholders for the response code, description, errorCode and error Message - -uses: - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -responses: - <>: - description: <> - body: - application/json: - type: ApiStandards.ErrorResponse - example: - errorCode: <> - message: <> - type: about:blank \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/DeleteEventLogErrors.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/DeleteEventLogErrors.raml deleted file mode 100644 index a68c6fc4..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/DeleteEventLogErrors.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -description: Errors generated during the delete process on an event log -type: object -properties: - id: - type: string - example: a94a8fe5-ccb1-9ba6-1c4c-0873d3943215 - message: - type: string - example: Failed to delete event log - errorCode: - type: string - example: err204 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogDownloadLink.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogDownloadLink.raml deleted file mode 100644 index 37c01aa8..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogDownloadLink.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType - -description: Export event log download link data - -properties: - downloadLink: - description: The URI link to be used for retrieving the event log export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: https://inv-service-host.com/inventory/inventory-availability/v1/organizations/AtsisIntegrationTenant/event-log/exports/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: !include ../GlobalTypes/Date.raml - example: 2019-02-12T13:23:51Z \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogExportDownloadFileRaw.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogExportDownloadFileRaw.raml deleted file mode 100644 index d222f9ad..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogExportDownloadFileRaw.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -description: "See the main API documentation for a full description of the content and formatting of the file." -example: "{\"locationId\":\"weimar\"} -\n{\"locationId\":\"newbraunfels\"} -\n{\"eventType\":\"location_import\",\"location\":\"newbraunfels\",\"sequenceNumber\":0,\"quantity\":10.0,\"newReserved\":0.0,\"newAto\":11.0,\"newOnHand\":10.0,\"newAtf\":10.0,\"newSoftReserved\":0.0,\"futureQuantity\":1.0,\"oldReserved\":0.0,\"oldAto\":0.0,\"oldOnHand\":0.0,\"oldAtf\":0.0,\"oldSoftReserved\":0.0,\"createdTime\":\"2022-01-18T15:58:40.443Z\",\"effectiveTime\":\"2020-04-08T14:05:22.795243-07:00\",\"safetyStockCount\":0.0}" diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogFileValidation.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogFileValidation.raml deleted file mode 100644 index d05d6ca0..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogFileValidation.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -description: The file validation scheme for the event log export files - -properties: - type: !include ../GlobalTypes/FileValidation.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogRecord.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogRecord.raml deleted file mode 100644 index 3bbaa6df..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogRecord.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 DataType -description: Simple record included in event log export - -# reserve the right to add to this record in future releases if it is determined that we need additional info in this record - -type: object - -properties: - EventType: - description: The type associated with this event - type: string - example: "INSERT" - ExternlRefId: - type: !include ../GlobalTypes/ExternalRefId.raml - EventDate: - type: !include ../GlobalTypes/Date.raml - LocationId: - type: !include ../GlobalTypes/LocationId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStats.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStats.raml deleted file mode 100644 index 46213414..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStats.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -description: Export Event Log process vitals -properties: - type: !include ../GlobalTypes/GenericProcessStats.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStatuses.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStatuses.raml deleted file mode 100644 index 4ebf9014..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/EventLogStatuses.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -description: Enum allowing indication of an event log export process status. - -type: - type: string - enum: [WAITING, EXPIRED, SUBMITTED, PENDING, RUNNING, COMPLETED, FAILED, STOPPED] - example: SUBMITTED \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/EventLog/ExportStatuses.raml b/testIntegration/stagingApis/inventory/impex/types/EventLog/ExportStatuses.raml deleted file mode 100644 index a4f9e345..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/EventLog/ExportStatuses.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - - description: Enum allowing indication of an export process status. - type: - type: !include ../GlobalTypes/GenericStatuses.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/DeleteExportErrors.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/DeleteExportErrors.raml deleted file mode 100644 index f75a4fb8..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/DeleteExportErrors.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -description: Errors generated during the delete process on an export ID -type: object -properties: - id: - type: string - example: a94a8fe5-ccb1-9ba6-1c4c-0873d3943215 - message: - type: string - example: Failed to delete - errorCode: - type: string - example: err205 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportBatchDataType.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportBatchDataType.raml deleted file mode 100644 index d40a3088..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportBatchDataType.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -type: object -properties: - exports: - description: Array of export Ids - type: string[] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportFileValidation.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportFileValidation.raml deleted file mode 100644 index 4fe46e8b..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportFileValidation.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -description: The file validation to be used for the Export File - -properties: - type: !include ../GlobalTypes/FileValidation.raml diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportGroupDownloadLink.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportGroupDownloadLink.raml deleted file mode 100644 index 2a12d985..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportGroupDownloadLink.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType - -description: Export download link data - -properties: - downloadLink: - description: The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: /inventory/inventory-availability/v1/organizations/AtsisIntegrationTenant/inventory/exports/groups/a218f4b2-2dc3-4ea8-af6d-c75fafd62323/file-content - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: !include ../GlobalTypes/Date.raml - example: 2019-02-12T13:23:51Z \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportLocationDownloadLink.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportLocationDownloadLink.raml deleted file mode 100644 index 527c6622..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportLocationDownloadLink.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType - -description: Export download link data - -properties: - downloadLink: - description: The URI link to be used for retrieving the export file. This link is valid anytime after the status of the export is completed and the link has not expired. - type: string - example: /inventory/inventory-availability/v1/organizations/AtsisIntegrationTenant/inventory/exports/locations/a218f4b2-2dc3-4ea8-af6d-c75fafd62323 - downloadLinkExpirationUTC: - description: The time at which the download link will expire, in UTC time. - type: !include ../../types/GlobalTypes/Date.raml - example: 2019-02-12T13:23:51Z \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportResultsRecord.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportResultsRecord.raml deleted file mode 100644 index a1184541..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportResultsRecord.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 DataType -description: Records that are returned in the export file generated by an export request -type: object - -properties: - locationId: !include ../GlobalTypes/LocationId.raml - sku: - description: The SKU associated with the item - type: !include ../GlobalTypes/SkuId.raml - atf: - type: !include ../GlobalTypes/ATF.raml - ato: - type: !include ../GlobalTypes/ATO.raml - onHand: - description: The amount on hand at the location - type: !include ../GlobalTypes/QOH.raml - reserved: - type: !include ../GlobalTypes/ReservedQuantity.raml - safetyStockCount: - description: The safety stock value for the item at this location - type: !include ../GlobalTypes/SafetyStock.raml - effectiveDate: - required: false - description: The date that the future inventory is expected at the location - type: !include ../GlobalTypes/EffectiveDate.raml - futures: - required: false - type: array - items: - type: !include ../GlobalTypes/Future.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsGroup.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsGroup.raml deleted file mode 100644 index ba79471c..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsGroup.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 DataType - -description: Export process vitals for a group export - -properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: !include ../GlobalTypes/Date.raml - example: 2019-02-12T12:34:00Z - endTimeUTC: - description: The UTC time that the export process completed. - type: !include ../GlobalTypes/Date.raml - example: 2019-02-12T12:52:00Z - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - groups: - description: Groups assocatiated with this export request - required: false - type: array - items: !include ../GlobalTypes/GroupId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsLocation.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsLocation.raml deleted file mode 100644 index dc935b5a..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatsLocation.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 DataType - -description: Export process vitals for a group export - -properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: !include ../GlobalTypes/Date.raml - example: 2019-02-12T12:34:00Z - endTimeUTC: - description: The UTC time that the export process completed. - type: !include ../GlobalTypes/Date.raml - example: 2019-02-12T12:52:00Z - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 - locations: - description: Locations associated with the export request - required: false - type: array - items: !include ../GlobalTypes/LocationId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatusLink.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatusLink.raml deleted file mode 100644 index f5a05eb0..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatusLink.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -type: string -description: The URI to be used for accessing the export status -example: "https://inv-service.com/inventory/inventory-availability/status?exportIds=d88e54c5-23ed-4e33-a6a9-c31dc810662b" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatuses.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatuses.raml deleted file mode 100644 index a4f9e345..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/ExportStatuses.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - - description: Enum allowing indication of an export process status. - type: - type: !include ../GlobalTypes/GenericStatuses.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/GetEventLogRequestBody.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/GetEventLogRequestBody.raml deleted file mode 100644 index 0bd1a592..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/GetEventLogRequestBody.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 DataType -description: This object will contain the request objects that are being supplied to initiate export request call -properties: - sku: - description: Sku to be queried for. - type: string - example: "dcbd797a-73e7-11ec-90d6-0242ac120003" - startsOn: - description: ISO Date from which OCI will start to query for the sku activity. - type: string - example: "2022-03-19T15:41:25.553Z" - endsOn: - description: ISO Date that sets the range OCI will use in order to query for the sku activity. This field is optional, in which case, OCI will set the range to be 30 days from the startsOn date. The value that gets set in the endsOn property, cannot be bigger than 30 days from the starsOn date. - type: string - example: "2022-04-10T15:41:25.553Z" - required: false - locations: - description: Lists which locations should be considered while querying the activity around the sku. The total locations to query, combined with total groups (if specified) cannot be more than 10. If no locations or groups are specified, OCI will query all activity related to the sku. - required: false - type: array - items: string - example: - ["warehouse1", "warehouse2"] - groups: - description: Lists which groups should be considered while querying the activity around the sku. The total groups to query, combined with total locations (if specified) cannot be more than 10. If no locations or groups are specified, OCI will query all activity related to the sku. - required: false - type: array - items: string - example: - ["united-states"] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/InitiateEventLogExportResponse200.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/InitiateEventLogExportResponse200.raml deleted file mode 100644 index b47a17b7..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/InitiateEventLogExportResponse200.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: Common response from export events activity initiation calls -properties: - exportId: - type: string - description: The ID associated with the initiated export - example: e-d88e54c5-23ed-4e33-a6a9-c31dc810662b - exportStatusLink: - type: string - description: URI where export status can be acquired - example: "/inventory/impex/v1/organizations/testOrg/event-log/exports/e-d88e54c5-23ed-4e33-a6a9-c31dc810662b/status" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/GetReservationsRequestBody.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/GetReservationsRequestBody.raml deleted file mode 100644 index 4720284a..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/GetReservationsRequestBody.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 DataType -description: This object will contain the request objects that are being supplied to initiate export reservations request call - -properties: - status: - description: The reservations status to query and export for. - type: string - enum: [open, closed] - example: "open" - fromDate: - description: ISO Date from which OCI will start to query for the reservation documents. - type: string - example: "2022-03-19T15:41:25.553Z" - toDate: - description: ISO Date that sets the range OCI will use in order to query for the reservation documents. This field is optional, in which case, OCI will set the to date to the current date if none is provided. - type: string - example: "2022-04-10T15:41:25.553Z" - required: false \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/InitiateReservationsExportResponse200.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/InitiateReservationsExportResponse200.raml deleted file mode 100644 index a93fef17..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/InitiateReservationsExportResponse200.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: Common response from export reservations initiation calls -properties: - exportId: - type: string - description: The ID associated with the initiated reservations export - example: 60679175-C589-49A9-87FE-DC07F657D7C0 - exportStatusLink: - type: string - description: URI where reservations export status can be acquired - example: "/inventory/impex/v1/organizations/testOrg/reservations/exports/60679175-C589-49A9-87FE-DC07F657D7C0/status" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportDownloadFileRaw.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportDownloadFileRaw.raml deleted file mode 100644 index 30b64ac6..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportDownloadFileRaw.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType - -description: "See the main API documentation for a full description of the content and formatting of the file." -example: "{ \n\t\"reservationId\" : \"5baf4a87-1841-4311-9ca9-601e5d32885b\", \n\t\"externalRefId\" : \"OCI-1234567\", \n\t\"reservationTime\" : 1648718653000, \n\t\"reservationState\" : \"CLOSED\", \n\t\"reservationDetails\" : [ \n\t\t{ \n\t\t\t\"group\": \"ACME_US\", \n\t\t\t\"sku\" : \"white-shirt-40\", \n\t\t\t\"quantity\": 5, \n\t\t\t\"reservationDetailActions\" : [ \n\t\t\t\t{ \n\t\t\t\t\t\"requestId\" : \"3678-23456-3456-4567-9999-1232\", \n\t\t\t\t\t\"externalRefId\" : \"1234561-4949-2345\", \n\t\t\t\t\t\"quantity\" : 5, \n\t\t\t\t\t\"action\": \"Reserved\", \n\t\t\t\t\t\"group\": \"ACME_US\", \n\t\t\t\t\t\"timestamp\" : \"1648720001000\" \n\t\t\t\t},\n\t\t\t\t{ \n\t\t\t\t\t\"requestId\" : \"45GF-23456-3456-4567-5678-6F6F\", \n\t\t\t\t\t\"externalRefId\" : \"1234561-3574-6B6D\", \n\t\t\t\t\t\"quantity\" : 5, \n\t\t\t\t\t\"action\": \"Moved\", \n\t\t\t\t\t\"from\": \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"group\": \"ACME_US\" \n\t\t\t\t\t}, \n\t\t\t\t\t\"to\": \n\t\t\t\t\t{ \n\t\t\t\t\t\t\"location\": \"warehouse-slc\" \n\t\t\t\t\t}, \n\t\t\t\t\t\"timestamp\" : \"1648720001000\" \n\t\t\t\t\t}, \n\t\t\t\t{ \n\t\t\t\t\t\"requestId\" : \"900000-8863-488e-840b-2aebd10b57cd\", \n\t\t\t\t\t\"externalRefId\" : \"7282822-9823-eee\", \n\t\t\t\t\t\"quantity\" : 5, \n\t\t\t\t\t\"action\": \"Fulfilled\", \n\t\t\t\t\t\"location\" \"warehouse-slc\": \n\t\t\t\t\t\"timestamp\" : \"1648721352000\" \n\t\t\t\t} \n\t\t\t] \n\t\t}, \n\t\t{ \n\t\t\t\"location\": \"warehouse-slc\", \n\t\t\t\"sku\" : \"blue-pant-42\", \n\t\t\t\"quantity\": 8, \n\t\t\t\"reservationDetailActions\" : [ \n\t\t\t\t{ \n\t\t\t\t\t\"requestId\" : \"9876-23456-3456-4567-9999-1232\", \n\t\t\t\t\t\"externalRefId\" : \"1234561-4949-2345\", \n\t\t\t\t\t\"quantity\" : 3, \n\t\t\t\t\t\"action\": \"Reserved\", \n\t\t\t\t\t\"location\": \"warehouse-slc\", \n\t\t\t\t\t\"timestamp\" : \"1648720001000\" \n\t\t\t\t}, \n\t\t\t] \n\t\t} \n\t] \n}" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportStatuses.raml b/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportStatuses.raml deleted file mode 100644 index f9af4d52..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Exports/Reservations/ReservationsExportStatuses.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - - description: Enum allowing indication of an export process status. - type: - type: !include ../../GlobalTypes/GenericStatuses.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/FileHashTypes.raml b/testIntegration/stagingApis/inventory/impex/types/FileHashTypes.raml deleted file mode 100644 index d8a6a124..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/FileHashTypes.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - - description: Enum containing valid File Hash Types - type: - type: string - enum: [SHA-256, SHA-512] - example: SHA-256 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATF.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATF.raml deleted file mode 100644 index e37d882e..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATF.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../..//exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/ATF.raml - -description: The amount available to fulfill at the location -example: 1137.65 -minimum: 0.000 -type: number -format: double -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATO.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATO.raml deleted file mode 100644 index 3762fd71..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ATO.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../..//exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/ATO.raml - -description: The amount available to order at the location -example: 1147.90 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Date.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Date.raml deleted file mode 100644 index 45c9826a..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Date.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/Date.raml - -example: 2019-07-24T21:13:00Z -type: datetime -format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/DeltaToken.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/DeltaToken.raml deleted file mode 100644 index 40e6b629..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/DeltaToken.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/DeltaToken.raml - -description: The delta token obtained from a full export or a previous request to this API -example: e3NoYXJkSWQtMDAwMDAwMDE1NzczOTkxNTc2MDItYmE5MGYxNGE6MDAwMDAwMDAwMDAwMDAwMDAwNDQ0fQ== -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/EffectiveDate.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/EffectiveDate.raml deleted file mode 100644 index 2728e6bc..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/EffectiveDate.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/EffectiveDate.raml - - -description: Effective date. -type: !include Date.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ExternalRefId.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ExternalRefId.raml deleted file mode 100644 index 74354ea2..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ExternalRefId.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -description: | - A convenience identifier for the consumer, used for auditing events. This field is NOT used by the service itself, but is intended for the consumer to be able to identify records submitted from their systems that are external to OCI. -example: 7282822-9823-aaa -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/FileValidation.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/FileValidation.raml deleted file mode 100644 index df1fc6bf..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/FileValidation.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/FileValidation.raml - -description: Generic file validation scheme - -properties: - fileHashType: - description: The file hash type associated with the export file. - type: !include ../FileHashTypes.raml - example: SHA-256 - fileHash: - description: The hash associated with the export file. - type: string - example: e9v2d11298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852c922 - fileSize: - description: File size in bytes. - type: number - example: 5231942 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Future.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Future.raml deleted file mode 100644 index 58b031f4..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/Future.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/Future.raml - -description: The 'future' object contains data that tells us what is expected to arrive for this item in the future, as well as when those amounts of inventory should arrive. -properties: - expectedDate: - example: 2019-08-24T21:13:00Z - description: The date the future quantity is expected to arrive at the location - type: !include Date.raml - quantity: - description: The amount that is expected to arrive at a future date. It must be a positive number greater than 0. - type: number - minimum: 0.001 - example: 10.25 diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericProcessStats.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericProcessStats.raml deleted file mode 100644 index 34a50beb..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericProcessStats.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/GenericProcessStats.raml - -properties: - startTimeUTC: - description: The UTC time that the export process was started. - type: !include Date.raml - example: 2019-02-12T12:34:00Z - endTimeUTC: - description: The UTC time that the export process completed. - type: !include Date.raml - example: 2019-02-12T12:52:00Z - recordsProcessedCount: - description: The total number of records processed during the export request. - type: number - example: 2000 - recordsExportedCount: - description: The total number of records exported by the system. - type: number - example: 2000 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericStatuses.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericStatuses.raml deleted file mode 100644 index 3d26ae2a..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GenericStatuses.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/GenericStatuses.raml - -description: Enum allowing indication of a process status - -type: - type: string - enum: [STAGING, WAITING, EXPIRED, SUBMITTED, PENDING, RUNNING, COMPLETED, FAILED, STOPPED] - example: COMPLETED - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GroupId.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GroupId.raml deleted file mode 100644 index 3090249b..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/GroupId.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/GroupId.raml - -type: string -minLength: 2 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ -description: An identifier for a collection of locations. Can not be the same as any location identifier. -example: UnitedStates \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationGroup.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationGroup.raml deleted file mode 100644 index 0ee70307..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationGroup.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/LocationGroup.raml - -description: A full location group consisting of the group ID and its assigned locations. -properties: - groupId: !include GroupId.raml - locations: - description: A list of locations assigned to this group. - type: array - items: - type: !include LocationId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationId.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationId.raml deleted file mode 100644 index f95f2f45..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationId.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/LocationId.raml - -description: The id of the location of the inventory. -type: string -minLength: 2 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ -example: warehouse5 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationOrGroup.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationOrGroup.raml deleted file mode 100644 index 436a8e82..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/LocationOrGroup.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/LocationOrGroup.raml - -description: Enum allowing indication of a group or a location. -type: string -enum: [location, group] -example: location diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/QOH.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/QOH.raml deleted file mode 100644 index 8b06f54e..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/QOH.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/QOH.raml - -description: Quantity on hand. -example: 1200.35 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ReservedQuantity.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ReservedQuantity.raml deleted file mode 100644 index 083f84ca..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/ReservedQuantity.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/ReservedQuantity.raml - -description: The quantity to reserve -example: 10.000 -type: number -format: double -minimum: 0.001 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SafetyStock.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SafetyStock.raml deleted file mode 100644 index 357683d7..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SafetyStock.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/SafetyStock.raml - -description: Inventory quantity that a merchant wants to intentionally hold back from availability counts -example: 12.45 -type: number -format: double -minimum: 0.0 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SkuId.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SkuId.raml deleted file mode 100644 index 59cc939e..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/SkuId.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.14/types/SkuId.raml -description: The inventory identifier -type: string -example: "sku1234" -minLength: 1 -maxLength: 250 -pattern: ^[^\\<>;%/\s]*$ diff --git a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/UniqueId.raml b/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/UniqueId.raml deleted file mode 100644 index 8f7813d3..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/GlobalTypes/UniqueId.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -type: string -description: An id to uniquely identify this operation/request -example: 323b0g69-d37d-423a-84f5-8f393fe80459 - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/#inventory-availability-standards/1.0.14/types/UniqueId.raml - diff --git a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportBatchDataType.raml b/testIntegration/stagingApis/inventory/impex/types/Imports/ImportBatchDataType.raml deleted file mode 100644 index 348795c9..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportBatchDataType.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -type: object -properties: - imports: - description: Array of import Ids - type: string[] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryFuture.raml b/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryFuture.raml deleted file mode 100644 index 29c57cc8..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryFuture.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: This object defines a single Inventory Import Future -type: object -properties: - future: - description: A single import inventory item future - type: !include ../GlobalTypes/Future.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryLocationRecords.raml b/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryLocationRecords.raml deleted file mode 100644 index e21a5c46..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryLocationRecords.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -description: This object is the import location inventory record -type: object -properties: - location: - description: The location name of the inventory item - type: string - example: warehouse1 - inventory-record: !include ImportInventoryRecord.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryRecord.raml b/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryRecord.raml deleted file mode 100644 index 2ea57088..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Imports/ImportInventoryRecord.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DataType -description: This object is the import inventory record -type: object -properties: - sku: - description: The SKU associated with the item - type: string - example: sku123 - quantity: - description: The quantity to insert for the item - type: number - minimum: 0.001 - example: 100 - safety-stock-count: - description: Quantity to ‘Hold Back’ from ATS/ATF/ATO - type: number - minimum: 0.001 - example: 20 - futures: - required: false - type: array - items: - type: !include ../Imports/ImportInventoryFuture.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/Imports/InitiateProductSegmentationImportRequestBody.raml b/testIntegration/stagingApis/inventory/impex/types/Imports/InitiateProductSegmentationImportRequestBody.raml deleted file mode 100644 index fce4ad95..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/Imports/InitiateProductSegmentationImportRequestBody.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: This type contains the structure for the initiate product segmentation data import request body -properties: - fileName: - description: the filename to be imported. - type: string - example: "product_segmentation_data_import.json" - linkDuration: - description: the duration the uploadlink shall remain active after being created. - type: number - example: 60 diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedBatchResponse200.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedBatchResponse200.raml deleted file mode 100644 index 6a6f719b..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedBatchResponse200.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType -description: Generic response generated when an attempt is made to delete multiple import batches - -properties: - deleted: - type: array - items: !include ../GlobalTypes/UniqueId.raml - example: [323b0g69-d37d-423a-84f5-8f393fe80459] - errors: - type: array - items: !include DeletedImportErrorsObjects.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedImportErrorsObjects.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedImportErrorsObjects.raml deleted file mode 100644 index 86efe32a..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/DeletedImportErrorsObjects.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -properties: - id: - type: string - description: The ID of the import that failed delete - example: a94a8fe5-ccb1-9ba6-1c4c-0873d3412f8 - message: - type: string - description: The message associated with the deletion error - example: "Failed to delete" - errorCode: - type: string - description: The code associated with the deletion error - example: "err205" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportRequestObjects.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportRequestObjects.raml deleted file mode 100644 index d6d9a3e5..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportRequestObjects.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 DataType -description: This object will contain the request objects that are being supplied to an initiate import request call -properties: - fileName: - description: Name of the file. - example: "inventory.json" - type: string - fileFormat: - required: false - description: The file format. If specified must be JSON, if not provided then is assumed to be JSON. - example: "JSON" - type: string - fileEncoding: - required: false - description: Encoding format desired. Specify "GZIP" if compressed. The gateway has a filesize limit of 100MB. If the file is larger than 100MB, send it in compressed format. - example: "GZIP" - type: string - fileHash: - required: false - description: File hash used for file validation. - example: "79f6f0c85a15253c4a5bddaa3f74ee974f70163666aaa1dbcd1c7c7bb5acfee0" - type: string - fileHashType: - required: false - description: Hash algorithm type. If fileHash is specified, this value will be used. If fileHash is specified and this value is not provided, SHA-256 is assumed. - type: !include ../FileHashTypes.raml - example: SHA-256 - linkDuration: - required: false - description: Time-to-live (TTL), in minutes up to 60 minutes max, uploadLink is valid for in response. - example: 60 - type: integer \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusBatchResponse200.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusBatchResponse200.raml deleted file mode 100644 index 83ab6f2a..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusBatchResponse200.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -description: Batch import status request response -type: object -example: !include ../../Examples/ImportGetBatchStatusResponseExample.raml -properties: - results: - type: array - items: !include ImportStatusResponseObject.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusResponseObject.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusResponseObject.raml deleted file mode 100644 index caeff450..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportStatusResponseObject.raml +++ /dev/null @@ -1,64 +0,0 @@ -#%RAML 1.0 DataType -description: Record that is contained in the response array when checking the status of an import. -type: object -example: !include ../../Examples/ImportGetStatusResponseExample.raml -properties: - importId: - type: string - example: 12345-23456-3456-4567-5678 - description: Unique identifier for the import - status: - type: string - example: Completed - validation: - properties: - status: - type: string - description: Validation status - example: COMPLETED - errors: - description: Array of error verbiages - type: string[] - upload: - properties: - fileName: - type: string - description: The name of the upload file. - example: test.json - import: - properties: - startTimeUTC: - type: datetime - required: false - description: Start time of import - example: 2019-02-12T11:23:23Z - format: rfc3339 - endTimeUTC: - type: datetime - required: false - description: End/completion time of import - example: 2019-02-12T12:34:56Z - format: rfc3339 - recordsProcessedCount: - type: integer - description: Number of records imported/processed - example: 2000 - recordsReadCount: - type: integer - description: Number of records read - example: 2000 - recordsSkippedCount: - type: integer - description: Number of records skipped - example: 56 - fullResults: - properties: - href: - type: string - description: URL to pull results file. Is available until time indicated in "exportResultExpirationUTC" field. - example: https://462437319225-dev-us-east-1.s3.amazonaws.com/d88e54c5-23ed-4e33-a6a9-c31dc810662b?X-Amz- Security-Token=AgoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJ - exportResultExpirationUTC: - type: datetime - description: Expiration time for availability of full result file - example: 2019-03-12T12:34:56Z - format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportUploadLinkResponse200.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportUploadLinkResponse200.raml deleted file mode 100644 index 3fd3b581..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/ImportUploadLinkResponse200.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: The file upload has been successfully started. Details about the upload are available in the response body. -properties: - status: - type: string - description: The overall status of the import of the file. Can be either PENDING, RUNNING, or COMPLETED. - example: PENDING - importId: - type: string - description: The UUID of the import job. - example: d88e54c5-23ed-4e33-a6a9-c31dc810662b \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/InitiateImportResponse200.raml b/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/InitiateImportResponse200.raml deleted file mode 100644 index b7bbd0df..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/ImportsCommon/InitiateImportResponse200.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 DataType - -description: Common response from import initiation calls -properties: - importId: - type: string - description: The ID associated with the initiated import - example: d88e54c5-23ed-4e33-a6a9-c31dc810662b - importStatusLink: - type: string - description: URI where import status can be acquired - example: "/inventory/impex/v1/organizations/testOrg/availability-records/imports/d88e54c5-23ed-4e33-a6a9-c31dc810662b/status" - uploadLink: - type: string - description: URL to submit the upload file - example: "/inventory/impex/v1/organizations/testOrg/availability-records/imports/uploadlink/d88e54c5-23ed-4e33-a6a9-c31dc810662b" - uploadMethod: - type: string - description: Upload HTTP Method, i.e. Multipart/Form - example: POST - uploadLinkExpirationUTC: - type: datetime - description: ISO Time when upload link expires - example: 2019-06-07T15:10:04.357Z - format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphDeleteErrors.raml b/testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphDeleteErrors.raml deleted file mode 100644 index 4c08ae93..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphDeleteErrors.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType - -description: Errors generated by the export location graph batch delete call. -properties: - id: - type: string - required: true - example: ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8 - message: - type: string - required: true - example: Export location graph identifier not found - errorCode: - type: string - required: true - example: InvalidExportId \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphGroups.raml b/testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphGroups.raml deleted file mode 100644 index 11797ced..00000000 --- a/testIntegration/stagingApis/inventory/impex/types/LocationGraph/ExportLocationGraphGroups.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType - -description: The group array items contained in a location graph export -type: object -properties: - id: - type: string - required: true - example: 8ae8b814-0b28-4710-8c3c-8ed95abed62e - locations: - required: true - type: array - items: string - examples: - ex1: [l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2] - ex2: [ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8] - ex3: [ld3b3090b-11c0-4c7d-bb5f-0ca88c7da8f8, l4b17f6a0-b4e6-43a1-bfee-a4a2db37b3f2] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/.metadata.json b/testIntegration/stagingApis/inventory/inventory-availability/.metadata.json deleted file mode 100644 index c1a61ea0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability/1.1.14", - "name": "Inventory Availability", - "description": "Receive inventory availability and perform inventory updates within Omnichannel Inventory.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "inventory-availability", - "version": "1.1.14", - "categories": { - "CC API Family": [ - "Inventory" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorEntityNotFound.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorEntityNotFound.raml deleted file mode 100644 index f3efd2e6..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorEntityNotFound.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "EntityNotFound", - "message": "'EntityId' The provided entity is not found", - "parameterName": "EntityId" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExample.raml deleted file mode 100644 index 2c0d70eb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "The delta token provided is invalid." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExpiredDeltaLink.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExpiredDeltaLink.raml deleted file mode 100644 index 53618d88..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorExpiredDeltaLink.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ExpiredDeltaLink", - "message": "'id' The Delta Link is expired", - "parameterName": "Delta Link" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidLocation.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidLocation.raml deleted file mode 100644 index 2feb52b2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidLocation.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "LocationDoesNotExist", - "message": "A location provided in the request does not exist." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidRequestParameterMode.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidRequestParameterMode.raml deleted file mode 100644 index 743cd84f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/400ErrorInvalidRequestParameterMode.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "An invalid request parameter was provided", - "parameterName": "mode" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/403ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/403ErrorExample.raml deleted file mode 100644 index dfc0e8a2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/403ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "TenantNotProvisioned", - "message": "The client is not correctly configured to access the system." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExample.raml deleted file mode 100644 index a8ab1133..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "EntityNotFound", - "message": "An invalid entity was provided." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExampleDeleteLocationSKU.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExampleDeleteLocationSKU.raml deleted file mode 100644 index de95b721..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/404ErrorExampleDeleteLocationSKU.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "EntityNotFound", - "message": "The Location SKU provided was not found in the system." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/409ExportInProcessErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/409ExportInProcessErrorExample.raml deleted file mode 100644 index 7df53b6c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/409ExportInProcessErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ExportInProcess", - "message": "Export 1234-3456-45678-1234 is in progress." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/410ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/410ErrorExample.raml deleted file mode 100644 index 7f90a19c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/410ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "ExpiredDeltaLink", - "message": "The delta token provided has expired." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllLocations.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllLocations.raml deleted file mode 100644 index 4447ee5c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllLocations.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "sku": "sku123", - "group": "Canada" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllUnassignedLocations.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllUnassignedLocations.raml deleted file mode 100644 index 4651be53..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSAllUnassignedLocations.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "sku": "sku123" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSLocationsAndGroups.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSLocationsAndGroups.raml deleted file mode 100644 index 56ca027c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetATSLocationsAndGroups.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "skus": [ - "sku123" - ], - "locations": [ - "warehouse5" - ], - "groups": [ - "UnitedStates" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsAndGroupsResponse.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsAndGroupsResponse.raml deleted file mode 100644 index b1ec3bfa..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsAndGroupsResponse.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "locations": [ - { - "id": "warehouse5", - "records": [ - { - "sku": "sku123", - "atf": 1137.65, - "ato": 1147.9, - "onHand": 0, - "reserved": 12.5, - "safetyStockCount": 0, - "effectiveDate": "2019-07-24T21:13:00Z", - "futures": [ - { - "expectedDate": "2019-08-24T21:13:00Z", - "quantity": 10.25 - } - ] - } - ] - } - ], - "groups": [ - { - "id": "UnitedStates", - "records": [ - { - "sku": "sku123", - "atf": 1137.65, - "ato": 1147.9, - "onHand": 0, - "reserved": 12.5, - "safetyStockCount": 0, - "effectiveDate": "2019-07-24T21:13:00Z", - "groupReserved": 10, - "sharedGroupReserved": 2.5, - "futures": [ - { - "expectedDate": "2019-08-24T21:13:00Z", - "quantity": 10.25 - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsResponse.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsResponse.raml deleted file mode 100644 index 6782e87a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllLocationsResponse.raml +++ /dev/null @@ -1,70 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "locations": [ - { - "id": "surprise", - "records": [ - { - "sku": "sku123", - "atf": 17.0, - "ato": 27.25, - "reserved": 0, - "safetyStockCount": 10.0, - "effectiveDate": "2020-04-08T14:05:22.790896-07:00", - "futures": [ - { - "quantity": 10.25, - "expectedDate": "2019-08-24T21:13:00Z" - } - ], - "onHand": 27.0 - } - ] - }, - { - "id": "wickenburg", - "records": [ - { - "sku": "sku123", - "atf": 30.0, - "ato": 40.25, - "reserved": 0, - "safetyStockCount": 20.0, - "effectiveDate": "2020-04-08T14:05:22.790896-07:00", - "futures": [ - { - "quantity": 10.25, - "expectedDate": "2019-08-24T21:13:00Z" - } - ], - "onHand": 50.0 - } - ] - } - ], - "groups": [ - { - "id": "arizona", - "records": [ - { - "sku": "sku123", - "atf": 47.0, - "ato": 67.5, - "reserved": 0.0, - "safetyStockCount": 30.0, - "groupReserved": 0.0, - "sharedGroupReserved": 0.0, - "effectiveDate": "2020-04-08T14:05:22.790896-07:00", - "futures": [ - { - "quantity": 20.5, - "expectedDate": "2019-08-24T21:13:00Z" - } - ], - "onHand": 77.0 - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllUnassignedLocationsResponse.raml b/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllUnassignedLocationsResponse.raml deleted file mode 100644 index c9b82454..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/Examples/GetAllUnassignedLocationsResponse.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "locations": [ - { - "id": "surprise", - "records": [ - { - "sku": "sku123", - "atf": 17.0, - "ato": 27.25, - "reserved": 0, - "safetyStockCount": 10.0, - "effectiveDate": "2020-04-08T14:05:22.790896-07:00", - "futures": [ - { - "quantity": 10.25, - "expectedDate": "2019-08-24T21:13:00Z" - } - ], - "onHand": 27.0 - } - ] - }, - { - "id": "wickenburg", - "records": [ - { - "sku": "sku123", - "atf": 30.0, - "ato": 40.25, - "reserved": 0, - "safetyStockCount": 20.0, - "effectiveDate": "2020-04-08T14:05:22.790896-07:00", - "futures": [ - { - "quantity": 10.25, - "expectedDate": "2019-08-24T21:13:00Z" - } - ], - "onHand": 50.0 - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange.json deleted file mode 100644 index 5987cf1a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"inventory-availability.raml","name":"Inventory Availability","classifier":"raml","tags":[],"dependencies":[{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"api-standards","version":"1.1.15"},{"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"}],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"inventory-availability","version":"1.1.14","apiVersion":"v1","originalFormatVersion":"1.0","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","metadata":{"projectId":"0543665d-deaf-4ece-8ae8-8b7d62070905","branchId":"master","commitId":"82c6b676dd6661139cc6a72d48cf58d7dacd5a12"}} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/inventory-availability-description.md b/testIntegration/stagingApis/inventory/inventory-availability/inventory-availability-description.md deleted file mode 100644 index 195ff06d..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/inventory-availability-description.md +++ /dev/null @@ -1,107 +0,0 @@ -# API Overview - -Inventory Availability APIs enable you to get inventory availability and perform inventory updates within Omnichannel Inventory. - -Inventory Availability API can be segregated into the following functional categories: - -| Category | Endpoint Description | -| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Inventory Availability | API endpoints for getting inventory SKU availability for groups and locations. You can query for multiple SKUs either by a single group or by multiple locations | -| Inventory Updates and Deletes | API endpoints for updating and deleting inventory availability for specific SKUs. | -| Deltas | API endpoint for reading the stream of changes that have occurred to SKUs in groups or locations. | - -**Note**: Omnichannel Inventory uses the Tenant Group ID in place of the Organization ID. For more information, see [Configuration Values](https://developer.salesforce.com/docs/commerce/commerce-api/guide/commerce-api-configuration-values). - -## Authentication and Authorization - -Clients calling Omnichannel Inventory can be authenticated in one of two ways. - -- Authenticate using Account Manager with your B2C Commerce credentials. -- Authenticate using your Salesforce org credentials. - -If you are using both B2C Commerce and Salesforce Order Management, you can use either authentication approach. However, we recommend choosing only one to avoid mixing approaches across your integrations. -The different authentication approaches do not impact the purpose or performance of the APIs. -Each authentication approach uses a unique set of scopes. - -| Scopes for Account Manager Authentication | Scopes for Salesforce org Authentication | -| ----------------------------------------- | ---------------------------------------- | -| sfcc.inventory.impex-graphs | sfcc_inventory_impex_graphs | -| --- | --- | -| sfcc.inventory.impex-inventory.rw | sfcc_inventory_impex_inventory_rw | -| sfcc.inventory.impex-inventory | sfcc_inventory_impex_inventory | -| sfcc.inventory.availability | sfcc_inventory_availability | -| sfcc.inventory.availability.rw | sfcc_inventory_availability_rw | -| sfcc.inventory.reservations | sfcc_inventory_reservations | -| sfcc.inventory.reservations.rw | sfcc_inventory_reservations_rw | - -Calls through the API gateway to Omnichannel Inventory must have a valid OAUTH bearer token. The tenant identifier used by Omnichannel Inventory is supplied in the header of the token. -All request and response body entities are composed in JSON. - -## Inventory Availability - -Use these API endpoints to get inventory SKU availability for groups and locations. You can query multiple SKUs either by a single group or by multiple locations. - -### Group Availability - -Use this endpoint to retrieve inventory availability for a group identifier and multiple SKUs with the criteria specified as parameters of the URL. A successful response contains the item availability data for the requested group and SKUs - -### Location Availability - -Use this endpoint to retrieve inventory availability for multiple location identifiers and SKUs with the criteria specified in the body of the request. A successful response contains the item availability data for the requested locations and SKUs - -## Inventory Updates and Deletes - -Use these API endpoints to update and delete inventory availability for specific SKUs. - -### Updates - -Use these endpoints to update inventory availability data for a single location or in a batch of locations. - -### Single Location - -Use this endpoint to update inventory availability for a specific location identifier and SKU. The data to update is supplied in the body of the request. - -### Batch of Locations - -Use this endpoint to update multiple locations and SKUS. The stream of item availability records is supplied in the body of the request. - -### Deletes - -The client calls these endpoints to delete inventory availability data. Although the current values are reset, history is maintained. - -### Location - -Use this endpoint to delete a SKU at a location with the criteria specified as URL parameters. - -### Group - -Use this endpoint to delete a SKU at a group with the criteria specified as URL parameters. - -## Deltas - -Use this endpoint to request inventory availability changes by providing a place identifier (for example, group or location) and a token as parameters of the URL. The response contains a stream of inventory availability data with the changes that have occurred since the token was created. Each successful response contains a _new_ token for the next delta call. See the Inventory Impex API for details on how to retrieve the initial delta token from the Inventory Export. - -## Futures - -Be advised that this API references Future inventory collections as `futures` and `futureStock`. These are the same thing. Also the Inventory Impex API references Future inventory collections as `futures`. - -## Common Response Codes - -The following error codes apply to all API endpoints. See the API documentation for a complete list of the error codes and response bodies that can be expected on each endpoint. - -- 401 - The OATH bearer token is not valid for the tenant or is no longer valid. The response body has the details. -- 403 - The tenant is not provisioned in the system. -- 5XX - There was a server error. The response body has the details. -- Unknown - If an Unknown error type is returned, it indicates that an unknown internal error occurred. - -## External Reference Identifier - -Currently, there are a number of places where a consumer can submit an `ExternalRefId` with their request. This is to allow the consumer to submit user generated data along with their request as a link to other external systems data. For example, if I'm pulling data from an order that has an order ID, I can submit that order ID with my reservation request as the `externalRefId`. Then, if there is a problem with the reservation, there is a way to connect it with the order in the external system that generated the error or problem. This is NOT to be confused with `externalRefId` used in Salesforce Core, or any other services. The usage is exclusive to OCI and is not used anywhere else. - -## Correlation-ID - -In order to facilitate tracking of operations in OCI, customers must populate a header with the name Correlation-ID, which will be passed through the CDN and sent with the request to OCI. This will help trace requests as they move throughout our service. To be accepted, the correlation-id must be a valid UUIDv2, otherwise, it will be ignored. - -When a web-request is passed through the CDN, the CDN's x-correlation-id header value (which comes from their ray-id) also comes into play. In this case, the correlation-id provided will be prepended to the CDN's x-correlation-id and both values will be passed through, separated by a comma. - -Some services use a header X-Correlation-ID. In the case of OCI, if this header is used, it is overwritten by the CDN with a new value and the initial purpose of the header is defeated. Use the Correlation-ID instead for a consistent result. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/inventory-availability.raml b/testIntegration/stagingApis/inventory/inventory-availability/inventory-availability.raml deleted file mode 100644 index 3fc57058..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/inventory-availability.raml +++ /dev/null @@ -1,318 +0,0 @@ -#%RAML 1.0 -title: Inventory Availability -description: !include inventory-availability-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/inventory/availability/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml - AvailabilityByLocationAndGroupRequestTypes: libraries/AvailabilityByLocationAndGroup/AvailabilityByLocationAndGroup.raml - InventoryUpdateTypes: libraries/InventoryUpdates/InventoryUpdatesRequestAndResponses.raml - BatchInventoryUpdate: libraries/BatchInventoryUpdate/BatchInventoryUpdate.raml - GetAvailabilityDeltas : libraries/GetAvailabilityDeltas/GetAvailabilityDeltas.raml - ErrorTypes: libraries/ExceptionResponses/ErrorCodeTypesEnum.raml - ErrorResponses: libraries/ExceptionResponses/ErrorResponses.raml - PlaceType: libraries/PlaceType/PlaceType.raml - ProductSegmentationLibrary: libraries/ProductSegmentation/ProductSegmentationLibrary.raml - -securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.availability] } - -types: - DeltaTokenOld: !include types/DeltaToken.raml - LocationId: !include types/LocationId.raml - GroupId: !include types/GroupId.raml - 4xxError: !include types/HttpErrors/IasError.raml - -traits: - generic4XXResponseErrorCode: !include traits/GenericResponseErrorCode.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /availability-records/actions: - description: Use this collection of endpoints to perform various actions within the system. - /batch-update: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.availability.rw] } - post: - displayName: batchInventoryUpdate - description: Update a batch of inventory items with one call. - is: - - ApiStandards.RateLimited3: - responseStatus: 200 - responseStatus2: 204 - responseStatus3: 400 - body: - type: BatchInventoryUpdate.BatchInventoryUpdateRequest - responses: - 200: - description: Batch inventory update succeeded with errors. - body: - type: BatchInventoryUpdate.BatchInventoryUpdateErrors - 204: - description: Batch inventory update successful. - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/4xxInvalidRequestParameterOrLocationDoesNotExist.raml - example: !include Examples/400ErrorExample.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 4xxError - example: !include Examples/403ErrorExample.raml - /get-deltas: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.availability] } - post: - description : Retrieve changes that have occurred since a given delta token. An initial delta token is obtained from an export call; subsequent delta tokens are returned from this call. - displayName : getAvailabilityDeltas - is: - - ApiStandards.RateLimited3: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 410 - body: - application/json: - type: GetAvailabilityDeltas.GetAvailabilityDeltasPostBody - responses: - 200: - description: Changes are returned in the body (along with a new delta token to use for the next call). - body: - type: GetAvailabilityDeltas.GetAvailabilityDeltasResponse200 - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/4xxInvalidRequestParameterOrExpiredDeltaLink.raml - example: !include Examples/400ErrorExpiredDeltaLink.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 4xxError - - example: !include Examples/403ErrorExample.raml - 410: - description: Delta token link expired. - body: - application/problem+json: - type: !include types/HttpErrors/410ExpiredLink.raml - example: !include Examples/410ErrorExample.raml - /get-availability: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.availability] } - post: - description: Get SKU availability by location, by group, or by both. - displayName: skuAvailabilityByLocationAndOrGroup - is: - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 400 - body: - application/json: - type: AvailabilityByLocationAndGroupRequestTypes.InventoryAvailabilityRequestBody - examples: - GetAllLocations: - !include Examples/GetATSAllLocations.raml - GetAllUnAssignedLocations: - !include Examples/GetATSAllUnassignedLocations.raml - GetLocationsAndGroups: - !include Examples/GetATSLocationsAndGroups.raml - responses: - 200: - description: Successful request for item availability information. - body: - type: AvailabilityByLocationAndGroupRequestTypes.Response200 - examples: - GetLocationsAndGroupsResponse: !include Examples/GetAllLocationsAndGroupsResponse.raml - GetAllLocationsResponse: !include /Examples/GetAllLocationsResponse.raml - GetAllUnAssignedLocationsResponse: !include /Examples/GetAllUnassignedLocationsResponse.raml - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/4xxInvalidRequestParameterOrLocOrGroupDoesNotExist.raml - example: !include Examples/400ErrorInvalidLocation.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 4xxError - - example: !include Examples/403ErrorExample.raml - /product-segmentation: - description: THIS ENDPOINT IS DEPRECATED - Please see /product-segmentation/actions/batch-update for current documentation and usage. - displayName: deprecatedProductSegmentationBatchUpdateRequest - - /product-segmentation/actions/batch-update: - post: - description: An endpoint to submit batches of Product Eligibility Segmentations. The body permits requests to append or delete segmentations. For more information on Product Eligibility, see Product Eligibility Segmentation Import in the OCI Impex API. - displayName: batchProductSegmentationRequest - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.impex-inventory.rw] } - is: - - ApiStandards.RateLimited2: - responseStatus: 200 - responseStatus2: 204 - responseStatus3: 400 - body: - application/json: - type: ProductSegmentationLibrary.ProductSegmentationAppendRequestBody | ProductSegmentationLibrary.ProductSegmentationDeleteRequestBody - responses: - 200: - description: Segmentations partially processed. Some product segmentations could not be fully processed. - body: - application/json: - properties: - errors: - type: array - items: - properties: - error: - type: string - examples: - delete error: "Failed to delete product segmentation for group id WarehouseOne and sku 13" - append error: "Failed to create product segmentation for group id WarehouseOne and sku 15" - examples: - delete errors: - { - "errors": [{ - "error": "Failed to delete product segmentation for group id WarehouseOne and sku DeleteSku1" - }, - { - "error": "Failed to delete product segmentation for group id WarehouseOne and sku DeleteSku1" - }] - } - append errors: - { - "errors": [{ - "error": "Failed to create product segmentation for group id WarehouseOne and sku AppendNewSku1" - }, - { - "error": "Failed to create product segmentation for group id WarehouseOne and sku AppendNewSku2" - }] - } - 204: - description: Successfully processed all product segmentations. - 400: - description: Invalid request. - body: - application/problem+json: - type: 4xxError - example: !include Examples/400ErrorInvalidRequestParameterMode.raml - /locations/{locationId}/availability-records/skus/{sku}/{requestId}: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.availability.rw] } - uriParameters: - sku: - description: The SKU associated with the inventory record you want to update. - locationId: - description: The location for the SKU being updated. - requestId: - description: The unique request ID associated with the attempt to update an item in inventory. - delete: - displayName: deleteLocationSku - description: - API call that is used to delete a location sku. When this endpoint is called, the - sku has all values reset and is marked for deletion from the system. - Please note that history is not preservered by this action. The aggregate for this - location sku will also be removed from the group view. - is: - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 404 - responseStatus3: 409 - responses: - 204: - description: Location SKU successfully deleted from the system - 404: - description: Location SKU not found - body: - application/problem+json: - type: !include types/HttpErrors/404EntityNotFound.raml - example: !include Examples/404ErrorExampleDeleteLocationSKU.raml - 409: - description: There is an inventory export in progress, deletion is not allowed - body: - application/problem+json: - type: ErrorResponses.ExportInProcessError - example: !include Examples/409ExportInProcessErrorExample.raml - put: - displayName: replaceSkuLocation - description: - API call that is used to update or create the data and quantity information for an item. - In the PUT call for updating, it replaces all fields of data. - Any fields that are not included, then the data that currently exists gets deleted. Everything is defaulted to 0 (Zero) if the field is not included. - is: - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 400 - responseStatus3: 404 - body: - type: InventoryUpdateTypes.InventoryUpdateRequestBodyPut - responses: - 204: - description: Update was successful. - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound.raml - example: !include Examples/400ErrorEntityNotFound.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 4xxError - example: !include Examples/403ErrorExample.raml - 404: - description: Entity not found. - body: - application/problem+json: - type: !include types/HttpErrors/404EntityNotFound.raml - example: !include Examples/404ErrorExample.raml - patch: - displayName: updateSkuLocation - description: - Update or patch the data or quantity information for an item. - On a PATCH call, most fields are optional, and only fields that are included are updated with the provided values. - is: - - ApiStandards.RateLimited3: - responseStatus: 204 - responseStatus2: 400 - responseStatus3: 404 - body: - type: InventoryUpdateTypes.InventoryUpdateRequestBodyPatch - responses: - 204: - description: Adjustment was successful. - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound.raml - example: !include Examples/400ErrorEntityNotFound.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 4xxError - - example: !include Examples/403ErrorExample.raml - 404: - description: Entity not found. - body: - application/problem+json: - type: !include types/HttpErrors/404EntityNotFound.raml - example: !include Examples/404ErrorExample.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/AvailabilityByLocationAndGroup/AvailabilityByLocationAndGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/AvailabilityByLocationAndGroup/AvailabilityByLocationAndGroup.raml deleted file mode 100644 index efaef056..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/AvailabilityByLocationAndGroup/AvailabilityByLocationAndGroup.raml +++ /dev/null @@ -1,52 +0,0 @@ -#%RAML 1.0 Library -types: - SkuId: !include ../../types/SkuId.raml - LocationId: !include ../../types/LocationId.raml - GroupId: !include ../../types/GroupId.raml - ItemLocationInfo: !include ../../types/ItemLocationInfo.raml - ItemGroupInfo: !include ../../types/ItemGroupInfo.raml - - InventoryAvailabilityRequestBody: - description: The body that is sent requesting the item availability by location and/or group - properties: - sku: - type: string - description: Used for retrieving the data for a single item for all locations that have not been assigned to any specific group(s). If a group Id is specified in the request, then the locations to be returned will be the ones assigned to the specified group. - required: false - example: "sku456" - group: - type: string - description: The group ID that should be used in conjunction with the single sku provided in the request. This will retrieve the information for all locations in this group. - required: false - example: "Canada" - skus: - description: It specifies the skus for which the availability requires to be checked. The array of SKUs is limited by the total combinations of SKU per location plus SKU per group to check, the total cannot be more than 100. - type: array - items: - type: SkuId - required: false - locations: - description: Query the system for availability at this location. This field does not union with the groups field. The array of locations is limited by the total combinations of SKU per location plus SKU per group to check, the total cannot be more than 100. - type: array - required: false - items: - type: LocationId - groups: - description: Query the system for availability for this group. This field does not union with the locations field. Array is limited to 0-100 items. This field does not union with the groups field. The array of groups is limited by the total combinations of SKU per location plus SKU per group to check, the total cannot be more than 100. - type: array - required: false - items: - type: GroupId - - Response200: - description: Successful request for item information - properties: - locations: - type: array - items: - type: ItemLocationInfo - groups: - type: array - required: false - items: - type: ItemGroupInfo diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/BatchInventoryUpdate/BatchInventoryUpdate.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/BatchInventoryUpdate/BatchInventoryUpdate.raml deleted file mode 100644 index ac7df2d8..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/BatchInventoryUpdate/BatchInventoryUpdate.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library -types: - BatchInventoryUpdateRequestRecord: !include ../../types/BatchInventoryUpdate/BatchInventoryUpdateRequestRecord.raml - BatchInventoryUpdateErrors: !include ../../types/BatchInventoryUpdate/BatchInventoryUpdateErrors.raml - - BatchInventoryUpdateRequest: - type: object - properties: - records: - description: List of records to process in a batch update. The maximum number of entries in the array is 100. - type: array - maxItems: 100 - items: - type: BatchInventoryUpdateRequestRecord - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorCodeTypesEnum.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorCodeTypesEnum.raml deleted file mode 100644 index 1b73d4fd..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorCodeTypesEnum.raml +++ /dev/null @@ -1,101 +0,0 @@ -#%RAML 1.0 Library - -types: - ErrorCodeTypesEnum: - type: ErrorCodesEnum - InvalidRequestParameterOrLocationDoesNotExist: - enum: [InvalidRequestParameter, LocationDoesNotExist] - type: string - example: InvalidRequestParameter - - InvalidRequestParameterOrLocOrGroupDoesNotExist: - enum: [InvalidRequestParameter, LocationDoesNotExist, GroupDoesNotExist] - type: string - example: GroupDoesNotExist - - InvalidRequestParameterOrExpiredDeltaLink: - enum: [InvalidRequestParameter, ExpiredDeltaLink] - type: string - example: ExpiredDeltaLink - - InvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound: - enum: [InvalidRequestParameter, LocationDoesNotExist, EntityAlreadyExists, EntityNotFound] - type: string - example: EntityNotFound - - InvalidRequestParameterLocDoesNotExistOrEntityNotFound: - enum: [InvalidRequestParameter, LocationDoesNotExist, EntityNotFound] - type: string - example: EntityNotFound - - InvalidRequestParameter: - enum: [InvalidRequestParameter] - type: string - example: InvalidRequestParameter - - ExpiredDeltaLinkEnum: - enum: [ExpiredDeltaLink] - type: string - example: ExpiredDeltaLink - - EntityNotFoundEnum: - enum: [EntityNotFound] - type: string - example: EntityNotFound - - ExportInProcess: - enum: [ExportInProcess] - type: string - example: ExportInProcess - - - ErrorCodesEnum: - enum: - - InsufficientQuantity - - DuplicateGroupId - - InvalidGroupId - - DuplicateSku - - MissingParameter - - InvalidRequest - - InvalidRequestParameter - - EntityAlreadyExists - - PositiveQuantityRequired - - ReservationInUnknownState - - ReservationInvalidState - - ReservationCancelled - - EntityNotFound - - ReservationCancellationFailed - - ExportInProcess - - ExportProcessFailed - - Unknown - - DuplicateEventId - - ReservationOperationInProcess - - ConcurrentModification - - GroupDoesNotExist - - OnlyOneLocationSupported - - NotAppliedDueToAtomicFailure - - ImportInProgress - - ExpiredDeltaLink - - InventoryReset - - UnableToStartExport - - ResourceNotFound - - LocationListMustNotBeEmpty - - SeeOtherResource - - TenantNotProvisioned - - ReservationAlreadyFinalized - - MismatchedGroupAndLocation - - GroupMustNotBeEmpty - - LocationListTooLarge - - ExpiredUploadLink - - ExpiredResultLink - - FileAlreadyReceived - - IllegalGroupState - - DeleteTenantNotAllowed - - TenantResetInProgress - - LocationDoesNotExist - - LocationNotInGroup - - PreviousRequestAborted - - PreviousRequestCancelled - - DuplicateLocationId - type: string - example: InsufficientQuantity diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorResponses.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorResponses.raml deleted file mode 100644 index 2a7815c9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/ErrorResponses.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 Library - -uses: - ErrorCodeTypesEnum: ErrorCodeTypesEnum.raml - -types: - ApiErrors: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - - ExportInProcessError: - properties: - errorCode: - type: ErrorCodeTypesEnum.ExportInProcess - required: true - example: "ExportInProcess" - message: - type: string - required: true - example: "" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid JSON is passed to the service, this field indicates which piece of the supplied JSON is invalid. - type: string - required: false - example: "location" - - 409ExportInProcessError: [ExportInProcessError, ApiErrors] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/GenericError.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/GenericError.raml deleted file mode 100644 index a3304212..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ExceptionResponses/GenericError.raml +++ /dev/null @@ -1,197 +0,0 @@ -#%RAML 1.0 Library - -uses: - ErrorCodeTypesEnum: ErrorCodeTypesEnum.raml - -types: - ErrorResponse: - properties: - errorCode: - type: ErrorCodeTypesEnum.ErrorCodeTypesEnum - required: true - example: "InvalidRequest" - message: - type: string - required: true - example: "The delta token provided is invalid." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameterOrLocationDoesNotExist: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterOrLocationDoesNotExist - required: true - example: "InvalidRequestParameter" - message: - type: string - required: true - example: "The delta token provided is invalid." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameterOrLocOrGroupDoesNotExist: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterOrLocOrGroupDoesNotExist - required: true - example: "InvalidRequestParameter" - message: - type: string - required: true - example: "The delta token provided is invalid." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - EntityNotFound: - properties: - errorCode: - type: ErrorCodeTypesEnum.EntityNotFoundEnum - required: true - example: "EntityNotFound" - message: - type: string - required: true - example: "An invalid entity was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - - ExpiredDeltaLink: - properties: - errorCode: - type: ErrorCodeTypesEnum.ExpiredDeltaLinkEnum - required: true - example: "ExpiredDeltaLink" - message: - type: string - required: true - example: "The delta token provided is expired." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameterOrExpiredDeltaLink: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterOrExpiredDeltaLink - required: true - example: "ExpiredDeltaLink" - message: - type: string - required: true - example: "The delta token provided is expired." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound - required: true - example: "EntityAlreadyExists" - message: - type: string - required: true - example: "The entity provided already exists." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameterLocDoesNotExistOrEntityNotFound: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterLocDoesNotExistOrEntityNotFound - required: true - example: "EntityNotFound" - message: - type: string - required: true - example: "The entity provided does not exist." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - InvalidRequestParameter: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameter - required: true - example: "InvalidRequestParameter" - message: - type: string - required: true - example: "An invalid request parameter was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - ApiErrors: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - - # Create all of the unions between our errors and the generic api errors from the library - Mercury/C4E Compliance - 4xxError: [ErrorResponse, ApiErrors] - 4xxInvalidRequestParameterOrLocationDoesNotExist: [InvalidRequestParameterOrLocationDoesNotExist, ApiErrors] - 4xxInvalidRequestParameterOrLocOrGroupDoesNotExist: [InvalidRequestParameterOrLocOrGroupDoesNotExist, ApiErrors] - 4xxInvalidRequestParameterOrExpiredDeltaLink: [InvalidRequestParameterOrExpiredDeltaLink, ApiErrors] - 4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound: [InvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound, ApiErrors] - 4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound: [InvalidRequestParameterLocDoesNotExistOrEntityNotFound, ApiErrors] - 4xxInvalidRequestParameter: [InvalidRequestParameter, ApiErrors] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/GetAvailabilityDeltas/GetAvailabilityDeltas.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/GetAvailabilityDeltas/GetAvailabilityDeltas.raml deleted file mode 100644 index 71689ec4..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/GetAvailabilityDeltas/GetAvailabilityDeltas.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 Library -types: - DeltaTokenType: !include ../../types/DeltaToken.raml - DeltaRecordType: !include ../../types/DeltaRecord.raml - ShouldQueryAgain: !include ../../types/ShouldQueryAgain.raml - - GetAvailabilityDeltasPostBody: - properties: - deltaToken: - type: DeltaTokenType - - GetAvailabilityDeltasResponse200: - properties: - nextDeltaToken: - type: DeltaTokenType - example: e3NoYXJkSWQtMDAwMDAwMDE1NzczOTkxNTc2MDItYmE5MGYxNGE6MDAwMDAwMDAwMDAwMDAwMDAwNDQ0fQ== - shouldQueryAgain: - type: ShouldQueryAgain - records: - type: array - items: DeltaRecordType \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/InventoryUpdates/InventoryUpdatesRequestAndResponses.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/InventoryUpdates/InventoryUpdatesRequestAndResponses.raml deleted file mode 100644 index 918b4c0a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/InventoryUpdates/InventoryUpdatesRequestAndResponses.raml +++ /dev/null @@ -1,72 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - ExternalRefId: !include ../../types/ExternalRefId.raml - Future: !include ../../types/Future.raml - - InventoryUpdateRequestBodyPatch: - description: |- - The body of the patch request for updating sku/location inventory. - All fields are OPTIONAL. If a field is missing or contains a null value then the system doesn't update that field when patching. - properties: - externalRefId: - required: false - type: ExternalRefId - onHand: - required: false - description: The new physical count available. The inventory count not considering future inventory or reservations. - example: 25.000 - type: number - format: double - minimum: 0.000 - multipleOf: 0.001 - safetyStockCount: - required: false - description: Inventory quantity that a merchant wants to intentionally holdback and not include in the ATS/ATF/ATO - example: 20.000 - type: number - format: double - minimum: 0.000 - multipleOf: 0.001 - effectiveDate: - required: false - type: !include ../../types/EffectiveDateGeneric.raml - futureStock: - required: false - type: array - items: - type: Future - - InventoryUpdateRequestBodyPut: - description: |- - The body of the put request for updating sku/location inventory. - All fields are required. If a field is missing or contains a null value then a 400 error will be thrown. - properties: - externalRefId: - type: ExternalRefId - required: false - onHand: - description: The new physical count available. The inventory count not considering future inventory or reservations. - example: 25.000 - type: number - format: double - minimum: 0.000 - multipleOf: 0.001 - required: false - safetyStockCount: - description: Inventory quantity that a merchant wants to intentionally holdback and not include in the ATS/ATF/ATO - example: 20 - type: number - format: double - minimum: 0.000 - multipleOf: 0.001 - required: false - effectiveDate: - required: false - type: !include ../../types/EffectiveDateGeneric.raml - futureStock: - type: array - required: false - items: - type: Future \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/PlaceType/PlaceType.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/PlaceType/PlaceType.raml deleted file mode 100644 index 6a487eba..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/PlaceType/PlaceType.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Library -types: - PlaceType: !include ../../types/PlaceType.raml - - Response200: - description: Successful request for location or group type - properties: - type: - type: PlaceType - required: false diff --git a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ProductSegmentation/ProductSegmentationLibrary.raml b/testIntegration/stagingApis/inventory/inventory-availability/libraries/ProductSegmentation/ProductSegmentationLibrary.raml deleted file mode 100644 index 3fa2e59f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/libraries/ProductSegmentation/ProductSegmentationLibrary.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library -types: - ProductSegmentationAppendRequestBody: - type: object - properties: - groups: - type: array - items: - properties: - groupId: - required: true - description: An identifier for a collection of locations - type: string - minLength: 1 - maxLength: 128 - pattern: ^[*a-zA-Z0-9-_]*$ - example: "WarehouseOne" - mode: - required: true - enum: ["APPEND", "DELETE"] - type: string - example: "APPEND" - skus: - required: true - type: array - example: ["AppendNewSku1", "AppendNewSku2"] - items: - description: The inventory identifier - type: string - minLength: 2 - maxLength: 250 - pattern: ^[^\\<>;%/\s]*$ - - ProductSegmentationDeleteRequestBody: - type: object - properties: - groups: - type: array - items: - properties: - groupId: - required: true - description: An identifier for a collection of locations - type: string - minLength: 1 - maxLength: 128 - pattern: ^[*a-zA-Z0-9-_]*$ - example: "WarehouseTwo" - mode: - required: true - enum: ["APPEND", "DELETE"] - type: string - example: "DELETE" - skus: - required: true - type: array - example: ["DeleteSku1", "DeleteSku2"] - items: - description: The inventory identifier - type: string - minLength: 2 - maxLength: 250 - pattern: ^[^\\<>;%/\s]*$ \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/traits/GenericResponseErrorCode.raml b/testIntegration/stagingApis/inventory/inventory-availability/traits/GenericResponseErrorCode.raml deleted file mode 100644 index 3c8c0f6a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/traits/GenericResponseErrorCode.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait -#generic response for responses that have a body of type: ErrorCode, with placeholders for the response code, description, errorCode and error Message - -uses: - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - ErrorEnum: ../libraries/ExceptionResponses/ErrorCodeTypesEnum.raml - -responses: - <>: - description: <> - body: - application/json: - #type: !include ../types/ErrorCode.raml - type: ApiStandards.ErrorResponse - example: - type: about:blank - errorCode: <> - message: <> \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ATF.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ATF.raml deleted file mode 100644 index e64e3e03..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ATF.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount available to fulfill at the location -example: 1137.65 -minimum: 0.000 -type: number -format: double -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ATFForGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ATFForGroup.raml deleted file mode 100644 index 5188279e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ATFForGroup.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount available to fulfill at for the group -example: 1137.65 -minimum: 0.000 -type: number -format: double -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ATO.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ATO.raml deleted file mode 100644 index 3d1ef265..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ATO.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount available to order at the location -example: 1147.90 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ATOForGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ATOForGroup.raml deleted file mode 100644 index dcfe13a5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ATOForGroup.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount available to order at within the group -example: 1147.90 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForGroup.raml deleted file mode 100644 index 94e7e431..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForGroup.raml +++ /dev/null @@ -1,34 +0,0 @@ -#%RAML 1.0 DataType -description: A record contained within the lookup results containing details about the item. Those details include the sku, available to fulfill amount, available to order amount, quantity on hand amount, and the safety stock count value. - -properties: - sku: - type: !include SkuId.raml - atf: - type: !include ATFForGroup.raml - ato: - type: !include ATOForGroup.raml - onHand: - description: The amount on hand within the location group - type: !include QOHForGroup.raml - reserved: - type: !include ReservedQuantityForGroup.raml - safetyStockCount: - description: The safety stock value for the item within the location group - type: !include SafetyStock.raml - groupReserved: - description: The total group reservations for the group NOT including shared - type: !include GroupReserved.raml - required: False - sharedGroupReserved: - description: The amount of the soft_reserved count that comes from other groups - type: !include SharedGroupReserved.raml - required: False - effectiveDate: - type: !include EffectiveDateGeneric.raml - required: false - futures: - required: false - type: array - items: - type: !include FutureForGroup.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForLocation.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForLocation.raml deleted file mode 100644 index 4b951f58..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/AvailabilityRecordForLocation.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 DataType -description: A record contained within the lookup results containing details about the item. Those details include the sku, available to fulfill amount, available to order amount, quantity on hand amount, and the safety stock count value. - -properties: - sku: - type: !include SkuId.raml - atf: - type: !include ATF.raml - ato: - type: !include ATO.raml - onHand: - description: The amount on hand at the location - type: !include QOH.raml - reserved: - type: !include ReservedQuantity.raml - safetyStockCount: - description: The safety stock value for the item at this location - type: !include SafetyStock.raml - effectiveDate: - type: !include EffectiveDateGeneric.raml - required: false - futures: - required: false - type: array - items: - type: !include Future.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrorDetail.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrorDetail.raml deleted file mode 100644 index 5d4d751f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrorDetail.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType - -description: Detail information for errors generated during a batch inventory update. -properties: - externalRefId: - required: false - type: !include ../ExternalRefId.raml - locationId: - type: !include ../LocationId.raml - sku: - type: !include ../SkuId.raml - id: - type: !include ../IdempotenceId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrors.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrors.raml deleted file mode 100644 index 88812d02..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateErrors.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -description: Errors produced during a batch inventory update -properties: - errors: - type: array - items: - type: !include BatchInventoryUpdateSingleError.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateRequestRecord.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateRequestRecord.raml deleted file mode 100644 index 30c30aeb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateRequestRecord.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 DataType - -description: Record definition used in a batch inventory update request - -properties: - externalRefId: - required: false - type: !include ../ExternalRefId.raml - futureStock: - required: false - type: array - items: - type: !include ../Future.raml - location: - type: !include ../LocationId.raml - onHand: - required: false - type: !include ../QOH.raml - safetyStockCount: - required: false - type: !include ../SafetyStock.raml - sku: - type: !include ../SkuId.raml - id: - type: !include ../IdempotenceId.raml - effectiveDate: - required: false - type: !include ../EffectiveDateGeneric.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateSingleError.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateSingleError.raml deleted file mode 100644 index fd7e5355..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/BatchInventoryUpdate/BatchInventoryUpdateSingleError.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType -uses: - ErrorEnum: ../../libraries/ExceptionResponses/ErrorCodeTypesEnum.raml - -description: Error record information generated during a batch inventory update. -properties: - details: - type: !include BatchInventoryUpdateErrorDetail.raml - message: - type: string - example: Inventory record update failed - errorCode: - type: ErrorEnum.ErrorCodeTypesEnum - example: InventoryReset \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/Date.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/Date.raml deleted file mode 100644 index b4f8be9b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/Date.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -example: 2019-07-24T21:13:00Z -type: datetime -format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/DeltaRecord.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/DeltaRecord.raml deleted file mode 100644 index d8769228..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/DeltaRecord.raml +++ /dev/null @@ -1,30 +0,0 @@ -#%RAML 1.0 DataType -description: An availability delta record that is returned from the availability delta calls. All fields that are Required will be reported, however if there is not a value for any particular field, it will be 0, empty or null. - -properties: - sku: - type: !include SkuId.raml - deltaType: - #description: The type delta change that occurred. - type: !include DelteRecordTypeEnum.raml - id: - type: !include PlaceId.raml - effectiveDate: - description: The effective date for the info is provided, but the field is NOT required. The date represents when the onHand value was accurate at the location. - type: !include Date.raml - example: 2019-07-24T21:13:00Z - required: false - format: rfc3339 - onHand: - type: !include QOH.raml - atf: - type: !include ATF.raml - ato: - type: !include ATO.raml - reserved: - type: !include QuantityReserved.raml - safetyStockCount: - type: !include SafetyStock.raml - futures: - type: array - items: !include Future.raml diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/DeltaToken.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/DeltaToken.raml deleted file mode 100644 index efd40e9e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/DeltaToken.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: The delta token obtained from a full export or a previous request to this API -example: e3NoYXJkSWQtMDAwMDAwMDE1NzczOTkxNTc2MDItYmE5MGYxNGE6MDAwMDAwMDAwMDAwMDAwMDAwNDQ0fQ== -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/DelteRecordTypeEnum.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/DelteRecordTypeEnum.raml deleted file mode 100644 index 0e0acbe6..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/DelteRecordTypeEnum.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -enum: [Change, Delete] -type: string -example: - Change \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/EffectiveDateGeneric.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/EffectiveDateGeneric.raml deleted file mode 100644 index 1e762c4b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/EffectiveDateGeneric.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -type: datetime -example: 2019-07-24T21:13:00Z -format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ExternalRefId.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ExternalRefId.raml deleted file mode 100644 index 8a0ae2dd..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ExternalRefId.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -description: | - A convenience identifier for the consumer, used for auditing events. This field is NOT used by the service itself, but is intended for the consumer to be able to identify records submitted from their systems that are external to OCI. -example: 7282822-9823-aaa -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/Future.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/Future.raml deleted file mode 100644 index cc8c6975..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/Future.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -description: The 'future' object contains data that tells us what is expected to arrive for this item in the future, as well as when those amounts of inventory should arrive. -properties: - expectedDate: - example: 2019-08-24T21:13:00Z - description: The date the future quantity is expected to arrive at the location - type: !include Date.raml - quantity: - description: The amount that is expected to arrive at a future date - type: number - minimum: 0.001 - multipleOf: 0.001 - example: 10.25 diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/FutureForGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/FutureForGroup.raml deleted file mode 100644 index 513d2892..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/FutureForGroup.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -description: The 'future' object contains data that tells us what is expected to arrive for this item in the future, as well as when those amounts of inventory should arrive. -properties: - expectedDate: - example: 2019-08-24T21:13:00Z - description: The date the future quantity is expected to arrive within the group - type: !include Date.raml - quantity: - description: The amount that is expected to arrive at a future date - type: number - minimum: 0.001 - multipleOf: 0.001 - example: 10.25 diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/GroupId.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/GroupId.raml deleted file mode 100644 index 1bcad88c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/GroupId.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: An identifier for a collection of locations -type: string -example: UnitedStates -minLength: 1 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/GroupReserved.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/GroupReserved.raml deleted file mode 100644 index 913fdf49..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/GroupReserved.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The total group reservations for the group NOT including shared -example: 12.5 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/404EntityNotFound.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/404EntityNotFound.raml deleted file mode 100644 index 6a61993f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/404EntityNotFound.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.EntityNotFound] - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/410ExpiredLink.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/410ExpiredLink.raml deleted file mode 100644 index 5d5189c1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/410ExpiredLink.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.ExpiredDeltaLink] - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound.raml deleted file mode 100644 index 753c7f48..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.4xxInvalidRequestParameterLocDoesNotExistEntityAlreadyExistsOrEntityNotFound ] - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound.raml deleted file mode 100644 index 00a4a6f7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.4xxInvalidRequestParameterLocDoesNotExistOrEntityNotFound ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrExpiredDeltaLink.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrExpiredDeltaLink.raml deleted file mode 100644 index 7529a599..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrExpiredDeltaLink.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.4xxInvalidRequestParameterOrExpiredDeltaLink ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocOrGroupDoesNotExist.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocOrGroupDoesNotExist.raml deleted file mode 100644 index 1e5047a7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocOrGroupDoesNotExist.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.4xxInvalidRequestParameterOrLocOrGroupDoesNotExist ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocationDoesNotExist.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocationDoesNotExist.raml deleted file mode 100644 index 9828e4a5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/4xxInvalidRequestParameterOrLocationDoesNotExist.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.4xxInvalidRequestParameterOrLocationDoesNotExist ] diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/IasError.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/IasError.raml deleted file mode 100644 index ddf1bf85..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/HttpErrors/IasError.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ExceptionResponses/GenericError.raml - -type: [ GenericError.4xxError ] - diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/IdempotenceId.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/IdempotenceId.raml deleted file mode 100644 index 52b8cf25..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/IdempotenceId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: A unique identifier, used in combination with the SKU, so that future requests with the same combination have the same result. -example: 82251928-8863-488e-840b-2aebd10b57ba -type: string diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ItemGroupInfo.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ItemGroupInfo.raml deleted file mode 100644 index dd23d49b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ItemGroupInfo.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -description: The group info, associated with an item and used in the availability responses. -properties: - id: - type: !include GroupId.raml - records: - description: Records returned for a sku/group combination - type: array - items: - type: !include AvailabilityRecordForGroup.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ItemLocationInfo.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ItemLocationInfo.raml deleted file mode 100644 index 50c98417..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ItemLocationInfo.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: Location information used for availability by location responses - -properties: - id: - type: !include LocationId.raml - records: - description: Records returned for the sku/location combination - type: array - items: - type: !include AvailabilityRecordForLocation.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/LocationId.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/LocationId.raml deleted file mode 100644 index ebc2e659..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/LocationId.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The id of the location of the inventory. -type: string -example: warehouse5 -minLength: 2 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/PlaceId.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/PlaceId.raml deleted file mode 100644 index 2e9acdf8..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/PlaceId.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: The id of a group or location where inventory is located. -type: string -examples: {location: warehouse5 , group: UnitedStates} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/PlaceType.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/PlaceType.raml deleted file mode 100644 index 835996fb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/PlaceType.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: The type of place associated to the id -type: string -examples: {type: location | group} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/QOH.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/QOH.raml deleted file mode 100644 index bc8edbef..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/QOH.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Quantity on hand. -example: 1200.35 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/QOHForGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/QOHForGroup.raml deleted file mode 100644 index ffe2eb2e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/QOHForGroup.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Quantity on hand within the group. -example: 1200.35 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/QuantityReserved.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/QuantityReserved.raml deleted file mode 100644 index 6c1e909d..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/QuantityReserved.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Actual quantity reserved. This value can be less than the quantity requested. -example: 50.25 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantity.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantity.raml deleted file mode 100644 index 9c00ed21..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantity.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount reserved at the location -example: 12.5 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantityForGroup.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantityForGroup.raml deleted file mode 100644 index cbd351f7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ReservedQuantityForGroup.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount reserved within the group -example: 12.5 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/SafetyStock.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/SafetyStock.raml deleted file mode 100644 index 31edb4f2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/SafetyStock.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: Inventory quantity that a merchant wants to intentionally hold back from availability counts -example: 12.45 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/SharedGroupReserved.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/SharedGroupReserved.raml deleted file mode 100644 index 5fdaa779..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/SharedGroupReserved.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The amount of the soft_reserved count that comes from other groups -example: 12.5 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/ShouldQueryAgain.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/ShouldQueryAgain.raml deleted file mode 100644 index c7352fbb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/ShouldQueryAgain.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType -description: Indicates to the consumer if they should immediately call again to retrieve deltas that are potentially waiting in the stream. -example: true -type: boolean \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-availability/types/SkuId.raml b/testIntegration/stagingApis/inventory/inventory-availability/types/SkuId.raml deleted file mode 100644 index 24c21721..00000000 --- a/testIntegration/stagingApis/inventory/inventory-availability/types/SkuId.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -description: The inventory identifier -example: sku123 -type: string -minLength: 2 -maxLength: 250 -pattern: ^[^\\<>;%/\s]*$ \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/.metadata.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/.metadata.json deleted file mode 100644 index 9ba7448d..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-reservation-service/1.1.11", - "name": "Inventory Reservations", - "description": "Manage and fulfill reservations using Omnichannel Inventory.", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "inventory-reservation-service", - "version": "1.1.11", - "categories": { - "CC API Family": [ - "Inventory" - ], - "CC Version Status": [ - "GA" - ], - "CC API Visibility": [ - "External" - ] - } -} diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/ForceReserveLocationToGroupNotAllowed.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/ForceReserveLocationToGroupNotAllowed.raml deleted file mode 100644 index bcc8ffcc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/ForceReserveLocationToGroupNotAllowed.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequestParameter", - "message": "Forcing a reservation cannot be done from a location to a group", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/Generic400ErrorMessage.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/Generic400ErrorMessage.raml deleted file mode 100644 index e78a408a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/Generic400ErrorMessage.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequest", - "message": "The format of the message is incorrect", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/GroupToGroupNotAllowed.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/GroupToGroupNotAllowed.raml deleted file mode 100644 index 723912ef..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/GroupToGroupNotAllowed.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequestParameter", - "message": "Group to Group Transfers are not permitted.", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidRequestParameterExample.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidRequestParameterExample.raml deleted file mode 100644 index 82e15461..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidRequestParameterExample.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequestParameter", - "message": "Reservation ID provided does not exist", - "parameterName": "reservationId", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidTransferAllOrNothing.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidTransferAllOrNothing.raml deleted file mode 100644 index 1790918c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/InvalidTransferAllOrNothing.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequestParameter", - "message": "All or nothing transfers are only allowed from Group to Location transfer types. Invalid transfer type for request", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationGroupNotFound.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationGroupNotFound.raml deleted file mode 100644 index 9e83c84c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationGroupNotFound.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "GroupDoesNotExist", - "message": "No group exists with ID", - "type": "about:blank", - "group": "UnitedStates" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationNotFound.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationNotFound.raml deleted file mode 100644 index 1c87c483..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationNotFound.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 NamedExample - -value: - { - "errorCode": "LocationDoesNotExist", - "message": "No location exists with ID 'warehouse5'", - "type": "about:blank", - "location": "warehouse5" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationToLocationNotAllowed.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationToLocationNotAllowed.raml deleted file mode 100644 index ada49404..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/LocationToLocationNotAllowed.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequestParameter", - "message": "'from and to' Transfers between locations is not allowed", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/NoLocationOrGroupsProvided.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/NoLocationOrGroupsProvided.raml deleted file mode 100644 index cd6f1def..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/NoLocationOrGroupsProvided.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequest", - "message": "No location or groups provided.", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/TooManyFieldsProvided.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/TooManyFieldsProvided.raml deleted file mode 100644 index 96cce455..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/4xxExamples/TooManyFieldsProvided.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errorCode": "InvalidRequestParameter", - "message": "User provided locationId AND groupId. You can only provide one or the other, not both in a single record.", - "type": "about:blank" - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationRequestBody.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationRequestBody.raml deleted file mode 100644 index ca62561f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationRequestBody.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 NamedExample -# Added with W-7535728 -value: - { - records: [ - { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-aaa", - "location": "warehouse5", - "sku": "sku1234", - "quantity": 1200.35, - "fulfillmentTime": 2019-07-24T21:13:00Z - }, - { - "id": "82251928-8863-488e-840b-2aeb567d3a87", - "externalRefId": "7282822-9823-ddd", - "location": "warehouse4", - "sku": "sku5678", - "quantity": 201.27 - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationResponseErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationResponseErrors.raml deleted file mode 100644 index 7a00dd49..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/FulfillReservationResponseErrors.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "errors": [ - { - details:{ - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-aaa", - "location": "warehouse5", - "sku": "sku1234", - "quantity": 1200.35 - }, - "message": "Failed to fulfill, invalid location provided.", - "errorCode": "err751" - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/400ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/400ErrorExample.raml deleted file mode 100644 index eec64ae7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/400ErrorExample.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "MissingParameter", - "message": "The field 'quantity' is missing from the request body." - #"headers": - # "X-RateLimit-Limit": The maximum number of requests permitted per window. - # "X-RateLimit-Remaining": The number of requests remaining in the current rate limit window. - # "X-RateLimit-Reset": The time at which the current rate limit window resets in UTC epoch seconds. - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/403ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/403ErrorExample.raml deleted file mode 100644 index dfc0e8a2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/403ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "TenantNotProvisioned", - "message": "The client is not correctly configured to access the system." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/404ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/404ErrorExample.raml deleted file mode 100644 index a720a694..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/404ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "EntityNotFound", - "message": "Reservation ID does not exist." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/409ErrorExample.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/409ErrorExample.raml deleted file mode 100644 index 29d29c48..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/HttpErrors/409ErrorExample.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "type": "about:blank", - "errorCode": "InvalidRequestParameter", - "message": "ID does not exist." - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationBatchPostBody.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationBatchPostBody.raml deleted file mode 100644 index 8b9fb6f7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationBatchPostBody.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 NamedExample -# Added for work performed in W-7535728 -value: - { - allOrNothingTransferId: "a14s-4b1c-1a3cbd4", - records: [ - { - "id": "82251928-8863-488e-840b-2aebd10b35ed", - "externalRefId": "7282822-9823-aaa", - "from": { - "location": "warehouse4" - }, - "to": { - "location": "warehouse5" - }, - "sku": "sku-001", - "quantity": 2.011 - }, - { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-bbb", - "from": { - "group": "UnitedStates" - }, - "to": { - "location": "warehouse5" - }, - "sku": "sku-002", - "quantity": 7.132, - "ignoreAvailabilityCheck": true - }, - { - "id": "12345-23456-3456-4567-5678-6F6F", - "externalRefId": "1234561-3574-6B6D", - "from": { - "location": "warehouse5" - }, - "to": { - "group": "UnitedStates" - }, - "sku": "sku1000", - "quantity": 5.417 - } - ] - } diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationErrors.raml deleted file mode 100644 index 1cc3eaed..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/MoveReservationErrors.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 NamedExample -# Added for work performed in W-7535728 -value: - { - "errors": [ - { - "details": { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-aaa", - "from": { - "group": "UnitedStates" - }, - "to": { - "location": "warehouse5" - }, - "sku": "sku-002", - "quantity": 2.011 - }, - "message": "Insufficient Quantity", - "errorCode": "InsufficientQuantity" - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialAllItemsFail.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialAllItemsFail.raml deleted file mode 100644 index 2d50688b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialAllItemsFail.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "reservationTime": "2019-07-24T21:13:00Z", - "expirationTime": "2019-07-24T21:18:00Z", - "success": false, - "groups": [ - { - "id": "Germany", - "errors": [ - { - "sku": "sku1234", - "errorCode": "InsufficientQuantity" - }, - { - "sku": "sku5678", - "errorCode": "InsufficientQuantity" - } - ] - } - ], - "locations": [ - { - "id": "warehouse5", - "errors": [ - { - "sku": "sku1234", - "errorCode": "InsufficientQuantity" - }, - { - "sku": "sku5678", - "errorCode": "InsufficientQuantity" - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialSomeItemSuccessSomeFail.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialSomeItemSuccessSomeFail.raml deleted file mode 100644 index a7d79ff7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationNonPartialSomeItemSuccessSomeFail.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 NamedExample -value: - { - "reservationTime": "2019-07-24T21:13:00Z", - "expirationTime": "2019-07-24T21:18:00Z", - "success": false, - "groups": [ - { - "id": "UnitedStatus", - "errors": [ - { - "sku": "sku5678", - "errorCode": "InsufficientQuantity" - } - ], - "details": [ - { - "sku": "sku1234", - "quantity": 10.1 - } - ] - } - ], - "locations": [ - { - "id": "warehouse5", - "errors": [ - { - "sku": "sku5678", - "errorCode": "InsufficientQuantity" - } - ], - "details": [ - { - "sku": "sku1234", - "quantity": 10.1 - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationPartialNoItemSuccess.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationPartialNoItemSuccess.raml deleted file mode 100644 index 17847423..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/Examples/ResponseBodyReservationPartialNoItemSuccess.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 NamedExample -value: | - { - "reservationTime": "2019-07-24T21:13:00Z", - "expirationTime": "2019-07-24T21:18:00Z", - "success": false, - "groups": [ - { - "id": "Germany", - "errors": [ - { - "sku": "sku1234", - "errorCode": "InsufficientQuantity" - }, - { - "sku": "sku5678", - "errorCode": "InsufficientQuantity" - } - ] - } - ], - "locations": [ - { - "id": "warehouse5", - "errors": [ - { - "sku": "sku1234", - "errorCode": "InsufficientQuantity" - }, - { - "sku": "sku5678", - "errorCode": "InsufficientQuantity" - } - ] - } - ] - } \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange.json deleted file mode 100644 index 2038de2b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "main": "inventory-reservation-service.raml", - "name": "Inventory Reservation Service", - "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "inventory-reservation-service", - "version": "1.1.11", - "apiVersion": "v1", - "backwardsCompatible": false, - "dependencies": [ - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "1.0.24" - }, - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "api-standards", - "version": "1.1.15" - } - ], - "originalFormatVersion": "1.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml deleted file mode 100644 index 0f4180d8..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 Library - -usage: | - REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. - - These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - - To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - -types: - ErrorResponse: Error.Error - Offset: Pagination.offset - Limit: Pagination.limit - Total: Pagination.total - Uuid: Identifiers.UniversallyUniqueIdentifier - AbsoluteUrl: Uri.absoluteUrl - ChangeControlled: BaseTypes.ChangeControlledDataType - -uses: - Pagination: dataTypes/pagination-types.raml - Identifiers: dataTypes/identifers.raml - Uri: dataTypes/uri.raml - BaseTypes: dataTypes/base-types.raml - Error: dataTypes/error-types.raml - -traits: - RangeFilter: !include traits/rangeFilter.raml - DateRangeFilter: - is: - RangeFilter: - type: date-only - name: <> - DatetimeRangeFilter: - is: - RangeFilter: - type: datetime - name: <> - NumericRangeFilter: - is: - RangeFilter: - type: number - name: <> - IntegerRangeFilter: - is: - RangeFilter: - type: integer - name: <> - RateLimited: !include traits/rate-limited.raml - RateLimited2: !include traits/rate-limited-2.raml - RateLimited3: !include traits/rate-limited-3.raml - RateLimited4: !include traits/rate-limited-4.raml - RateLimited5: !include traits/rate-limited-5.raml - SyncCreated: !include traits/sync-created.raml - AsyncCreated: !include traits/async-created.raml - DateConditionalRequest: !include traits/date-conditional-request.raml - EtagConditionalRequest: !include traits/etag-conditional-request.raml - EtagResponse: !include traits/etag-response.raml - OffsetPaginated: !include traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml deleted file mode 100644 index 21c5ffd2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that act as building blocks for other types. - -types: - ChangeControlledDataType: - displayName: ChangeControlled - description: |- - A type extending this type will provide metadata regarding changes - to its data for each record. This information can be used to build - a change history of the records in this data type. - - With the exception of APIs that query such history, these fields - should never appear in API input, and possibly not in API output; - their values should be derived by the context in which the API is - called from. For example, the `creationDate` property should come - from the system time as opposed to being user provided. - properties: - creationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was first created. - required: false - modificationDate: - type: datetime - #default: sysdate - description: The timestamp of when this record was most recently modified. - required: false - createdBy: - type: string - description: The user id of the user who created this record. - required: false - pattern: /.+/ - lastModifiedBy: - type: string - description: The user id of the user who most recently modified this record. - required: false - pattern: /.+/ - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml deleted file mode 100644 index d411ea91..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml +++ /dev/null @@ -1,47 +0,0 @@ -#%RAML 1.0 DataType - -### DEPRECATED: Use the Library instead - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml deleted file mode 100644 index b2ae4f47..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml +++ /dev/null @@ -1,54 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Defines a "problem detail" as a way to carry machine- - readable details of errors in a HTTP response to avoid the need to - define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -types: - Error: - description: |- - Errors reported by all APIs correspond to this error document format. - This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - This may include additional properties as necessary to provide additional details - regarding the error message. - type: object - additionalProperties: true - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: Not Found. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: The requested resource was not found. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml deleted file mode 100644 index e6e417d0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: Library for types that can act as well described identifers. - -types: - UniversallyUniqueIdentifier: - displayName: Uuid - description: |- - A universally unique identifier (UUID) for the purpose of uniquely - identifying an object in the system. It is defined as a 128-bit hex - encoded string of 32 characters separated into 5 groups in a pattern - of `{8-4-4-4-12}` (36 characters total, including the `-` separators). - type: string - pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - example: 5cb34ffb-2543-4052-aea6-226749e4e478 - maxLength: 36 - minLength: 36 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml deleted file mode 100644 index 9ee37c2c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml deleted file mode 100644 index 41c518ff..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library -usage: - URL types with regexes to validate them -types: - absoluteUrl: - description: An absolute URL, beginning with a protocol - type: string - pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ - examples: - BasicUrl: https://www.salesforce.com - UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en -#To be determined if we will support relative URL -# relativeUrl: -# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` -# type: string -# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json deleted file mode 100644 index 427ed3fd..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml deleted file mode 100644 index c90274bf..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml deleted file mode 100644 index d3724142..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml +++ /dev/null @@ -1,2 +0,0 @@ -#%RAML 1.0 NamedExample -aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml deleted file mode 100644 index f95d7101..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - -responses: - 202: - description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml deleted file mode 100644 index a7e0a7ac..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support date based conditional requests as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-Modified-Since: - description: The server will return the requested resource only if it has been last modified after the given date - required: false - examples: - 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT - -responses: - <>: - description: The requested resource - 304: - description: The resource has not been modified since the requested conditional date diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml deleted file mode 100644 index e55c4bbc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to endpoints that support etag based conditional requests etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -headers: - If-None-Match: - description: ETag that is required in the cache - required: false - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml deleted file mode 100644 index 7cf1d7ed..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied to define the **response** on endpoints that use etags as - described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - To describe the request part consider using `etag-conditional-request.raml`, the reason - this is not described in that trait is because this could be used separatelly in endpoints - that do not accept an etag-conditional-request but yet will return an etag, for instance: - a synchronous PUT. - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. Iif there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - headers: - ETag: - description: The current value of the entity tag for the requested variant - examples: - UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml deleted file mode 100644 index b4eae9c4..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use offset and limit pagination controls as - described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `maxLimit` (integer): the max value for the limit - - `defaultSize` (integer): the default value for the limit - -uses: - pagination: ../dataTypes/pagination-types.raml - -queryParameters: - offset: - required: false - type: pagination.offset - limit: - required: false - description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. - type: pagination.limit - maximum: <> - default: <> - -responses: - 200: - headers: - SFDC-Pagination-Offset: - type: pagination.offset - description: The starting offset returned. - SFDC-Pagination-Limit: - type: pagination.limit - maximum: <> - default: <> - description: The limit requested. - SFDC-Pagination-Total-Count?: - type: pagination.total - SFDC-Pagination-Result-Count?: - type: number - format: int64 - description: The number of results included in the response. - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml deleted file mode 100644 index 13dea6d9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml +++ /dev/null @@ -1,12 +0,0 @@ -description: The user has sent too many requests in a given amount of time ("rate limiting") -headers: - Retry-After: - examples: - after-seconds: "120" -body: - application/problem+json: - type: !include ../../dataTypes/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" - title: Too Many Requests - detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml deleted file mode 100644 index c9c471ae..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml +++ /dev/null @@ -1,7 +0,0 @@ -headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml deleted file mode 100644 index 80c0a523..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Trait -usage: |- - Traits intended for GET APIs that take a name of a <> field and support - two query parameters based on that name; one suffixed with `From` that will - include the passed <> as a lower bound, and one suffixed with `To` that - will exclude the passed <> as an upper bound. - - ## Parameters: - - name: The name of the field that will be filtered - type: The type of the field that will be filtered - - -queryParameters: - <>From: - description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. - type: <> - required: false - <>To: - description: If passed, will return records where the `<>` is less than the passed `<>`. - type: <> - required: false diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml deleted file mode 100644 index 23c23a70..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml +++ /dev/null @@ -1,26 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml deleted file mode 100644 index 9ae61c21..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml deleted file mode 100644 index 3ef31a99..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml +++ /dev/null @@ -1,35 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml deleted file mode 100644 index a257bfcc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml +++ /dev/null @@ -1,39 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - DEPRECATED: Use rate-limited multiple times: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - - - - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - Parameters: - - `responseStatus` (integer): | - The status #1 this endpoint will return. - - `responseStatus2` (integer): | - The status #2 this endpoint will return. - - `responseStatus3` (integer): | - The status #3 this endpoint will return. - - `responseStatus4` (integer): | - The status #4 this endpoint will return. - - `responseStatus5` (integer): | - The status #5 this endpoint will return. - -responses: - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml deleted file mode 100644 index 14fe39e8..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that use rate limiting as - described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: - - conventions.RateLimited: - responseStatus: 201 - - conventions.RateLimited: - responseStatus: 404 - For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). - Parameters: - - `responseStatus` (integer): | - The status this endpoint will return. If there are multiple statutes with this purpose - in the endpoint, this trait won't be a good option. - -responses: - <>: - !include private/rate-limited-include-headers.raml - - 429: - !include private/rate-limited-include-429.raml - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml deleted file mode 100644 index 1940730f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be applied on endpoints that synchronously create resources. - Parameters: - - `responseType` (type): the RAML type of the response - -responses: - 201: - description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. - headers: - Location: - description: URL where the new <> can be found - examples: - deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 - body: - application/json: - type: <> diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index 2a4c8589..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml deleted file mode 100644 index 9bcf967e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the `Authorization` header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml deleted file mode 100644 index a8248865..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token-tsob.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. - A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. - To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). - -type: OAuth 2.0 -displayName: ShopperTokenTsob - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid and can’t be used to identify an API client or user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access token is valid, but you don’t have the required permissions to access the resource. -settings: - accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token - authorizationGrants: [client_credentials] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml deleted file mode 100644 index e3927374..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.0 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). - A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. - The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. - -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access token is invalid or expired and can’t be used to identify a user. - 403: - description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml deleted file mode 100644 index cb15c1c0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/ISO-standards.raml +++ /dev/null @@ -1,85 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - example: - USD - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default - L10nString: - description: |- - A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. - - Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. - type: object - properties: - /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: - type: string - required: false - example: - default: The quick brown fox jumps over the lazy dog. - en: The quick brown fox jumps over the lazy dog. - en-US: The quick brown fox jumps over the lazy dog. - en-CA: The quick brown fox jumps over the lazy dog. - es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml deleted file mode 100644 index e1b98575..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/attribute-definition-types.raml +++ /dev/null @@ -1,177 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. - -uses: - AdditionalProperties: additional-properties.raml - ISO: ISO-standards.raml - -types: - AttributeDefinition: - description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. - type: - AdditionalProperties.NoPropertiesAllowed - properties: - defaultValue: - description: 'The optional default value of this property.' - type: PropertyValueDefinition - required: false - id: - description: The unique identifier for the property. - type: string - example: color - required: false - pattern: ^[A-Za-z0-9]+$ - name: - description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. - type: ISO.L10nString - properties: - example: - default: color - de: fabre - description: - description: A localized description of the property, describing the property in detail. - type: ISO.L10nString - example: - default: The color of the product. - de: Die Farbe des Produkts. - key: - description: A flag indicating if this property is part of the primary unique identifier of this type. - type: boolean - required: false - default: false - example: false - localizable: - description: A flag indicating if this property supports localization. - type: boolean - required: false - default: false - example: false - mandatory: - description: A flag indicating if this property must be passed when creating or updating the type. - type: boolean - required: false - default: false - example: false - max: - description: If numeric, the maximum possible value for this property. - type: number - format: double - required: false - example: 100 - minLength: - description: The minimum length of a value required when passing this property. - type: integer - format: int32 - required: false - example: 5 - min: - description: If numeric, the minimum possible value for this property. - type: number - format: double - required: false - example: 10 - multiValueType: - description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. - type: boolean - required: false - default: false - example: false - regularExpression: - description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. - type: string - required: false - example: ".*[a-zA-Z]{2,}+.*" - scale: - description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. - type: integer - format: int32 - required: false - default: 2 - example: 2 - searchable: - description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. - type: boolean - required: false - default: false - example: true - siteSpecific: - description: A flag indicating if this property supports different values for each storefront. - type: boolean - required: false - default: false - example: false - system: - description: A flag indicating if this property is provided by the system. - type: boolean - required: false - default: false - example: true - unit: - description: If numeric, identifes what unit of measure the value of this property is measured by. - type: ISO.L10nString - required: false - example: - default: inches - de: Zoll - possibleValues: - description: A set of values that are possible for this property. - type: PropertyValueDefinition[] - required: false - type: - description: The data type of this property. - type: string - enum: - - string - - int - - double - - text - - html - - date - - image - - boolean - - money - - quantity - - datetime - - email - - password - - enum_of_string - - enum_of_int - example: "string" - visible: - description: A flag indicating that this property is visible. - type: boolean - required: false - default: true - example: true - PropertyValueDefinition: - description: Represents an actual or possible value for a property - type: - AdditionalProperties.NoPropertiesAllowed - properties: - description: - description: A description of the property value. - type: ISO.L10nString - example: - default: Rose Red - de: Rosenrot - displayValue: - description: |- - A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. - type: ISO.L10nString - example: - default: Red - de: Rot - id: - description: The unique id of the property value. - type: string - example: "1" - position: - description: The position of the property value within the collection of possible property values. - type: number - format: double - required: false - example: 0.0 - value: - description: The value of the property. - type: string - example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml deleted file mode 100644 index 93accaf6..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/Types/search-types.raml +++ /dev/null @@ -1,360 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters that are logically combined by an operator. - type: Filter[] - required: false - operator: - description: The logical operator that is used to combine the filters. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - - - `must`, which combines as an `AND` operator. - - `should`, which combines as an `OR` operator. - - `must_not`, which combines as a `NOT` operator. - - If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND` operator. - type: Query[] - mustNot?: - description: List of queries to be evaluated as a `NOT` operator. - type: Query[] - should?: - description: List of queries to be evaluated as an `OR` operator. - type: Query[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * `TermFilter` - - Matches records where a field (or fields) exactly matches some simple value (including `null`). - * `RangeFilter` - - Matches records where a field value lies within a specified range. - * `Range2Filter` - - Matches records in a specified range across fields. - * `QueryFilter` - - Matches records based on a query. - * `BoolFilter` - - Provides filtering of records using a set of filters combined using a logical operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: Allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: Filter - query: - description: The query object. - type: Query - MatchAllQuery: - description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - - A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: Query - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * `MatchAllQuery` - - Matches all documents. - * `TermQuery` - - Matches one or more documents against one or more document fields. - * `TextQuery` - - Matches text against one or more fields. - * `BoolQuery` - - Allows construction of a logical expression of multiple queries. - * `FilteredQuery` - - Allows a filter to be applied to a query. - * `NestedQuery` - - Allows you to query on nested documents. - - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: Query - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - - The second range (R2) is defined by `fromValue` and `toValue`. - - The filter mode specifies the method used to compare the two ranges: - - * `overlap`: R1 overlaps fully or partially with R2. - * `containing`: R1 contains R2. - * `contained`: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained.' - type: string - enum: - - overlap - - containing - - contained - default: overlap - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. - type: boolean - required: false - default: true - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. - type: boolean - required: false - default: true - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the description of the search endpoint for a list of queryable attributes. - type: Query - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query that is passed into the search. - type: Query - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator used to compare the field's values with the given values. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. - * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields that the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values that the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields that the search phrase matches against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can include multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml deleted file mode 100644 index c7235d38..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml +++ /dev/null @@ -1,108 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. - - The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. - - # Security Schemes - - This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. - - Security schemes included in Commerce Cloud Standards: - - - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - `ShopperToken`: for endpoints authenticated via Shopper JWTs. - - `BearerToken`: supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - ## Types - - This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - - `SearchRequest`: a type commonly used for searching that takes a query in a body. - - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. - - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Standards Followed - - - `CurrencyCode`: ISO 4217 compliant currency code. - - `Money`: A combination of a CurrencyCode and a number. - - `LanguageCode`: ISO 639-1 compliant language code. - - `CountryCode`: ISO 3166-1 compliant country code. - - `LocaleCode`: A combination of LanguageCode and CountryCode. - - ## Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. - - ## Traits - - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. - - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - AttributeDefinitions: Types/attribute-definition-types.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - LocalizedString: ISO.L10nString - - PropertyDefinition: AttributeDefinitions.AttributeDefinition - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml deleted file mode 100644 index d1047f2a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/example.raml +++ /dev/null @@ -1,68 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [example]} - - CommerceCloudStandards.BearerToken: { scopes: [example]} - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: |- - Another example get method - - ## Scopes - - This endpoint requires that you have access to the following scopes: shopper-example - securedBy: - - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json b/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json deleted file mode 100644 index 29053699..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.24"} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservation-service.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservation-service.raml deleted file mode 100644 index 9679fc81..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservation-service.raml +++ /dev/null @@ -1,259 +0,0 @@ -#%RAML 1.0 -title: Inventory Reservation -description: !include inventory-reservations-description.md -version: v1 -mediaType: application/json -protocols: HTTPS -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/inventory/reservation/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - # GLOBAL USES - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.24/commerce-cloud-standards.raml - # PROJECT USES - CancelTypes: libraries/CancelReservations.raml - FulfillQuantities: libraries/FulfillQuantity.raml - GetReservation: libraries/GetReservation.raml - MoveReservation: libraries/MoveReservation.raml - PlaceReservation: libraries/PlaceReservation.raml - ReserveInventoryResources: libraries/ReserveInventoryRequestsAndResponses.raml - UnreserveReservations: libraries/UnreserveReservations.raml - -types: - 4xxError: !include types/HttpErrors/IasError.raml - 403Error: !include types/HttpErrors/403Error.raml - -securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.reservations] } - - CommerceCloudStandards.BearerToken: { scopes: [sfcc.inventory.reservations, sfcc_inventory_reservations] } - -traits: - GenericResponseErrorCode: !include traits/GenericResponseErrorCode.raml - -/organizations/{organizationId}: - type: CommerceCloudStandards.Organization - /reservation-documents/{reservationId}: - uriParameters: - organizationId: - type: string - example: test-org - reservationId: - type: string - example: 12345-23456-3456-4567-5678 - put: - description: Create or update reservations for a number of location groups, locations, or both. If any of the location groups or locations provided in the request are invalid, nothing is processed. - displayName: createReservations - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.reservations.rw] } - - CommerceCloudStandards.BearerToken: { scopes: [sfcc.inventory.reservations.rw, sfcc_inventory_reservations_rw] } - is: - - ApiStandards.RateLimited3: - responseStatus: 200 - responseStatus2: 400 - responseStatus3: 409 - body: - application/json: - type: PlaceReservation.PlaceReservationRequestBodyLocation | PlaceReservation.PlaceReservationRequestBodyLocationAllOrNothing | PlaceReservation.PlaceReservationRequestBodyGroups | PlaceReservation.PlaceReservationRequestBodyLocationAndGroup | PlaceReservation.PlaceReservationAgainstATFBody - responses: - 200: - description: Successfully received and processed the request. The consumer is responsible for validating the returned data to ensure that the specified quantity was reserved as requested. - headers: - Location: - type: string - description: URI used to retrieve the recorded reservation document. - example: /inventory/reservation/v1/organizations/test-org/reservation-documents/12345-23456-3456-4567-5678 - body: - application/json: - type: PlaceReservation.PlaceReservationResponseBody | ReserveInventoryResources.ResponseBodyReservationSuccess | ReserveInventoryResources.ResponseBodyReservationFail | ReserveInventoryResources.ResponseBodyReservationPartialQtySuccess | ReserveInventoryResources.ResponseBodyReservationPartialItemSuccess | ReserveInventoryResources.ResponseBodyReservationPartialNoItemSuccess | ReserveInventoryResources.ResponseBodyReservationNonPartialSomeItemSuccessSomeFail | ReserveInventoryResources.ResponseBodyReservationNonPartialAllItemsFail - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/400InvalidRequestLocOrGroupDoesNotExist.raml - examples: - locationGroupNotFound: !include Examples/4xxExamples/LocationGroupNotFound.raml - locationIdNotFound: !include Examples/4xxExamples/LocationNotFound.raml - noLocationOrGroupsNotProvided: !include Examples/4xxExamples/NoLocationOrGroupsProvided.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 403Error - example: !include Examples/HttpErrors/403ErrorExample.raml - 409: - description: A reservation with that ID already exists. - body: - application/problem+json: - type: !include types/ReserveInventoryRequestResponseTypes/CreateReservation409Error.raml - patch: - displayName: cancelReservation - description: Update the status on a reservation document, primarily for canceling the reservation. This endpoint references the reservation document directly, marking it as cancelled, and then adjusting the reservation and inventory counts based on the details of the reservation document. - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.reservations.rw] } - - CommerceCloudStandards.BearerToken: { scopes: [sfcc.inventory.reservations.rw, sfcc_inventory_reservations_rw] } - is: - - ApiStandards.RateLimited5: - responseStatus: 204 - responseStatus2: 202 - responseStatus3: 400 - responseStatus4: 404 - responseStatus5: 409 - body: - application/json: - type: CancelTypes.CancelReservationRequestBody - responses: - 204: - description: Reservation successfully cancelled. - 202: - description: Reservation marked as cancelled. Inventory levels are updated asynchronously. - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/400InvalidRequestParameter.raml - example: !include Examples/4xxExamples/InvalidRequestParameterExample.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 403Error - example: !include Examples/HttpErrors/403ErrorExample.raml - 404: - description: Entity not found. - body: - application/problem+json: - type: !include types/HttpErrors/404ErrorEntityDoesNotExist.raml - example: !include Examples/HttpErrors/404ErrorExample.raml - 409: - description: A reservation with that ID already exists. - body: - application/problem+json: - type: !include types/ReserveInventoryRequestResponseTypes/CancelReservation409Error.raml - /transfers: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.reservations.rw] } - - CommerceCloudStandards.BearerToken: { scopes: [sfcc.inventory.reservations.rw, sfcc_inventory_reservations_rw] } - post: - displayName: moveReservationQuantity - description: Moves reservation quantities between a group and its locations, or between locations. The system does not support transfers between groups. In the case of All or Nothing movements, only Group to Location movements are allowed. - is: - - ApiStandards.RateLimited: - responseStatus: 200 - - ApiStandards.RateLimited: - responseStatus: 204 - - ApiStandards.RateLimited: - responseStatus: 400 - body: - type: - MoveReservation.MoveReservationBatchPostBody - responses: - 200: - description: Batch reservation transfer partially succeeded -- with errors reported. - body: - MoveReservation.MoveReservationErrorsResponse - 204: - description: Successfully moved the reservation quantities. - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/400InvalidRequestParameterLocOrGroupDoesNotExist.raml - examples: - locationNotFound: !include Examples/4xxExamples/LocationNotFound.raml - locationGroupNotFound: !include Examples/4xxExamples/LocationGroupNotFound.raml - groupToGroupNotAllowed: !include Examples/4xxExamples/GroupToGroupNotAllowed.raml - locationToLocationNotAllowed: !include Examples/4xxExamples/LocationToLocationNotAllowed.raml - forceReservationLocationToGroupNotAllowed: !include Examples/4xxExamples/ForceReserveLocationToGroupNotAllowed.raml - invalidTransferAllOrNothing: !include Examples/4xxExamples/InvalidTransferAllOrNothing.raml - - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 403Error - example: !include Examples/HttpErrors/403ErrorExample.raml - /releases: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.reservations.rw] } - - CommerceCloudStandards.BearerToken: { scopes: [sfcc.inventory.reservations.rw, sfcc_inventory_reservations_rw] } - # If we collect the actions and then define each one individually, we could define 400 once instead of on each endpoint. - post: - description: Remove reservations for canceled orders or carts. When using the unreserve/release endoint, the reservation counts are removed from the location or group using the details provided in the call instead of the details in a reservation document (which isn't provided as part of the call to this endpoint) - displayName: unreserveReservations - is: - - ApiStandards.RateLimited3: - responseStatus: 200 - responseStatus2: 204 - responseStatus3: 400 - body: - application/json: - type: UnreserveReservations.RequestBodyGroup | UnreserveReservations.RequestBodyLocation | UnreserveReservations.RequestBodyGroupAndLocation - responses: - 204: - description: Successfully unreserved the specified items. - 200: - description: The request was received and processed successfully. The consumer is responsible for validating the returned data to ensure that the specified quantity was released as requested. - body: - application/json: - type: UnreserveReservations.ResponseBodyGroup | UnreserveReservations.ResponseBodyLocation | UnreserveReservations.ResponseBodyGroupAndLocation - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/400InvReqParamInvReqLocOrGroupDoesNotExist.raml - examples: - genericErrorMessage: !include Examples/4xxExamples/Generic400ErrorMessage.raml - tooManyFieldsProvided: !include Examples/4xxExamples/TooManyFieldsProvided.raml - locationDoesNotExist: !include Examples/4xxExamples/LocationNotFound.raml - locationGroupNotFound: !include Examples/4xxExamples/LocationGroupNotFound.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 403Error - example: !include Examples/HttpErrors/403ErrorExample.raml - /fulfillments: - securedBy: - - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.inventory.reservations.rw] } - - CommerceCloudStandards.BearerToken: { scopes: [sfcc.inventory.reservations.rw, sfcc_inventory_reservations_rw] } - post: - displayName: fulfillQuantity - description: Adjust quantity for an item after fulfillment. - is: - - ApiStandards.RateLimited4: - responseStatus: 200 - responseStatus2: 204 - responseStatus3: 400 - responseStatus4: 409 - body: - type: FulfillQuantities.FulfillQuantityRequestBody - responses: - 200: - description: Fulfillment partially succeeded -- with errors reported. - body: - type: FulfillQuantities.FulfillQuantityResponseErrors - 204: - description: Successfully performed fulfillment process. - 400: - description: Invalid request. - body: - application/problem+json: - type: !include types/HttpErrors/400MissingParameter.raml - example: !include Examples/HttpErrors/400ErrorExample.raml - 403: - description: Organization not authorized. - body: - application/problem+json: - type: 403Error - example: !include Examples/HttpErrors/403ErrorExample.raml - 409: - description: Reservation ID invalid. - body: - application/json: - type: !include types/HttpErrors/409InvalidRequestParameter.raml - example: !include Examples/HttpErrors/409ErrorExample.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservations-description.md b/testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservations-description.md deleted file mode 100644 index 9497ff40..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/inventory-reservations-description.md +++ /dev/null @@ -1,193 +0,0 @@ -# API Overview - -Inventory Reservation APIs enable you to place, manage, and fulfill reservations using Omnichannel Inventory. - -Inventory Reservation APIs can be segregated into the following functional categories. - -| Category | Endpoint Description | -| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| Reservations Management | API endpoints for creating and editing order reservation data. Reserved amounts affect the quantities that are available to order and fulfill. | - -**Note**: Omnichannel Inventory uses the Tenant Group ID in place of the Organization ID. For more information, see [Commerce API Configuration Values](../../guides/commerce-api-configuration-values.md). - -## Authentication and Authorization - -Clients calling Omnichannel Inventory can be authenticated in one of two ways. - -- Authenticate using Account Manager with your B2C Commerce credentials. -- Authenticate using your Salesforce org credentials. - -If you are using both B2C Commerce and Salesforce Order Management, you can use either authentication approach. However, we recommend choosing only one to avoid mixing approaches across your integrations. - -The different authentication approaches do not impact the purpose or performance of the APIs. - -Each authentication approach uses a unique set of scopes. - -| Scopes for Account Manager Authentication | Scopes for Salesforce org Authentication | -| ----------------------------------------- | ---------------------------------------- | -| sfcc.inventory.impex-graphs | sfcc_inventory_impex_graphs | -| sfcc.inventory.impex-inventory.rw | sfcc_inventory_impex_inventory_rw | -| sfcc.inventory.impex-inventory | sfcc_inventory_impex_inventory | -| sfcc.inventory.availability | sfcc_inventory_availability | -| sfcc.inventory.availability.rw | sfcc_inventory_availability_rw | -| sfcc.inventory.reservations | sfcc_inventory_reservations | -| sfcc.inventory.reservations.rw | sfcc_inventory_reservations_rw | - -Calls through the API gateway to Omnichannel Inventory must have a valid OAUTH bearer token. The tenant identifier used by Omnichannel Inventory is supplied in the header of the token. - -All request and response body entities are composed in JSON. - -## Reservation Management - -Use these API endpoints to create and edit order reservation data. Reserved amounts affect the quantities that are available to order and fulfill. - -### Reserve Inventory - -This endpoint contains data representing a client order in the body of the request. The response body contains the items Omnichannel Inventory was able to reserve, _which may be less than what was requested_. - -### Cancel Reservation - -Use this endpoint to cancel a reservation request when you have the Reservation ID that was created at the time of the reservation. This is the preferred method for cancellation, and should always be used if the Reservation ID is available. When using the Cancel Reservation endpoint with the Reservation ID, the reservation document is marked as cancelled and OCI adjust the reservation and inventory counts based on the reservation document details. - -### Unreserve Quantity - -Use this endpoint to unreserve a previously reserved amount with the quantity, SKU, and place identifier (group or location) specified in the body of the request. This endpoint is provided in case you find yourself in any situation where the Reservation ID is unavailable, or if you find it easier to provide the details to unreserve directly (SKU, and Group or Location). The net effect is the same as using the Cancel Reservation endpoint. When performing an Unreserve, the reservation counts are removed from the location or group using the details provided in the call instead of the details in the reservation document. - -### Move Reservation Quantity - -Use this endpoint to move reservation quantity between a group and location, a location and a group or between 2 locations, with the quantity and place identifiers specified in the body of the request. A Reservation ID is not required for reservation moves. A reservation move between groups and/or locations is determined in an OMS and only requires that a reserved quantity is moved from one group/location to another. It doesn't need to be aware of or alter the initial reservation document. - -### Fulfill Quantity - -Use this endpoint to fulfill a reservation amount at a location with the SKU, quantity, and place identifier (group or location) specified in the body of the request. Fulfilling a reservation occurs when the client ships an order and needs to ensure the reserved and on-hand amounts are correct. This is an atomic operation to ensure that all values are successfully updated. - -### The Reservation Document - -- The api consumer creates the reservation document in order to have a reference containing pertinent information associated with the reservation (Reservation ID, SKU, Qty, Location Group or Location). - -- The api consumer sends the reservation document to OCI as part of reservation, and to an OMS (SOM or 3rd Party) as part of the order. - -- The reservation document is used by OMS to know which Group/Location a reservation was placed against for routing purposes. - -- The reservation document is used by OCI/ECOM in the event that the reservation needs to be cancelled with the Cancel endpoint. (The unreserve endpoint can be used as well, which doesn't require the Reservation ID, but does require other pertinent reservation details such as SKU, and Group or Location) - -## Group Reservations - -Because inventory is only available at locations, group availability reflects the aggregation of all locations in the group. It also includes reservations placed at a group that has not been allocated to a specific location. - -### General Lifecycle of a Group Reservation - -- Place the group reservation using `reservation-documents`. -- Allocate the reservation to a location in the group using `transfers`. -- Fulfill the reservation at the location using `fulfillments`. - -### Example flow: - -Assume Group A has Location 1 and Location 2. - -Given the following state of the group: - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 1 | 50 | 0 | 50 | -| Location 2 | 50 | 0 | 50 | -| Group A | 100 | 0 | 50 | - -→ Place group reservation of 1 - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 1 | 50 | 0 | 50 | -| Location 2 | 50 | 0 | 50 | -| Group A | 100 | 1 | 49 | - -→ Allocate reservation to Location 2 - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 1 | 50 | 0 | 50 | -| Location 2 | 50 | 1 | 49 | -| Group A | 100 | 1 | 49 | - -→ Fulfill at Location 2 - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 1 | 50 | 0 | 50 | -| Location 2 | 49 | 0 | 49 | -| Group A | 99 | 0 | 49 | - -Group Reservations **DO NOT** affect a location’s reported Available to Order (ATO) quantity. Essentially, group reservations are a promise returned by the group that one or more of its locations can satisfy the requested reservation quantity. It’s possible that a reservation made against a location could fail if Omnichannel Inventory determines it would break any such existing promises. - -For example, a location with a reported ATO of 3 can fail with an ‘Insufficient Quantity’ response when a reservation quantity of 3 is made against it. This scenario happens when some or all of the location’s inventory is unavailable due to a promise (group reservation) made at one of its associated groups. - -Fortunately, Omnichannel Inventory exhausts all possibilities to accommodate a group reservation before resulting in failure. - -As shown in the Group A example above, a group reservation is only reflected at the location level when it's allocated to one or more locations. - -### Shared Locations - -When groups share locations things get a little more complex. For example, group reservations made at one group could increase the count of reservations at another if they share one or more locations. - -Example Scenario: - -Assume that Group A has Location 1 and Location 2 and Group B has Location 2 and Location 3. - -Thus, Location 2 is **shared**. - -Given the following state of the groups: - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 1 | 5 | 0 | 5 | -| Location 2 | 5 | 0 | 5 | -| Group A | 10 | 0 | 10 | -| | | | | -| Location 2 | 5 | 0 | 5 | -| Location 3 | 15 | 0 | 15 | -| Group B | 20 | 0 | 20 | - -→ Placing a Group B reservation of 17 - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 2 | 5 | 0 | 5 | -| Location 3 | 15 | 0 | 15 | -| Group B | 20 | 17 | 3 | - -→ Will increase Group A's reservation count by 2 - -| Place | On hand | Reserved | ATO | -| ---------- | ------- | -------- | --- | -| Location 1 | 5 | 0 | 5 | -| Location 2 | 5 | 0 | 5 | -| Group A | 10 | 2 | 8 | - -As stated previously, group reservations are a promise returned by the group that one or more of its locations can satisfy the requested reservation quantity. When determining that promise, group reservations follow a "least shared location" approach in that they first lock inventory in their locations which are least shared with other groups. Consequently, that's why, when a reservation of a quantity of 17 was made at Group B, 15 of them were locked at Location 3 first, and the remaining 2 at shared Location 2. As a result, Group A increased its reservation count by 2 to reflect the fact that those 2 are promised elsewhere. - -## Temporary Reservations - -When creating reservations, the **expirationSeconds** value indicates the amount of time (in seconds) a reservation maintains a hold on its inventory before releasing it. This expiration time constitutes an approximate time because there’s typically a delay (up to 60+ seconds, under extreme load) from the specified expiration time and the actual release of inventory reflected in availability counts. - -Consequently, we suggest that you use the **expirationSeconds** value as a guarantee of a reservation's eventual release of inventory, in the event the client is unable to cancel the reservation due to unforeseen technical issues. In other words, we encourage you to let the client manage the timely cancellation of reservations rather than relying on a reservation's expiration time to prevent underselling scenarios and optimize the accuracy of real-time availability counts. - -## Common Response Codes - -The following error codes apply to all API endpoints. See the API documentation for a complete list of the error codes and response bodies that can be expected on each endpoint. - -- 401 - The OATH bearer token is not valid for the tenant or is no longer valid. The response body has the details. -- 403 - The tenant is not provisioned in the system. -- 5XX - There was a server error. The response body has the details. -- Unknown - If an Unknown error type is returned, it indicates that an unknown internal error occurred. - -## External Reference Identifier - -Currently, there are a number of places where a consumer can submit an `ExternalRefId` with their request. This is to allow the consumer to submit user generated data along with their request as a link to other external systems data. For example, if I'm pulling data from an order that has an order ID, I can submit that order ID with my reservation request as the `externalRefId`. Then, if there is a problem with the reservation, there is a way to connect it with the order in the external system that generated the error or problem. This is NOT to be confused with `externalRefId` used in Salesforce Core, or any other services. The usage is exclusive to OCI and is not used anywhere else. - -## Correlation-ID - -In order to facilitate tracking of operations in OCI, customers must populate a header with the name Correlation-ID, which will be passed through the CDN and sent with the request to OCI. This will help trace requests as they move throughout our service. To be accepted, the correlation-id must be a valid UUIDv2, otherwise, it will be ignored. - -When a web-request is passed through the CDN, the CDN's x-correlation-id header value (which comes from their ray-id) also comes into play. In this case, the correlation-id provided will be prepended to the CDN's x-correlation-id and both values will be passed through, separated by a comma. - -Some services use a header X-Correlation-ID. In the case of OCI, if this header is used, it is overwritten by the CDN with a new value and the initial purpose of the header is defeated. Use the Correlation-ID instead for a consistent result. \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/CancelReservations.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/CancelReservations.raml deleted file mode 100644 index 23937630..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/CancelReservations.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Library - -types: - CancelEnum: !include ../types/ReservationStatus.raml - CancelReservationRequestBody: - description: The body that is sent requesting a reservation be cancelled. - properties: - status: - type: CancelEnum - example: CANCELLED diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/ErrorCodeTypesEnum.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/ErrorCodeTypesEnum.raml deleted file mode 100644 index 9a29fab9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/ErrorCodeTypesEnum.raml +++ /dev/null @@ -1,90 +0,0 @@ -#%RAML 1.0 Library - -types: - ErrorCodeTypesEnum: - type: ErrorCodesEnum - TenantNotProvisionedEnum: - enum: [TenantNotProvisioned] - type: string - example: TenantNotProvisioned - - EntityNotFoundEnum: - enum: [EntityNotFound] - type: string - example: EntityNotFound - - InvalidRequestLocOrGroupDoesNotExistEnum: - enum: [InvalidRequest, LocationDoesNotExist, GroupDoesNotExist] - type: string - example: LocationDoesNotExist - - InvalidRequestParameterEnum: - enum: [InvalidRequestParameter] - type: string - example: InvalidRequestParameter - - InvalidRequestParameterLocOrGroupDoesNotExistEnum: - enum: [InvalidRequestParameter, LocationDoesNotExist, GroupDoesNotExist] - type: string - example: LocationDoesNotExist - - InvReqParamInvReqLocOrGroupDoesNotExistEnum: - enum: [InvalidRequest, InvalidRequestParameter, LocationDoesNotExist, GroupDoesNotExist] - type: string - example: GroupDoesNotExist - - MissingParameterEnum: - enum: [MissingParameter] - type: string - example: MissingParameter - - ErrorCodesEnum: - enum: - - InsufficientQuantity - - DuplicateGroupId - - InvalidGroupId - - DuplicateSku - - MissingParameter - - InvalidRequest - - InvalidRequestParameter - - EntityAlreadyExists - - PositiveQuantityRequired - - ReservationInUnknownState - - ReservationInvalidState - - ReservationCancelled - - EntityNotFound - - ReservationCancellationFailed - - ExportInProcess - - ExportProcessFailed - - Unknown - - DuplicateEventId - - ReservationOperationInProcess - - ConcurrentModification - - GroupDoesNotExist - - OnlyOneLocationSupported - - NotAppliedDueToAtomicFailure - - ImportInProgress - - ExpiredDeltaLink - - InventoryReset - - UnableToStartExport - - ResourceNotFound - - LocationListMustNotBeEmpty - - SeeOtherResource - - TenantNotProvisioned - - ReservationAlreadyFinalized - - MismatchedGroupAndLocation - - GroupMustNotBeEmpty - - LocationListTooLarge - - ExpiredUploadLink - - ExpiredResultLink - - FileAlreadyReceived - - IllegalGroupState - - DeleteTenantNotAllowed - - TenantResetInProgress - - LocationDoesNotExist - - LocationNotInGroup - - PreviousRequestAborted - - PreviousRequestCancelled - - DuplicateLocationId - type: string - example: InsufficientQuantity diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/GenericError.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/GenericError.raml deleted file mode 100644 index 19c4fcbd..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ErrorHandling/GenericError.raml +++ /dev/null @@ -1,188 +0,0 @@ -#%RAML 1.0 Library - -uses: - ErrorCodeTypesEnum: ErrorCodeTypesEnum.raml - -types: - ApiErrors: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml - - ErrorResponse: - properties: - errorCode: - type: ErrorCodeTypesEnum.ErrorCodeTypesEnum - required: true - example: "InvalidRequest" - message: - type: string - required: true - example: "The delta token provided is invalid." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - TenantNotProvisioned: - properties: - errorCode: - type: ErrorCodeTypesEnum.TenantNotProvisionedEnum - required: true - example: "TenantNotProvisioned" - message: - type: string - required: true - example: "The organization is not authorized." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "location" - - EntityDoesNotExist: - properties: - errorCode: - type: ErrorCodeTypesEnum.EntityNotFoundEnum - required: true - example: "EntityNotFound" - message: - type: string - required: true - example: "An invalid entity was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - - InvalidRequestLocOrGroupDoesNotExist: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestLocOrGroupDoesNotExistEnum - required: true - example: "GroupDoesNotExist" - message: - type: string - required: true - example: "An invalid group was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - group: - description: Indicates which group was provided that does not exist - type: string - example: "UnitedStates" - required: false - location: - description: Indicates the location that was provided that does not exist - type: string - example: "warehouse5" - required: false - - InvalidRequestParameter: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterEnum - required: true - example: "InvalidRequestParameter" - message: - type: string - required: true - example: "An invalid entity was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - - InvalidRequestParameterLocOrGroupDoesNotExist: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvalidRequestParameterLocOrGroupDoesNotExistEnum - required: true - example: "LocationDoesNotExist" - message: - type: string - required: true - example: "An invalid location was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - - InvReqParamInvReqLocOrGroupDoesNotExist: - properties: - errorCode: - type: ErrorCodeTypesEnum.InvReqParamInvReqLocOrGroupDoesNotExistEnum - required: true - example: "GroupDoesNotExist" - message: - type: string - required: true - example: "An invalid group was provided." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - - MissingParameter: - properties: - errorCode: - type: ErrorCodeTypesEnum.MissingParameterEnum - required: true - example: "MissingParameter" - message: - type: string - required: true - example: "A required parameter was missing from the request" - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" - - #Create the union of the standards error and our error - 4xxError: [ErrorResponse, ApiErrors] - 403Error: [TenantNotProvisioned, ApiErrors] - 404ErrorEntityDoesNotExist: [EntityDoesNotExist, ApiErrors] - 400InvalidRequestLocOrGroupDoesNotExist: [InvalidRequestLocOrGroupDoesNotExist, ApiErrors] - 400InvalidRequestParameter: [InvalidRequestParameter, ApiErrors] - 400InvalidRequestParameterLocOrGroupDoesNotExist: [InvalidRequestParameterLocOrGroupDoesNotExist, ApiErrors] - 400InvReqParamInvReqLocOrGroupDoesNotExist: [InvReqParamInvReqLocOrGroupDoesNotExist, ApiErrors] - 400MissingParameter: [MissingParameter, ApiErrors] - 409InvalidRequestParameter: [InvalidRequestParameter, ApiErrors] diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/FulfillQuantity.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/FulfillQuantity.raml deleted file mode 100644 index cb5f8ce2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/FulfillQuantity.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Library -usage: -types: - - # Updated with W-7535728 - now allows for batch posting rather than individual records - FulfillQuantityRequestBody: - description: | - Fulfills the given quantity of reservations for a SKU at a given location. The given quantity will be subtracted from the reservation count and the quantity on hand, in an atomic operation. - example: !include ../Examples/FulfillReservationRequestBody.raml - properties: - records: - description: List of records to process in a batch update. The maximum number of entries in the array is 100. - type: array - items: !include ../types/Fulfillment/FulfillQuantityRequestRecords.raml - - # Errors response added as part of W-7535728 - FulfillQuantityResponseErrors: - example: !include ../Examples/FulfillReservationResponseErrors.raml - properties: - errors: - type: array - items: !include ../types/Fulfillment/FulfillQuantityRequestError.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/GetReservation.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/GetReservation.raml deleted file mode 100644 index 8e7bb545..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/GetReservation.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 Library - -types: - ReservationId: !include ../types/ReservationId.raml - ReservedReservationGroup: !include ../types/ReservedReservationGroup.raml - ReservedReservationLocation: !include ../types/ReservedReservationLocation.raml - - GetReservationResponseBody: - description: The body that is returned when reservation details are requested. - properties: - reservationId: - type: ReservationId - groups: - required: false - type: array - items: ReservedReservationGroup - locations: - required: false - type: array - items: ReservedReservationLocation - - - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/MoveReservation.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/MoveReservation.raml deleted file mode 100644 index 5740562c..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/MoveReservation.raml +++ /dev/null @@ -1,136 +0,0 @@ -#%RAML 1.0 Library -types: - IdempotenceId: !include ../types/GlobalTypes/IdempotenceId.raml - ExternalRefId: !include ../types/GlobalTypes/ExternalRefId.raml - Place: !include ../types/GlobalTypes/Place.raml - AllOrNothingTransferId: !include ../types/GlobalTypes/AllOrNothingId.raml - - # Added for work performed in W-7535728 - MoveReservationBatchPostBody: - displayName: Move Reservations Batch Call - example: !include ../Examples/MoveReservationBatchPostBody.raml - properties: - allOrNothingTransferId: - type: AllOrNothingTransferId - records: - description: List of records to process in a batch update. The maximum number of entries in the array is 100. - type: array - items: MoveReservationBodyRecords - - # Added for work performed in W-7535728 - MoveReservationBodyRecords: - displayName: Location To Location Move Reservation Records - properties: - id: - type: IdempotenceId - externalRefId: - required: false - description: An external id to reference the reservation quantity move request by - type: ExternalRefId - example: 7282822-9823-aaa - from: - description: The place from which the reservation quantity is being moved. - type: MoveReservationFromLocation | MoveReservationFromGroup - to: - description: The place where the reservation quantity is being moved to. - type: MoveReservationToLocation | MoveReservationToGroup - sku: - description: The sku associated with the reservation quantity move request - type: string - example: sku-001 - quantity: - type: number - format: double - multipleOf: 0.001 - minimum: 0.001 - example: 2.011 - ignoreAvailabilityCheck: - required: false - type: boolean - description: It specifies if the reservation should be moved even if there is no inventory at the destination. - - # Added for work performed in W-7535728 - MoveReservationFromLocation: - properties: - location: - type: string - example: warehouse5 - - # Added for work performed in W-7535728 - MoveReservationToLocation: - properties: - location: - type: string - example: warehouse6 - - # Added for work performed in W-7535728 - MoveReservationFromGroup: - properties: - group: - type: string - example: UnitedStates - - # Added for work performed in W-7535728 - MoveReservationToGroup: - properties: - group: - type: string - example: Canada - - # Added for work performed in W-7535728 - MoveReservationErrorsResponse: - displayName: moveReservationsErrorResponse - example: !include ../Examples/MoveReservationErrors.raml - properties: - errors: - description: Errors generated during transfer/move reservation - type: array - items: MoveReservationError - - MoveReservationError: - properties: - details: - type: MoveReservationErrorDetail - message: - type: string - example: "MoveError" - errorCode: - type: string - example: "error750" - - # Added for work performed in W-7535728 - MoveReservationErrorDetail: - properties: - id: - type: string - example: 82251928-8863-488e-840b-2aebd10b57ba - externalRefId: - type: string - example: 7282822-9823-aaa - from: - type: MoveReservationFromGroup | MoveReservationFromLocation - to: - type: MoveReservationToGroup | MoveReservationToLocation - sku: - type: string - example: sku-001 - quantity: - type: number - example: 2.011 - - Error400GroupToGroupNotAllowed: - displayName: Group To Group Transfers Not Permitted - properties: - responseCode: - type: number - required: true - example: 400 - description: - type: string - example: Bad Request - errorCode: - type: string - example: err107 - message: - type: string - example: Group to Group Transfers are not permitted \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/PlaceReservation.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/PlaceReservation.raml deleted file mode 100644 index d3c809d3..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/PlaceReservation.raml +++ /dev/null @@ -1,190 +0,0 @@ -#%RAML 1.0 Library - -types: - ExternalRefId: !include ../types/GlobalTypes/ExternalRefId.raml - AllOrNothingTransferId: !include ../types/GlobalTypes/AllOrNothingId.raml - GroupId: !include ../types/GlobalTypes/GroupId.raml - LocationId: !include ../types/GlobalTypes/LocationId.raml - ExpirationSeconds: !include ../types/ExpirationSeconds.raml - AllowPartialReservations: !include ../types/AllowPartialReservations.raml - FulfillOnlyReservations: !include ../types/FulfillOnlyReservations.raml - ReservationTime: !include ../types/ReservationTime.raml - ReservationTimeOf: !include ../types/ReservationTimeOf.raml - ReservationExpirationTime: !include ../types/ReservationExpirationTime.raml - ReservationSuccess: !include ../types/ReservationSuccess.raml - ReservationRequestGroup: !include ../types/ReservationRequestGroup.raml - ReservationRequestLocation: !include ../types/ReservationRequestLocation.raml - ReservationRequestLocationAllOrNothing: !include ../types/ReservationRequestLocationAllOrNothing.raml - ReservationResponseErrorRecord: !include ../types/ReservationResponseErrorRecord.raml - ReservationResponseErrorRecord2: !include ../types/ReservationResponseErrorRecord2.raml - ReservedReservationRecord: !include ../types/ReservedReservationRecord.raml - - PlaceReservationAgainstATFBody: - description: The body for a request to place a reservation against locations. - displayName: Reserve For Locations ATF - properties: - externalRefId: - required: false - type: ExternalRefId - expirationSeconds: - required: false - type: ExpirationSeconds - allowPartialReservations: - required: false - type: AllowPartialReservations - fulfillOnly: - required: false - type: FulfillOnlyReservations - reservationTime: - required: false - type: ReservationTime - example: 2019-07-24T21:13:00Z - locations: - required: false - description: The reservations to request at the specified locations. - type: array - items: ReservationRequestLocation - - PlaceReservationRequestBodyLocationAndGroup: - displayName: Reserve For Location And Group - description: Place a reservation for locations and groups in one call - properties: - externalRefId: - required: false - type: ExternalRefId - expirationSeconds: - required: false - type: ExpirationSeconds - allowPartialReservations: - required: false - type: AllowPartialReservations - reservationTime: - required: false - type: ReservationTime - example: 2019-07-24T21:13:00Z - groups: - required: false - description: The reservations to request at the specified location groups. - type: array - items: ReservationRequestGroup - locations: - required: false - description: The reservations to request at the specified locations. - type: array - items: ReservationRequestLocation - - PlaceReservationRequestBodyLocationAllOrNothing: - description: The body for a request to place a reservation against locations, allowing for some reservation requests to be ALL OR NOTHING type requests. - displayName: Reserve For Locations With All Or Nothing - properties: - externalRefId: - required: false - type: ExternalRefId - expirationSeconds: - required: false - type: ExpirationSeconds - allowPartialReservations: - required: false - type: AllowPartialReservations - reservationTime: - required: false - type: ReservationTime - example: 2019-07-24T21:13:00Z - locations: - required: false - description: The reservations to request at the specified locations. - type: array - items: ReservationRequestLocationAllOrNothing - - PlaceReservationRequestBodyLocation: - description: The body for a request to place a reservation against locations. - displayName: Reserve For Locations - properties: - externalRefId: - required: false - type: ExternalRefId - expirationSeconds: - required: false - type: ExpirationSeconds - allowPartialReservations: - required: false - type: AllowPartialReservations - reservationTime: - required: false - type: ReservationTime - example: 2019-07-24T21:13:00Z - locations: - required: false - description: The reservations to request at the specified locations. - type: array - items: ReservationRequestLocation - - PlaceReservationRequestBodyGroups: - description: The body for a request to place a reservation against a group. - displayName: Reserve For Groups - properties: - externalRefId: - required: false - type: ExternalRefId - expirationSeconds: - required: false - type: ExpirationSeconds - allowPartialReservations: - required: false - type: AllowPartialReservations - reservationTime: - required: false - type: ReservationTime - example: 2019-07-24T21:13:00Z - groups: - required: false - description: The reservations to request at the specified location groups. - type: array - items: ReservationRequestGroup - - PlaceReservationResponseBody: - description: The response for a successful reservation placement. - properties: - reservationTime: - type: ReservationTimeOf - example: 2019-07-24T21:13:00Z - expirationTime: - required: false - type: ReservationExpirationTime - example: 2019-07-24T22:13:00Z - success: - type: ReservationSuccess - groups: - required: false - description: The results for the requested location group reservations. - type: array - items: - properties: - id: - type: GroupId - errors: - type: array - items: - type: ReservationResponseErrorRecord2 - details: - type: array - description: Information about the SKU, and the amount of quantity that was successfully reserved. - items: - type: ReservedReservationRecord - locations: - required: false - description: The results for the requested location reservations. - type: array - items: - properties: - id: - type: LocationId - errors: - type: array - items: - type: ReservationResponseErrorRecord2 - details: - description: Information about the SKU, and the amount of quantity that was successfully reserved. - type: array - items: - type: ReservedReservationRecord \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ReserveInventoryRequestsAndResponses.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ReserveInventoryRequestsAndResponses.raml deleted file mode 100644 index 32905ba1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/ReserveInventoryRequestsAndResponses.raml +++ /dev/null @@ -1,275 +0,0 @@ -#%RAML 1.0 Library - -types: - ExternalRefId: !include ../types/GlobalTypes/ExternalRefId.raml - IdempotentId: !include ../types/GlobalTypes/IdempotenceId.raml - SkuId: !include ../types/GlobalTypes/SkuId.raml - PlaceId: !include ../types/GlobalTypes/PlaceId.raml - GroupId: !include ../types/GlobalTypes/GroupId.raml - PlaceType: !include ../types/GlobalTypes/PlaceType.raml - ReserveQuantity: !include ../types/GlobalTypes/ReservedQuantity.raml - Date: !include ../types/GlobalTypes/Date.raml - LocationId: !include ../types/GlobalTypes/LocationId.raml - ExpirationDateTime: !include ../types/ReservationExpirationTime.raml - LocationReservationRecordsNoErrors: !include ../types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsNoErrors.raml - LocationReservationRecordsAllErrors: !include ../types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsAllErrors.raml - ReservationErrorLines: !include ../types/ReserveInventoryRequestResponseTypes/ReservationErrorLines.raml - ReservationItemErrorLines: !include ../types/ReserveInventoryRequestResponseTypes/ReservationItemErrorLines.raml - ReservationErrorLines2: !include ../types/ReserveInventoryRequestResponseTypes/ReservationErrorLines2.raml - ReservationSuccessfulLines: !include ../types/ReserveInventoryRequestResponseTypes/ReservationSuccessfulLines.raml - LocationReservationRecordsWithItemErrors: !include ../types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithItemErrors.raml - GroupReservationRecordsWithErrors: !include ../types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithErrors.raml - LocationReservationRecordsWithErrors: !include ../types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithErrors.raml - GroupReservationRecordsWithItemErrors: !include ../types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithItemErrors.raml - GroupReservationRecordsNoErrors: !include ../types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsNoErrors.raml - RequestBodyRecord: !include ../types/ReserveInventoryRequestResponseTypes/RequestReservationBodyRecord.raml - - RequestBody: - properties: - externalRefId: - required: false - type: ExternalRefId - records: - type: array - items: - type: RequestBodyRecord - allowFewer: - required: false - type: boolean - description: Indicates whether it's okay to reserve fewer than requested. Default is true. - atfOnly: - required: false - type: boolean - description: Only reserve against available to fulfill. Default is false. - - ResponseBodyReservationSuccess: - displayName: Successful Reservation - description: Successful Reservation - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: true - groups: - description: Group level reservation information - type: array - required: false - items: GroupReservationRecordsNoErrors - locations: - description: Location level reservation information. - required: false - items: LocationReservationRecordsNoErrors - - ResponseBodyReservationPartialItemSuccess: - displayName: Reservation With Partial Item Success - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: true - groups: - required: false - description: Group level reservation information - type: array - items: GroupReservationRecordsWithItemErrors - locations: - required: false - description: Location level reservation information - type: array - items: LocationReservationRecordsWithItemErrors - - ResponseBodyReservationPartialQtySuccess: - displayName: Reservation With Partial Quantity Success - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: false - groups: - required: false - description: Group level reservation information - type: array - items: GroupReservationRecordsWithErrors - locations: - required: false - description: Location level reservation information - type: array - items: LocationReservationRecordsWithErrors - - ResponseBodyReservationFail: - displayName: Reservation Failure - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: true - example: - value: false - groups: - description: Group level reservation information. - type: array - required: false - items: GroupReservationRecordsAllErrors - locations: - description: Location level reservation information - type: array - required: false - items: LocationReservationRecordsAllErrors - - ResponseBodyReservationPartialNoItemSuccess: - displayName: Reservation With Partial Allowed No Item Success - example: !include ../Examples/ResponseBodyReservationPartialNoItemSuccess.raml - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: false - groups: - required: false - description: Group level reservation information - type: array - items: GroupReservationRecordsAllErrors - locations: - required: false - description: Location level reservation information - type: array - items: LocationReservationRecordsAllErrors - - ResponseBodyReservationNonPartialSomeItemSuccessSomeFail: - displayName: Non-Partial Allowed Reservation With Some Item Success and Some Failed - example: !include ../Examples/ResponseBodyReservationNonPartialSomeItemSuccessSomeFail.raml - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: false - groups: - required: false - description: Group level reservation information - type: array - items: GroupReservationRecordsWithItemErrors - locations: - required: false - description: Location level reservation information - type: array - items: LocationReservationRecordsWithItemErrors - - ResponseBodyReservationNonPartialAllItemsFail: - displayName: Non-Partial Allowed Reservation With All Items Failed - example: !include ../Examples/ResponseBodyReservationNonPartialAllItemsFail.raml - properties: - reservationTime: - description: The time the reservation was placed - type: Date - example: 2019-07-24T21:13:00Z - expirationTime: - type: ExpirationDateTime - success: - description: Whether or not the reservation was successful - type: boolean - default: false - groups: - required: false - description: Group level reservation information - type: array - items: GroupReservationRecordsAllErrors - locations: - required: false - description: Location level reservation information - type: array - items: LocationReservationRecordsAllErrors - - GroupReservationRecordsAllErrors: - description: Group level line items for reservation responses. - properties: - id: - type: GroupId - description: The group ID associated with these reservations - required: true - example: UnitedStates - errors: - type: array - description: Errors that were encountered while trying to place a reservation - items: [ReservationErrorLines,ReservationErrorLines2] - - ResponseBodyReservationFailedErrorDetail: - properties: - type: - type: PlaceType - id: - type: PlaceId - examples: {location: warehouse5 , group: UnitedStates} - uniqueId: - type: IdempotentId - externalRefId: - type: ExternalRefId - sku: - type: SkuId - example: sku123 - required: true - - ResponseBodyReservationFailedError409: - properties: - message: - example: Id already exists. - type: string - reason: - type: string - example: Id already exists. - details: - type: array - items: - type: ResponseBodyReservationFailedErrorDetail - - ResponseBodyReservationFailed409: - properties: - errors: - type: array - items: - type: ResponseBodyReservationFailedError409 - - Error400NoLocationOrGroupsProvided: - displayName: No Location Or Group Provided - properties: - errorCode: - type: string - example: err104 - message: - type: string - example: No location or groups provided \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/UnreserveReservations.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/UnreserveReservations.raml deleted file mode 100644 index 4e12b6c1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/libraries/UnreserveReservations.raml +++ /dev/null @@ -1,193 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - UnreserveDetail: !include ../types/Unreserve/UnreserveDetail.raml - UnreserveDetailGroupOnly: !include ../types/Unreserve/UnreserveDetailGroupOnly.raml - UnreserveDetailLocationOnly: !include ../types/Unreserve/UnreserveDetailLocationOnly.raml - - RequestBodyGroup: - displayName: Request Body By Group Only - properties: - records: - type: array - items: - properties: - id: - type: !include ../types/GlobalTypes/IdempotenceId.raml - externalRefId: - type: !include ../types/GlobalTypes/ExternalRefId.raml - required: false - group: - description: Either a location or a group is required, but both results in an error - type: !include ../types/GlobalTypes/GroupId.raml - example: UnitedStates - required: false - sku: - type: !include ../types/GlobalTypes/SkuId.raml - required: true - quantity: - #description: Required, positive - type: !include ../types/GlobalTypes/QOH.raml - #example: 1200.35 - - RequestBodyGroupAndLocation: - displayName: Request Body By Groups and Locations - example: - value: | - { - "records": [ - { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-aaa" - "location": "warehouse5", - "sku": "sku1234", - "quantity": 1200.35 - }, - { - "id": "82251928-8863-488e-840b-2aebd10b6666", - "externalRefId": "7282822-9823-bbb" - "group": "UnitedStates", - "sku": "sku5678", - "quantity": 1.35 - } - ] - } - - RequestBodyLocation: - displayName: Request Body By Location Only - properties: - records: - type: array - items: - properties: - id: - type: !include ../types/GlobalTypes/IdempotenceId.raml - externalRefId: - type: !include ../types/GlobalTypes/ExternalRefId.raml - required: false - location: - description: Either a location or a group is required, but both results in an error - type: !include ../types/GlobalTypes/LocationId.raml - example: warehouse5 - required: false - sku: - type: !include ../types/GlobalTypes/SkuId.raml - required: true - minLength: 1 - quantity: - #description: Required, positive - type: !include ../types/GlobalTypes/QOH.raml - #required: true - #minimum: 0.001 - - ResponseBodyGroup: - displayName: Response Body By Group Only - properties: - errors: - type: array - items: - properties: - details: - type: UnreserveDetailGroupOnly - errorCode: - type: string - required: false - example: InsufficientQuantity - message: - type: string - required: false - example: Insufficient Quantity - example: - value: | - [ - { - "details": { - "id": "82251928-8863-488e-840b-2aebd10b6666", - "externalRefId": "7282822-9823-bbb", - "group": "UnitedStates", - "sku": "sku5678", - "quantity": 0 - }, - "message": "Insufficient Quantity", - "errorCode": "InsufficientQuantity" - } - ] - - ResponseBodyLocation: - displayName: Response Body By Location Only - properties: - errors: - type: array - items: - properties: - details: - type: UnreserveDetailLocationOnly - errorCode: - type: string - required: false - example: InsufficientQuantity - message: - type: string - required: false - example: Insufficient Quantity - example: - value: | - [ - { - "details": { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-aaa", - "location": "warehouse5", - "sku": "sku1234", - "quantity": 0 - }, - "message": "Insufficient Quantity", - "errorCode": "InsufficientQuantity" - } - ] - - ResponseBodyGroupAndLocation: - displayName: Response Body By Groups and Locations - properties: - errors: - type: array - items: - properties: - details: - type: UnreserveDetail - errorCode: - type: string - required: false - example: InsufficientQuantity - message: - type: string - required: false - example: No group exists with ID 'UnitedStates' - example: - value: | - [ - { - "details": { - "id": "82251928-8863-488e-840b-2aebd10b6666", - "externalRefId": "7282822-9823-bbb", - "group": "UnitedStates", - "sku": "sku5678", - "quantity": 0 - }, - "message": "Insufficient Quantity", - "errorCode": "InsufficientQuantity" - }, - { - "details": { - "id": "82251928-8863-488e-840b-2aebd10b57ba", - "externalRefId": "7282822-9823-aaa", - "location": "warehouse5", - "sku": "sku1234", - "quantity": 0 - }, - "message": "Insufficient Quantity", - "errorCode": "InsufficientQuantity" - } - ] - \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/traits/GenericResponseErrorCode.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/traits/GenericResponseErrorCode.raml deleted file mode 100644 index 4adb3f61..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/traits/GenericResponseErrorCode.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Trait -#generic response for responses that have a body of type: ErrorCode, with placeholders for the response code, description, errorCode, and errorMessage. - -uses: - ApiStandards: /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml - -responses: - <>: - description: <> - body: - application/json: - type: ApiStandards.ErrorResponse - example: - errorCode: <> - message: <> - type: about:blank \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/AllowPartialReservations.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/AllowPartialReservations.raml deleted file mode 100644 index 8feefce3..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/AllowPartialReservations.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -description: Whether or not to allow partial reservations. The default value is 'true'. If the value sent in is 'true', or no value is sent, the response will only include the quantity that was available to be reserved. There will be no error message. In this case, the response must be verified by the caller. -type: boolean -example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ExpirationSeconds.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ExpirationSeconds.raml deleted file mode 100644 index ff46b109..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ExpirationSeconds.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -description: | - The number of seconds until this reservation expires. If not specified, this reservation never expires. - - Typically, there’s about a 10-15 second delay between the specified expiration time and its reflection on inventory counts under normal load, but usually stays within 60 seconds under higher loads. -type: integer -example: 300 -minimum: 1 -maximum: 14400 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/FulfillOnlyReservations.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/FulfillOnlyReservations.raml deleted file mode 100644 index 2ddb699a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/FulfillOnlyReservations.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -description: Whether or not to fulfill a reservation ONLY against the ATF amount. The default value is 'false'. If the value sent in is 'false', or no value is sent, the reservations will apply normally. If the value is sent as 'true', the reservation will ONLY be placed against the ATF amount and will fail if this amount is insufficient to fulfill the reservation request. -type: boolean -example: true \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestError.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestError.raml deleted file mode 100644 index fc3291c3..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestError.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -description: Error message generated after a failed fulfillment. -properties: - details: - type: !include FulfillReservationErrorDetail.raml - message: - description: Error message - type: string - example: Fulfillment failed - invalid location provided - errorCode: - description: The error code associated with this error - type: string - example: err751 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestRecords.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestRecords.raml deleted file mode 100644 index 86f1a4f1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillQuantityRequestRecords.raml +++ /dev/null @@ -1,29 +0,0 @@ -#%RAML 1.0 DataType - -description: The records provided in a fulfillment request. - -properties: - id: - type: !include ../GlobalTypes/IdempotenceId.raml - externalRefId: - required: false - type: !include ../GlobalTypes/ExternalRefId.raml - location: - type: !include ../GlobalTypes/LocationId.raml - required: true - sku: - type: !include ../GlobalTypes/SkuId.raml - required: true - minLength: 1 - quantity: - description: Must be a positive value - type: !include ../GlobalTypes/QOH.raml - required: true - minimum: 0.001 - example: 1200.35 - fulfillmentTime: - description: The time the fulfillment takes place - type: datetime - format: rfc3339 - required: false - example: 2019-07-24T21:13:00Z diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillReservationErrorDetail.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillReservationErrorDetail.raml deleted file mode 100644 index aec5e234..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Fulfillment/FulfillReservationErrorDetail.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 DataType - -description: Reservation fulfillment error detail information -properties: - id: - type: !include ../GlobalTypes/IdempotenceId.raml - externalRefId: - required: false - type: !include ../GlobalTypes/ExternalRefId.raml - location: - type: !include ../GlobalTypes/LocationId.raml - required: true - sku: - type: !include ../GlobalTypes/SkuId.raml - required: true - minLength: 1 - quantity: - description: Must be a positive value - type: !include ../GlobalTypes/QOH.raml - required: true - minimum: 0.001 - example: 1200.35 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/AllOrNothingId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/AllOrNothingId.raml deleted file mode 100644 index 3177c558..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/AllOrNothingId.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -description: The used defined id of the All Or Nothing Reservation. -type: string -minLength: 1 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ -example: a14s-4b1c-1a3cbd4 diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Date.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Date.raml deleted file mode 100644 index 2b0e2553..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Date.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Date.raml - -example: 2019-07-24T21:13:00Z -type: datetime -format: rfc3339 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ExternalRefId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ExternalRefId.raml deleted file mode 100644 index 74354ea2..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ExternalRefId.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -description: | - A convenience identifier for the consumer, used for auditing events. This field is NOT used by the service itself, but is intended for the consumer to be able to identify records submitted from their systems that are external to OCI. -example: 7282822-9823-aaa -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/GroupId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/GroupId.raml deleted file mode 100644 index 9c2990c5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/GroupId.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/GroupId.raml -type: string -minLength: 2 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ -description: An identifier for a collection of locations -example: UnitedStates \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/IdempotenceId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/IdempotenceId.raml deleted file mode 100644 index f36ef0f5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/IdempotenceId.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/IdempotenceId.raml - -description: A unique identifier, used in combination with the SKU, so that future requests with the same combination have the same result. -example: 82251928-8863-488e-840b-2aebd10b57ba -type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/LocationId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/LocationId.raml deleted file mode 100644 index 410bb586..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/LocationId.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include /exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/LocationId.raml -description: The id of the location of the inventory. -type: string -minLength: 2 -maxLength: 128 -pattern: ^[a-zA-Z0-9-_]*$ -example: warehouse5 diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Place.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Place.raml deleted file mode 100644 index f410baba..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/Place.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/Place.raml - -description: Type and ID of a given inventory place - -properties: - type: - type: !include PlaceType.raml - id: - type: !include PlaceId.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceId.raml deleted file mode 100644 index 64092a24..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceId.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceId.raml - -description: The id of a group or location where inventory is located. -type: string -examples: {location: warehouse5 , group: UnitedStates} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceType.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceType.raml deleted file mode 100644 index 8bdc1b75..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/PlaceType.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/PlaceType.raml - -description: The type of place where the inventory is located which can either be 'location' or 'group'. -enum: [location, group] -type: string -examples: {location: location, group: group} \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/QOH.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/QOH.raml deleted file mode 100644 index 042c5f7a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/QOH.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/QOH.raml - -description: Quantity on hand. -example: 1200.35 -type: number -format: double -minimum: 0.000 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ReservedQuantity.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ReservedQuantity.raml deleted file mode 100644 index 08584456..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/ReservedQuantity.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/ReservedQuantity.raml - -description: The quantity to reserve -example: 10.000 -type: number -format: double -minimum: 0.001 -multipleOf: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/SkuId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/SkuId.raml deleted file mode 100644 index a808641e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/GlobalTypes/SkuId.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -#type: !include ../../exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/inventory-availability-standards/1.0.16/types/SkuId.raml -description: The inventory identifier -type: string -example: "sku1234" -minLength: 1 -maxLength: 250 -pattern: ^[^\\<>;%/\s]*$ \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvReqParamInvReqLocOrGroupDoesNotExist.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvReqParamInvReqLocOrGroupDoesNotExist.raml deleted file mode 100644 index a5213417..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvReqParamInvReqLocOrGroupDoesNotExist.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.400InvReqParamInvReqLocOrGroupDoesNotExist] - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestLocOrGroupDoesNotExist.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestLocOrGroupDoesNotExist.raml deleted file mode 100644 index 3c9b8aaa..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestLocOrGroupDoesNotExist.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.400InvalidRequestLocOrGroupDoesNotExist] - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameter.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameter.raml deleted file mode 100644 index 09e221ea..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameter.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.400InvalidRequestParameter] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameterLocOrGroupDoesNotExist.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameterLocOrGroupDoesNotExist.raml deleted file mode 100644 index 03b2d8f5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400InvalidRequestParameterLocOrGroupDoesNotExist.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.400InvalidRequestParameterLocOrGroupDoesNotExist] - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400MissingParameter.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400MissingParameter.raml deleted file mode 100644 index 2d86c4c5..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/400MissingParameter.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.400MissingParameter] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/403Error.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/403Error.raml deleted file mode 100644 index 29402697..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/403Error.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType -uses: - ErrorCodeTypesEnum: ../../libraries/ErrorHandling/ErrorCodeTypesEnum.raml - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.403Error] - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/404ErrorEntityDoesNotExist.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/404ErrorEntityDoesNotExist.raml deleted file mode 100644 index 151c203d..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/404ErrorEntityDoesNotExist.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.404ErrorEntityDoesNotExist] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/409InvalidRequestParameter.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/409InvalidRequestParameter.raml deleted file mode 100644 index 915d1d4a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/409InvalidRequestParameter.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.409InvalidRequestParameter] - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/IasError.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/IasError.raml deleted file mode 100644 index de44b1f4..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/HttpErrors/IasError.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType -uses: - ErrorCodeTypesEnum: ../../libraries/ErrorHandling/ErrorCodeTypesEnum.raml - GenericError: ../../libraries/ErrorHandling/GenericError.raml - -type: [ GenericError.4xxError ] \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/PlaceReservationErrorCode.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/PlaceReservationErrorCode.raml deleted file mode 100644 index 831b192e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/PlaceReservationErrorCode.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -description: Enum for the error code values that can be expected when placing a reservation. - -type: - description: The error code. - type: string - enum: [InsufficientQuantity, Unknown] - example: InsufficientQuantity \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationExpirationTime.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationExpirationTime.raml deleted file mode 100644 index 2539154a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationExpirationTime.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType - -description: The time the reservation expires -type: !include GlobalTypes/Date.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationId.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationId.raml deleted file mode 100644 index f985a977..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationId.raml +++ /dev/null @@ -1,5 +0,0 @@ -#%RAML 1.0 DataType - -description: The reservation identifier. -type: string -example: 12345-23456-3456-4567-5678-6F6F \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestGroup.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestGroup.raml deleted file mode 100644 index 6057ff31..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestGroup.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -description: The reservations to request at the location group. -properties: - id: - type: !include GlobalTypes/GroupId.raml - reservations: - required: true - type: array - items: - type: !include ReservationRequestRecord.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocation.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocation.raml deleted file mode 100644 index 081c604b..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocation.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -description: The reservations to request at the location. -properties: - id: - type: !include GlobalTypes/LocationId.raml - reservations: - required: true - type: array - items: - type: !include ReservationRequestRecord.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocationAllOrNothing.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocationAllOrNothing.raml deleted file mode 100644 index db00a80e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestLocationAllOrNothing.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 DataType - -description: The reservations to request at the location. -properties: - id: - type: !include GlobalTypes/LocationId.raml - reservations: - required: true - type: array - items: - type: !include ReservationRequestRecord.raml - allOrNothingReservations: - required: false - type: array - items: - properties: - id: - type: !include GlobalTypes/AllOrNothingId.raml - reservations: - type: array - items: - type: !include ReservationRequestRecord.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestRecord.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestRecord.raml deleted file mode 100644 index 5427b4bb..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationRequestRecord.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: Information about the SKU, and quantity to reserve. -properties: - sku: - type: !include GlobalTypes/SkuId.raml - required: true - minLength: 1 - quantity: - type: !include GlobalTypes/ReservedQuantity.raml - required: true - minimum: 0.001 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord.raml deleted file mode 100644 index b1148c1a..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: Information about any errors that occurred attempting to place the reservation. -properties: - sku: - type: !include GlobalTypes/SkuId.raml - required: true - minLength: 1 - errorCode: - type: !include PlaceReservationErrorCode.raml - required: true - example: "Unknown" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord2.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord2.raml deleted file mode 100644 index a66b25c1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationResponseErrorRecord2.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType - -description: Information about any errors that occurred attempting to place the reservation. -properties: - sku: - required: true - description: The inventory identifier - type: string - example: "sku5678" - minLength: 1 - maxLength: 250 - pattern: ^[a-zA-Z0-9|-]*$ - errorCode: - type: !include PlaceReservationErrorCode.raml - required: true - example: "Unknown" \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationStatus.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationStatus.raml deleted file mode 100644 index 6a0b2cd1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationStatus.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType - -type: - type: string - # we only allow the status of a Reservation document to be set to - # Cancelled, so we're restricting it here with an ENUM - enum: [CANCELLED] - example: CANCELLED \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationSuccess.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationSuccess.raml deleted file mode 100644 index 11313dbc..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationSuccess.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType - -description: Whether or not the reservation was able to be placed successfully. -type: boolean diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTime.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTime.raml deleted file mode 100644 index 99bd7e55..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTime.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType - -description: The time to record for the reservation. The default value is the current system time. -type: !include GlobalTypes/Date.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTimeOf.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTimeOf.raml deleted file mode 100644 index 808afef0..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservationTimeOf.raml +++ /dev/null @@ -1,4 +0,0 @@ -#%RAML 1.0 DataType - -description: The time of the reservation. -type: !include GlobalTypes/Date.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CancelReservation409Error.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CancelReservation409Error.raml deleted file mode 100644 index e44ff149..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CancelReservation409Error.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType - -description: Error generated when attempting to create a reservation with the same ID as an existing one. -properties: - errorCode: - enum: [ReservationInvalidState, ReservationCancelled, ConcurrentModification] - type: string - example: "ReservationInvalidState" - message: - type: string - example: "Reservation is in a CLOSED state." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CreateReservation409Error.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CreateReservation409Error.raml deleted file mode 100644 index 23f28188..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/CreateReservation409Error.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType - -description: Error generated when attempting to create a reservation with the same ID as an existing one. -properties: - errorCode: - enum: [ReservationInvalidState, ReservationAlreadyFinalized, ReservationCancelled, ReservationOperationInProcess, EntityExists, ConcurrentModification, PreviousRequestAborted, PreviousRequestCancelled] - type: string - example: "ReservationInvalidState" - message: - type: string - example: "Reservation is in a CLOSED state." - type: - type: string - required: true - example: "about:blank" - parameterName: - description: When invalid json is passed to the service, this field will indicate which piece of the supplied json was invalid. - type: string - required: false - example: "sku" diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsNoErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsNoErrors.raml deleted file mode 100644 index f5525fba..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsNoErrors.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -#GroupReservationRecordsNoErrors: -description: Group level line items for reservation responses. -properties: - id: - type: !include ../GlobalTypes/GroupId.raml - description: The group ID associated with these reservations - required: true - example: UnitedStates - details: - type: array - description: Successful reservation entries for this group. - items: !include ReservationSuccessfulLines.raml - diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithErrors.raml deleted file mode 100644 index 25c5e0b9..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithErrors.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 DataType - - -#GroupReservationRecordsWithErrors: -description: Group level line items for reservation responses. -properties: - id: - type: !include ../GlobalTypes/GroupId.raml - description: The group ID associated with these reservations - required: true - example: Germany - errors: - type: array - description: Errors that were encountered while trying to place a reservation - items: !include ReservationErrorLines2.raml - details: - type: array - description: Successful reservation entries for this group. - items: !include ReservationSuccessfulLines.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithItemErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithItemErrors.raml deleted file mode 100644 index f6213dad..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/GroupReservationRecordsWithItemErrors.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 DataType - -#GroupReservationRecordsWithItemErrors -description: Group level line items for reservation responses. -properties: - id: - type: !include ../GlobalTypes/GroupId.raml - description: The group ID associated with these reservations - required: true - example: UnitedStates - errors: - type: array - description: Errors that were encountered while trying to place a reservation - items: !include ReservationItemErrorLines.raml - details: - type: array - description: Successful reservation entries for this group. - items: !include ReservationSuccessfulLines.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsAllErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsAllErrors.raml deleted file mode 100644 index 32e03bb1..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsAllErrors.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -#LocationReservationRecordsAllErrors -description: Location level line items for reservation responses. -properties: - id: - type: !include ../GlobalTypes/LocationId.raml - description: The location ID associated with these reservations - required: true - example: warehouse5 - errors: - type: array - description: Errors that were encountered while trying to place this location reservation - items: !include ReservationErrorLines.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsNoErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsNoErrors.raml deleted file mode 100644 index 6a1b7a19..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsNoErrors.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType - -description: Location level line items for reservation responses. -properties: - id: - type: !include ../GlobalTypes/LocationId.raml - description: The location ID associated with these reservations - required: true - example: warehouse5 - details: - type: array - description: Successful reservation lines for this location. - items: !include ReservationSuccessfulLines.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithErrors.raml deleted file mode 100644 index b0879dd7..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithErrors.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 DataType - -#LocationReservationRecordsWithErrors -description: Location level line items for reservation responses. -properties: - id: - type: !include ../GlobalTypes/LocationId.raml - description: The location ID associated with these reservations - required: true - example: warehouse5 - errors: - type: array - description: Errors that were encountered while trying to place this location reservation - items: !include ReservationErrorLines2.raml - details: - type: array - description: Successful reservation lines for this location. - items: !include ReservationSuccessfulLines.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithItemErrors.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithItemErrors.raml deleted file mode 100644 index 8fd2584e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/LocationReservationRecordsWithItemErrors.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 DataType - -#LocationReservationRecordsWithItemErrors: -description: Location level line items for reservation responses - overrides sku so that the failed items do not match the successful items -properties: - id: - type: string - minLength: 2 - maxLength: 128 - pattern: ^[a-zA-Z0-9]*$ - example: warehouse5 - description: The location ID associated with these reservations - required: true - errors: - type: array - description: Errors that were encounterd while trying to place this location level reservation - items: !include ReservationItemErrorLines.raml - details: - type: array - description: Successfule reservation lines for this location. - items: !include ReservationSuccessfulLines.raml diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/RequestReservationBodyRecord.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/RequestReservationBodyRecord.raml deleted file mode 100644 index ab02bcfe..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/RequestReservationBodyRecord.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 DataType - -#RequestBodyRecord -description: A reservation request record -properties: - #uniqueRequestId: - id: - type: !include ../GlobalTypes/IdempotenceId.raml - group: - description: The groupId associated with the reservation request. This field left empty if a location is provided. - type: !include ../GlobalTypes/GroupId.raml - required: false - example: UnitedStates - location: - description: The locationId associated witht he reservation request. This field left empty if a groupId is provided. - type: !include ../GlobalTypes/LocationId.raml - required: false - sku: - type: !include ../GlobalTypes/SkuId.raml - required: true - example: sku1234 - quantity: - type: !include ../GlobalTypes/ReservedQuantity.raml - required: true diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines.raml deleted file mode 100644 index 37b5cc84..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -#ReservationErrorLines: -description: Generic error line detail generated during a reservation request. -properties: - sku: - description: The sku associated with the failed reservation line item - type: !include ../GlobalTypes/SkuId.raml - example: sku1234 - required: true - errorCode: - description: The error code associated with the error line item. - type: string - example: InsufficientQuantity \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines2.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines2.raml deleted file mode 100644 index cc93943f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationErrorLines2.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -#ReservationErrorLines2 -description: An alternate definition for error lines, allowing multiple different examples in the same response body -properties: - sku: - description: The sku associated with the failed reservation line item - type: !include ../GlobalTypes/SkuId.raml - example: sku5678 - required: true - errorCode: - description: The error code associated with the error line item. - type: string - example: InsufficientQuantity diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationItemErrorLines.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationItemErrorLines.raml deleted file mode 100644 index 16adbf75..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationItemErrorLines.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType - -#overrides skuId example so that the items in the response do not match -#ReservationItemErrorLines -description: An error line that overrides the skuId so that the items in a response example don't match -properties: - sku: - description: The sku associated with the failed reservation line item - type: !include ../GlobalTypes/SkuId.raml - example: sku789 - required: true - minLength: 1 - errorCode: - description: The error code associated with the error line item. - type: string - example: InsufficientQuantity \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationSuccessfulLines.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationSuccessfulLines.raml deleted file mode 100644 index 66ddc08e..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReserveInventoryRequestResponseTypes/ReservationSuccessfulLines.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType - -#ReservationSuccessfulLines: -description: Successful reservation lines -properties: - sku: - description: The sku associated with the successful reservation line item - type: !include ../GlobalTypes/SkuId.raml - required: true - example: "sku1234" - quantity: - description: The quantity amount associated witht he successful reservation line item - type: number - example: 10.10 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationGroup.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationGroup.raml deleted file mode 100644 index fdd78027..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationGroup.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -description: Reserved items at the location group. - -properties: - id: - type: !include GlobalTypes/GroupId.raml - items: - type: array - items: !include ReservedReservationRecord.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationLocation.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationLocation.raml deleted file mode 100644 index 2c010c3f..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationLocation.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -description: Reserved items at the location. -properties: - id: - type: !include GlobalTypes/LocationId.raml - items: - type: array - items: !include ReservedReservationRecord.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationRecord.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationRecord.raml deleted file mode 100644 index bfb282f3..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/ReservedReservationRecord.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -properties: - sku: - type: !include GlobalTypes/SkuId.raml - quantity: - type: !include GlobalTypes/ReservedQuantity.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetail.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetail.raml deleted file mode 100644 index 1c643346..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetail.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType - -#UnreserveDetailGroupAndLocation -properties: - - id: - type: !include ../GlobalTypes/IdempotenceId.raml - externalRefId: - type: !include ../GlobalTypes/ExternalRefId.raml - location: - type: !include ../GlobalTypes/LocationId.raml - required: false - group: - type: !include ../GlobalTypes/GroupId.raml - required: false - sku: - type: !include ../GlobalTypes/SkuId.raml - quantity: - type: number - example: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailGroupOnly.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailGroupOnly.raml deleted file mode 100644 index fb6e2864..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailGroupOnly.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType - -#UnreserveDetailGroupOnly -properties: - - id: - type: !include ../GlobalTypes/IdempotenceId.raml - externalRefId: - type: !include ../GlobalTypes/ExternalRefId.raml - group: - type: !include ../GlobalTypes/GroupId.raml - sku: - type: !include ../GlobalTypes/SkuId.raml - quantity: - type: number - example: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailLocationOnly.raml b/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailLocationOnly.raml deleted file mode 100644 index 7dea4218..00000000 --- a/testIntegration/stagingApis/inventory/inventory-reservation-service/types/Unreserve/UnreserveDetailLocationOnly.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -#UnreserveDetailLocationOnly -properties: - id: - type: !include ../GlobalTypes/IdempotenceId.raml - externalRefId: - type: !include ../GlobalTypes/ExternalRefId.raml - location: - type: !include ../GlobalTypes/LocationId.raml - sku: - type: !include ../GlobalTypes/SkuId.raml - quantity: - type: number - example: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/pricing/coupons/.metadata.json b/testIntegration/stagingApis/pricing/coupons/.metadata.json index 4cd68e46..195de24b 100644 --- a/testIntegration/stagingApis/pricing/coupons/.metadata.json +++ b/testIntegration/stagingApis/pricing/coupons/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons/1.0.28", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/coupons/1.0.30", "name": "Coupons", "description": "Manage coupons for use in your storefront.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "coupons", - "version": "1.0.28", + "version": "1.0.30", "categories": { "API layer": [ "System" diff --git a/testIntegration/stagingApis/pricing/coupons/coupons.raml b/testIntegration/stagingApis/pricing/coupons/coupons.raml index 138cd615..da6ca484 100644 --- a/testIntegration/stagingApis/pricing/coupons/coupons.raml +++ b/testIntegration/stagingApis/pricing/coupons/coupons.raml @@ -48,7 +48,7 @@ types: type: boolean example: false exportedCodeCount: - description: The number of coupon codes attached to the coupon that have been issued (request search only). + description: The number of coupon codes attached to the coupon that have been issued (read only). type: integer format: int32 example: @@ -60,7 +60,7 @@ types: example: 2019-10-30T04:23:59Z required: false redemptionCount: - description: The number of times the coupon has been redeemed (request search only). + description: The number of times the coupon has been redeemed (read only). The count is updated once per hour. type: integer format: int32 example: 3 @@ -90,7 +90,7 @@ types: codePrefix: SG numberOfCodes: 500000 totalCodesCount: - description: The total number of coupon codes associated with this coupon. + description: The total number of coupon codes associated with this coupon (read only). The count is updated once per hour. type: integer format: int32 required: false @@ -347,6 +347,11 @@ types: description: |- Redeems a coupon code for an existing coupon within the selected site. The coupon code must be redeemable. + --- + ***Note: Coupon redemptions are evaluated during checkout. A large number of coupon redemptions negatively impacts order creation performance and scale.*** + 1. Avoid importing unnecessary coupon redemptions. + 2. Clean up coupon codes and related redemptions when they are no longer required. + --- displayName: redeemCoupon body: application/json: diff --git a/testIntegration/stagingApis/pricing/coupons/exchange.json b/testIntegration/stagingApis/pricing/coupons/exchange.json index ef10aa9c..5b505603 100644 --- a/testIntegration/stagingApis/pricing/coupons/exchange.json +++ b/testIntegration/stagingApis/pricing/coupons/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "1.0.28", + "version": "1.0.30", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/product/catalogs/.metadata.json b/testIntegration/stagingApis/product/catalogs/.metadata.json index 9e793efe..3bd3a173 100644 --- a/testIntegration/stagingApis/product/catalogs/.metadata.json +++ b/testIntegration/stagingApis/product/catalogs/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs/0.0.35", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/catalogs/0.0.36", "name": "Catalogs", "description": "Build searchable product categories and catalogs.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "catalogs", - "version": "0.0.35", + "version": "0.0.36", "categories": { "API layer": [ "System" diff --git a/testIntegration/stagingApis/product/catalogs/catalogs-description.md b/testIntegration/stagingApis/product/catalogs/catalogs-description.md index 3bbbb2f0..678ffaf5 100644 --- a/testIntegration/stagingApis/product/catalogs/catalogs-description.md +++ b/testIntegration/stagingApis/product/catalogs/catalogs-description.md @@ -13,6 +13,8 @@ For more information, see the [Catalogs](https://documentation.b2c.commercecloud The client managing catalog and category information must have access to the Categories and Catalogs resources. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. +You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + ## Use Cases Here are some common use cases for the API: diff --git a/testIntegration/stagingApis/product/catalogs/catalogs.raml b/testIntegration/stagingApis/product/catalogs/catalogs.raml index de656f25..34a0824f 100644 --- a/testIntegration/stagingApis/product/catalogs/catalogs.raml +++ b/testIntegration/stagingApis/product/catalogs/catalogs.raml @@ -43,6 +43,8 @@ types: example: 10 Catalog: description: Document representing a catalog. + type: + CommerceCloudStandards.OpenObject properties: assignedProductCount: description: The count of products assigned to the catalog. It is read only. @@ -125,6 +127,12 @@ types: minLength: 1 type: string example: mens + CatalogCategorySearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/catalog-search-body.raml + CatalogSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/catalog-search-body-query.raml Categories: description: Categories allow products to be organized into hierarchical structures. Categories can have relationships to other parent categories. Each category also can provide a context inherited by subcategories. For example, a category may have an attribute value assigned to it, and any product assigned to the category or a subcategory would inherit the attribute value as long as the product is assigned. Once the product is removed from the category those attribute values would no longer be in the context of the product. Linking of categories is also used for Site hierarchical navigation. For example, inside 'Clothing' you may have 'Mens', and inside 'Mens' you may have 'Pants'. Categories are not *Tags*. properties: @@ -149,6 +157,8 @@ types: example: 100 Category: description: Document representing a category. + type: + CommerceCloudStandards.OpenObject properties: catalogId: description: The ID of the catalog that contains it. @@ -389,6 +399,9 @@ types: example: { "default": "Summer Bomber Jacket" } + CategoryProductAssignmentSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/product-assignment-body-example.raml CategoryProductAssignmentSearchResult: description: Document representing a product search result. type: CommerceCloudStandards.PaginatedSearchResult @@ -396,6 +409,9 @@ types: hits: description: The sorted array of search hits. This array can be empty. type: CategoryProductAssignment[] + CategorySearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/category_search-body-example.raml CategorySearchResult: description: Document representing a catalog search result. type: CommerceCloudStandards.PaginatedSearchResult @@ -520,6 +536,8 @@ types: example: 120 PathRecord: description: Document representing most basic info (ID and name) of a category or catalog. + type: + CommerceCloudStandards.OpenObject properties: id: description: The ID of the category path. @@ -534,6 +552,8 @@ types: required: false Product: description: Any product that is sold, shown alone, and does not have variations such as different sizes or colors. Product that has no reliance on any other product for inheritance. *A product has a SKU and can have a product option, which has a different SKU*. + type: + CommerceCloudStandards.OpenObject properties: assignedCategories: description: The catalog categories that the product is assigned to. @@ -991,6 +1011,8 @@ types: example: online SortingRule: description: Document representing a product sorting rule. + type: + CommerceCloudStandards.OpenObject properties: creationDate: description: The creation date, read only. @@ -1018,6 +1040,8 @@ types: example: SiteGenesis SortingRuleStep: description: Document representing a product sorting rule step. + type: + CommerceCloudStandards.OpenObject properties: attributeId: description: The ID for sorting attribute. @@ -1390,7 +1414,7 @@ types: format: int32 example: 5 data: - description: The list of rules. This can be empty. + description: The list of rules. This can be empty. *Note* - If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. type: Rule[] required: false total: @@ -1799,9 +1823,7 @@ types: search_result: !include Examples/category_product_assignment.raml body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - CommerceCloudStandards.SearchRequest: !include Examples/product-assignment-body-example.raml + type: CategoryProductAssignmentSearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } /products/{productId}: @@ -2061,6 +2083,7 @@ types: body: application/json: type: RulesRequest + description: If the exclusion attribute is set to true, the rule is designated as an Exclusion rule. Any item matching an Exclusion rule is omitted from the final result set. examples: ruleBody: !include Examples/postRuleRequestBody.raml securedBy: @@ -2281,9 +2304,7 @@ types: example: 0 body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - result: !include Examples/catalog-search-body.raml + type: CatalogCategorySearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } /catalog-search: @@ -2338,12 +2359,9 @@ types: type: CatalogSearchResult examples: catalog_search_result: !include Examples/catalog-search-result-query.raml - body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - catalog-search-body: !include Examples/catalog-search-body-query.raml + type: CatalogSearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } /category-search: @@ -2405,8 +2423,6 @@ types: required: false body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - body : !include Examples/category_search-body-example.raml + type: CategorySearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.catalogs,sfcc.catalogs.rw] } diff --git a/testIntegration/stagingApis/product/catalogs/exchange.json b/testIntegration/stagingApis/product/catalogs/exchange.json index aadc2ba5..1a390fb9 100644 --- a/testIntegration/stagingApis/product/catalogs/exchange.json +++ b/testIntegration/stagingApis/product/catalogs/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.35", + "version": "0.0.36", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/product/products/.metadata.json b/testIntegration/stagingApis/product/products/.metadata.json index f76f4035..b6c55ade 100644 --- a/testIntegration/stagingApis/product/products/.metadata.json +++ b/testIntegration/stagingApis/product/products/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products/0.0.33", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/products/0.0.36", "name": "Products", "description": "Add and manage searchable products within a merchandizing system.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "products", - "version": "0.0.33", + "version": "0.0.36", "categories": { "API layer": [ "System" diff --git a/testIntegration/stagingApis/product/products/exchange.json b/testIntegration/stagingApis/product/products/exchange.json index 19d3c731..b9652a72 100644 --- a/testIntegration/stagingApis/product/products/exchange.json +++ b/testIntegration/stagingApis/product/products/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.33", + "version": "0.0.36", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/product/products/products-description.md b/testIntegration/stagingApis/product/products/products-description.md index dc2e8ef5..bbf57265 100644 --- a/testIntegration/stagingApis/product/products/products-description.md +++ b/testIntegration/stagingApis/product/products/products-description.md @@ -8,6 +8,8 @@ For more information, see [Products](https://documentation.b2c.commercecloud.sal The client managing product information must have access to the Products resource. This API requires a bearer token in the header of the request. The client accessing the API must first authenticate against Account Manager to get the bearer token. +You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + ## Use Cases ### Add Products diff --git a/testIntegration/stagingApis/product/products/products.raml b/testIntegration/stagingApis/product/products/products.raml index 7c7a4af7..5f1d9b48 100644 --- a/testIntegration/stagingApis/product/products/products.raml +++ b/testIntegration/stagingApis/product/products/products.raml @@ -551,7 +551,9 @@ types: type: integer format: int32 example: 10 - + ProductSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/ProductSearchRequest.raml ProductSearchResult: description: Document representing a product search result. type: CommerceCloudStandards.PaginatedSearchResult @@ -688,6 +690,9 @@ types: type: string required: false example: {"color":"black"} + VariantSearchRequest: + type: CommerceCloudStandards.SearchRequest + example: !include Examples/VariantSearchRequest.raml VariantSearchResult: description: Document that represents a search on certificates and keys. type: CommerceCloudStandards.PaginatedSearchResult @@ -1020,6 +1025,8 @@ types: pageKeywords, brand, ean, upc, manufactureSku, manufactureName, searchable, unit, searchable, onlineFlag, defaultVariantId. + + Custom Attributes are used to extend a standard Product system object. This endpoint can be used to update custom attribute values for a particular product SKU. If you try to update a non-existent custom attribute, the request won't fail, but no changes are made and the attribute is not created. displayName: updateProduct is: - ProductTraits.ProductNotFound @@ -1041,7 +1048,7 @@ types: securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products.rw] } put: - description: Creates a product using the information provided. If a product with the same unique identifier exists, it is cleaned and overwritten unless the header x-dw-validate-existing=true is passed in with the request. + description: Creates a product using the information provided. If a product with the same unique identifier exists, it is cleaned and overwritten. displayName: createProduct is: - ProductTraits.Unauthorized @@ -1151,9 +1158,7 @@ types: example: SiteGenesis body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - variantSearchRequest: !include Examples/VariantSearchRequest.raml + type: VariantSearchRequest securedBy: - CommerceCloudStandards.AmOAuth2: { scopes: [sfcc.products,sfcc.products.rw] } /{masterProductId}/variation-groups: @@ -1956,9 +1961,7 @@ types: example: SiteGenesis body: application/json: - type: CommerceCloudStandards.SearchRequest - examples: - body: !include Examples/ProductSearchRequest.raml + type: ProductSearchRequest is: - ProductTraits.BadRequest - ProductTraits.Unauthorized diff --git a/testIntegration/stagingApis/product/shopper-products/.metadata.json b/testIntegration/stagingApis/product/shopper-products/.metadata.json index b6997508..9ffb7f87 100644 --- a/testIntegration/stagingApis/product/shopper-products/.metadata.json +++ b/testIntegration/stagingApis/product/shopper-products/.metadata.json @@ -1,10 +1,10 @@ { - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products/0.0.33", + "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/shopper-products/0.0.37", "name": "Shopper Products", "description": "Display product details across your storefront.", "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", "assetId": "shopper-products", - "version": "0.0.33", + "version": "0.0.37", "categories": { "API layer": [ "Process" diff --git a/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml b/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml index de98aa19..03d2bf7b 100644 --- a/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml +++ b/testIntegration/stagingApis/product/shopper-products/Examples/product-example.raml @@ -54,6 +54,20 @@ value: "name": "Apple iPod Shuffle", "pageDescription": "With the same size circular control pad as the previous model on a much more compact case with a built-in clip, the updated shuffle is ready to rock and easily tags along when you're on the go.", "pageKeywords": "Apple, iPod, Shuffle, MP3, Music Player", + "pageMetaTags": [ + { + "id": "description", + "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." + }, + { + "id": "robots", + "value": "index, follow" + }, + { + "id": "title", + "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." + } + ], "pageTitle": "Apple iPod Shuffle", "price": 45.99, "priceMax": 69, diff --git a/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml b/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml index 7ea66dd5..12fb35b2 100644 --- a/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml +++ b/testIntegration/stagingApis/product/shopper-products/Examples/product-result-example.raml @@ -84,6 +84,20 @@ value: ], "pageDescription": "This iPod delivers everything you love about iPod with added features all wrapped in a tiny 4.9 oz. package. With 120GB of storage and up to 36 hours music playback, iPod classic lets you enjoy up to 30,000 songs or 150 hours of video — or a combination — wherever you go.", "pageKeywords": "Apple, iPod, iPod Classic, MP3, Music Player", + "pageMetaTags": [ + { + "id": "description", + "value": "The updated Shuffle features the same-sized circular control pad in a more compact, clip-on case, making it perfect for on-the-go use." + }, + { + "id": "robots", + "value": "index, follow" + }, + { + "id": "title", + "value": "Buy the Apple iPod Shuffle for USD 45.99-69.00." + } + ], "pageTitle": "Apple iPod Nano", "price": 45.99, "priceMax": 69.00, @@ -279,6 +293,20 @@ value: "name": "Apple iPod Nano", "pageDescription": "The all new iPod nano has a curved aluminum and glass design and stunning new features. The Genius music feature helps you find music to fit your mood. With the built-in accelerometer, you can rotate the nano to flip through album art with Cover Flow. Plus, view photos and videos in either portrait or landscape.", "pageKeywords": "Apple, iPod, Nano, MP3, Music Player", + "pageMetaTags": [ + { + "id": "description", + "value": "The new iPod nano features a curved aluminum and glass design along with great new features. Genius music helps you find songs that match your mood, and the built-in accelerometer lets you rotate the nano to flip through album art using Cover Flow. You can also view photos and videos in both portrait and landscape orientations." + }, + { + "id": "robots", + "value": "index, follow" + }, + { + "id": "title", + "value": "Buy the Apple iPod Nano for USD 119.00-199.00." + } + ], "pageTitle": "Apple iPod Nano", "price": 119.00, "priceMax": 199.00, diff --git a/testIntegration/stagingApis/product/shopper-products/exchange.json b/testIntegration/stagingApis/product/shopper-products/exchange.json index 6c311a2d..bdcca292 100644 --- a/testIntegration/stagingApis/product/shopper-products/exchange.json +++ b/testIntegration/stagingApis/product/shopper-products/exchange.json @@ -11,7 +11,7 @@ "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" } ], - "version": "0.0.33", + "version": "0.0.37", "originalFormatVersion": "1.0", "apiVersion": "v1", "descriptorVersion": "0.1.0", diff --git a/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md b/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md index 3853c93f..5826f541 100644 --- a/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md +++ b/testIntegration/stagingApis/product/shopper-products/shopper-products-description.md @@ -10,6 +10,8 @@ The client requesting the product information must have access to the Products r For details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides. +You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html) + ## Use Cases ### Populate Product Listing Pages diff --git a/testIntegration/stagingApis/product/shopper-products/shopper-products.raml b/testIntegration/stagingApis/product/shopper-products/shopper-products.raml index ad33e69f..d9dadd36 100644 --- a/testIntegration/stagingApis/product/shopper-products/shopper-products.raml +++ b/testIntegration/stagingApis/product/shopper-products/shopper-products.raml @@ -205,6 +205,19 @@ types: format: double required: false example: 15.99 + PageMetaTag: + description: Document representing a Page Meta Tag object. + properties: + id: + description: The ID of the Page Meta Tag. + type: string + required: false + example: "title" + value: + description: Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID. + type: string + required: false + example: "Buy the Long Sleeve Covered Placket Blouse for USD 61.99." PriceRange: description: Document representing price ranges for a product which happens to be a master product (per Pricebook) properties: @@ -326,6 +339,12 @@ types: type: string required: false example: "Ipod, Music Player" + pageMetaTags: + description: Page Meta tags associated with the given product. + type: array + items: + PageMetaTag + required: false pageTitle: description: The localized product's page title. type: string @@ -878,10 +897,10 @@ types: required: false example: USD expand: - description: The expand parameter. A comma separated list with the allowed values (availability, links, promotions, options, images, prices, variations, recommendations). All expand parameters are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. + description: The expand parameter. A comma separated list with the allowed values (availability, links, promotions, options, images, prices, variations, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** type: array items: - enum: [none,availability,links,promotions,options,images,prices,variations,recommendations] + enum: [none,availability,links,promotions,options,images,prices,variations,recommendations,page_meta_tags] required: false example: [prices,promotions] locale: @@ -943,10 +962,10 @@ types: required: false example: USD expand: - description: The expand parameter. A comma separated list with the allowed values (availability, bundled_products, links, promotions, options, images, prices, variations, set_products, recommendations). All expand parameters are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. + description: The expand parameter. A comma separated list with the allowed values (availability, bundled_products, links, promotions, options, images, prices, variations, set_products, recommendations, page_meta_tags). All expand parameters except page_meta_tags are used for the request when no expand parameter is provided. The value "none" may be used to turn off all expand options. **The `page_meta_tags` expand value is optional and available starting from B2C Commerce version 25.2.** type: array items: - enum: [none,availability,bundled_products,links,promotions,options,images,prices,variations,set_products,recommendations] + enum: [none,availability,bundled_products,links,promotions,options,images,prices,variations,set_products,recommendations,page_meta_tags] required: false example: [prices,promotions] locale: @@ -975,7 +994,7 @@ types: /categories: get: - description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify up to 50 multiple IDs. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. The server only returns online categories. + description: When you use the URL template, the server returns multiple categories (a result object of category documents). You can use this template as a convenient way of obtaining multiple categories in a single request, instead of issuing separate requests for each category. You can specify up to 50 multiple IDs. You must enclose the list of IDs in parentheses. If a category identifier contains parenthesis or the separator sign, you must URL encode the character. displayName: getCategories is: - CommerceCloudStandards.SiteSpecific: @@ -989,7 +1008,7 @@ types: example: "electronics-digital-cameras,electronics-televisions" levels: minimum: 0 - description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. + description: Specifies how many levels of nested subcategories you want the server to return. The default value is 1. Valid values are 0, 1, or 2. Only online subcategories are returned. type: integer required: false format: int32 @@ -1015,7 +1034,7 @@ types: description: |- When you use the URL template below, the server returns a category identified by its ID; by default, the server also returns the first level of subcategories, but you can specify another level by setting the levels - parameter. The server only returns online categories. + parameter. displayName: getCategory is: - CommerceCloudStandards.SiteSpecific: From 404512be9b0909fcf4c00cdd5f34b791dd252ddb Mon Sep 17 00:00:00 2001 From: Alex Vuong Date: Fri, 7 Feb 2025 14:33:14 -0800 Subject: [PATCH 2/4] update api --- .../dataTypes/MRTRules.raml | 1 + apis/cdn/cdn-api-process-apis/exchange.json | 28 +- .../api-standards/1.1.12/api-standards.raml | 39 ++ .../1.1.12/dataTypes/error-response.raml | 45 +++ .../1.1.12/dataTypes/identifers.raml | 12 + .../1.1.12/dataTypes/pagination-types.raml | 25 ++ .../api-standards/1.1.12/dataTypes/uri.raml | 16 + .../api-standards/1.1.12/example.raml | 95 +++++ .../api-standards/1.1.12/exchange.json | 1 + .../1.1.12/securitySchemes/gdot.raml | 58 +++ .../1.1.12/traits/async-created.raml | 14 + .../traits/date-conditional-request.raml | 22 ++ .../traits/etag-conditional-request.raml | 26 ++ .../1.1.12/traits/etag-response.raml | 22 ++ .../1.1.12/traits/offset-paginated.raml | 41 ++ .../private/rate-limited-include-429.raml | 12 + .../private/rate-limited-include-headers.raml | 7 + .../1.1.12/traits/rate-limited-2.raml | 19 + .../1.1.12/traits/rate-limited-3.raml | 23 ++ .../1.1.12/traits/rate-limited-4.raml | 27 ++ .../1.1.12/traits/rate-limited-5.raml | 31 ++ .../1.1.12/traits/rate-limited.raml | 19 + .../1.1.12/traits/sync-created.raml | 18 + .../Documentation/ErrorResponseMapping.raml | 37 ++ .../2.0.1/Documentation/baseUri.raml | 23 ++ .../2.0.1/Examples/BoolFilter.json | 23 ++ .../2.0.1/Examples/BoolQuery.json | 33 ++ .../2.0.1/Examples/BoolQuery.raml | 57 +++ .../2.0.1/Examples/Filter.json | 9 + .../2.0.1/Examples/FilteredQuery.json | 19 + .../2.0.1/Examples/NestedQuery.json | 44 +++ .../Examples/PaginatedSearchResultBase.json | 35 ++ .../2.0.1/Examples/Query.json | 21 + .../2.0.1/Examples/QueryFilter.json | 14 + .../2.0.1/Examples/Range2Filter.json | 7 + .../2.0.1/Examples/RangeFilter.json | 6 + .../2.0.1/Examples/SearchRequestBase.json | 10 + .../Examples/SimpleSearchResultBase.json | 31 ++ .../2.0.1/Examples/TermFilter.json | 7 + .../2.0.1/Examples/TermQuery.json | 9 + .../2.0.1/Examples/TextQuery.json | 6 + .../2.0.1/SecuritySchemes/am-oauth-2.raml | 46 +++ .../SecuritySchemes/shopper-token-taob.raml | 51 +++ .../SecuritySchemes/shopper-token-tsob.raml | 50 +++ .../2.0.1/SecuritySchemes/shopper-token.raml | 50 +++ .../2.0.1/Types/ISO-standards.raml | 85 +++++ .../2.0.1/Types/additional-properties.raml | 24 ++ .../Types/attribute-definition-types.raml | 177 +++++++++ .../2.0.1/Types/error-response.raml | 45 +++ .../2.0.1/Types/pagination-types.raml | 25 ++ .../2.0.1/Types/search-types.raml | 360 ++++++++++++++++++ .../2.0.1/commerce-cloud-standards.raml | 118 ++++++ .../2.0.1/example.raml | 68 ++++ .../2.0.1/exchange.json | 10 + apis/customer/slas-admin-uap/exchange.json | 22 +- .../api-standards/1.1.15/api-standards.raml | 58 +++ .../1.1.15/dataTypes/base-types.raml | 38 ++ .../1.1.15/dataTypes/error-response.raml | 47 +++ .../1.1.15/dataTypes/error-types.raml | 54 +++ .../1.1.15/dataTypes/identifers.raml | 16 + .../1.1.15/dataTypes/pagination-types.raml | 25 ++ .../api-standards/1.1.15/dataTypes/uri.raml | 16 + .../api-standards/1.1.15/exchange.json | 1 + .../snippets/aip180-warn-299-example.raml | 2 + .../snippets/aip193-errors-403-forbidden.raml | 2 + .../1.1.15/traits/async-created.raml | 14 + .../traits/date-conditional-request.raml | 22 ++ .../traits/etag-conditional-request.raml | 26 ++ .../1.1.15/traits/etag-response.raml | 22 ++ .../1.1.15/traits/offset-paginated.raml | 41 ++ .../private/rate-limited-include-429.raml | 12 + .../private/rate-limited-include-headers.raml | 7 + .../1.1.15/traits/rangeFilter.raml | 22 ++ .../1.1.15/traits/rate-limited-2.raml | 26 ++ .../1.1.15/traits/rate-limited-3.raml | 31 ++ .../1.1.15/traits/rate-limited-4.raml | 35 ++ .../1.1.15/traits/rate-limited-5.raml | 39 ++ .../1.1.15/traits/rate-limited.raml | 23 ++ .../1.1.15/traits/sync-created.raml | 18 + .../examples/jwks-get-response.json | 30 ++ .../slas-shopper-login-uap/exchange.json | 28 +- .../api-standards/1.1.15/api-standards.raml | 58 +++ .../1.1.15/dataTypes/base-types.raml | 38 ++ .../1.1.15/dataTypes/error-response.raml | 47 +++ .../1.1.15/dataTypes/error-types.raml | 54 +++ .../1.1.15/dataTypes/identifers.raml | 16 + .../1.1.15/dataTypes/pagination-types.raml | 25 ++ .../api-standards/1.1.15/dataTypes/uri.raml | 16 + .../api-standards/1.1.15/exchange.json | 1 + .../snippets/aip180-warn-299-example.raml | 2 + .../snippets/aip193-errors-403-forbidden.raml | 2 + .../1.1.15/traits/async-created.raml | 14 + .../traits/date-conditional-request.raml | 22 ++ .../traits/etag-conditional-request.raml | 26 ++ .../1.1.15/traits/etag-response.raml | 22 ++ .../1.1.15/traits/offset-paginated.raml | 41 ++ .../private/rate-limited-include-429.raml | 12 + .../private/rate-limited-include-headers.raml | 7 + .../1.1.15/traits/rangeFilter.raml | 22 ++ .../1.1.15/traits/rate-limited-2.raml | 26 ++ .../1.1.15/traits/rate-limited-3.raml | 31 ++ .../1.1.15/traits/rate-limited-4.raml | 35 ++ .../1.1.15/traits/rate-limited-5.raml | 39 ++ .../1.1.15/traits/rate-limited.raml | 23 ++ .../1.1.15/traits/sync-created.raml | 18 + .../Documentation/ErrorResponseMapping.raml | 37 ++ .../2.0.1/Documentation/baseUri.raml | 23 ++ .../2.0.1/Examples/BoolFilter.json | 23 ++ .../2.0.1/Examples/BoolQuery.json | 33 ++ .../2.0.1/Examples/BoolQuery.raml | 57 +++ .../2.0.1/Examples/Filter.json | 9 + .../2.0.1/Examples/FilteredQuery.json | 19 + .../2.0.1/Examples/NestedQuery.json | 44 +++ .../Examples/PaginatedSearchResultBase.json | 35 ++ .../2.0.1/Examples/Query.json | 21 + .../2.0.1/Examples/QueryFilter.json | 14 + .../2.0.1/Examples/Range2Filter.json | 7 + .../2.0.1/Examples/RangeFilter.json | 6 + .../2.0.1/Examples/SearchRequestBase.json | 10 + .../Examples/SimpleSearchResultBase.json | 31 ++ .../2.0.1/Examples/TermFilter.json | 7 + .../2.0.1/Examples/TermQuery.json | 9 + .../2.0.1/Examples/TextQuery.json | 6 + .../2.0.1/SecuritySchemes/am-oauth-2.raml | 46 +++ .../SecuritySchemes/shopper-token-taob.raml | 51 +++ .../SecuritySchemes/shopper-token-tsob.raml | 50 +++ .../2.0.1/SecuritySchemes/shopper-token.raml | 50 +++ .../2.0.1/Types/ISO-standards.raml | 85 +++++ .../2.0.1/Types/additional-properties.raml | 24 ++ .../Types/attribute-definition-types.raml | 177 +++++++++ .../2.0.1/Types/error-response.raml | 45 +++ .../2.0.1/Types/pagination-types.raml | 25 ++ .../2.0.1/Types/search-types.raml | 360 ++++++++++++++++++ .../2.0.1/commerce-cloud-standards.raml | 118 ++++++ .../2.0.1/example.raml | 68 ++++ .../2.0.1/exchange.json | 10 + .../slas-shopper-login-uap/shopper-login.raml | 6 +- 137 files changed, 4855 insertions(+), 26 deletions(-) create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml create mode 100644 apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml create mode 100644 apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml create mode 100644 apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml create mode 100644 apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml index eeee65ca..1aeb9b43 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml @@ -14,6 +14,7 @@ properties: description: The description of the rule. type: string example: Phased rollout rule for dev-customer.salesforce.com + required: false lastUpdated: description: Date when the rule was last updated. type: datetime diff --git a/apis/cdn/cdn-api-process-apis/exchange.json b/apis/cdn/cdn-api-process-apis/exchange.json index 931175bf..0a897818 100644 --- a/apis/cdn/cdn-api-process-apis/exchange.json +++ b/apis/cdn/cdn-api-process-apis/exchange.json @@ -1,12 +1,24 @@ { - "main": "cdnapi-process-api.raml", - "name": "CDN API - Process APIs", - "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "cdn-api-process-apis", + "dependencies": [ + { + "version": "2.0.1", + "assetId": "commerce-cloud-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + }, + { + "version": "1.1.12", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + } + ], "version": "1.0.36", - "apiVersion": "v1", + "apiVersion": "1.0.36", "descriptorVersion": "1.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + "classifier": "raml", + "main": "cdnapi-process-api.raml", + "assetId": "cdn-api-process-apis", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "CDN API - Process APIs" } \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml new file mode 100644 index 00000000..3fa2f65e --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml @@ -0,0 +1,39 @@ +#%RAML 1.0 Library + +usage: | + REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. + + These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. + + In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. + + An example RAML is provided in `/example.raml`. + +securitySchemes: + GDoT: !include securitySchemes/gdot.raml + +types: + ErrorResponse: !include dataTypes/error-response.raml + Offset: Pagination.offset + Limit: Pagination.limit + Total: Pagination.total + Uuid: Identifiers.UniversallyUniqueIdentifier + AbsoluteUrl: Uri.absoluteUrl + +uses: + Pagination: dataTypes/pagination-types.raml + Identifiers: dataTypes/identifers.raml + Uri: dataTypes/uri.raml + +traits: + RateLimited: !include traits/rate-limited.raml + RateLimited2: !include traits/rate-limited-2.raml + RateLimited3: !include traits/rate-limited-3.raml + RateLimited4: !include traits/rate-limited-4.raml + RateLimited5: !include traits/rate-limited-5.raml + SyncCreated: !include traits/sync-created.raml + AsyncCreated: !include traits/async-created.raml + DateConditionalRequest: !include traits/date-conditional-request.raml + EtagConditionalRequest: !include traits/etag-conditional-request.raml + EtagResponse: !include traits/etag-response.raml + OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml new file mode 100644 index 00000000..2e59aeff --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml @@ -0,0 +1,45 @@ +#%RAML 1.0 DataType + +# Defines a "problem detail" as a way to carry machine- +# readable details of errors in a HTTP response to avoid the need to +# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml new file mode 100644 index 00000000..9270d9e3 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 Library +usage: Library for types that can act as well described identifers. + +types: + UniversallyUniqueIdentifier: + displayName: Uuid + description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). + type: string + pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + example: 5cb34ffb-2543-4052-aea6-226749e4e478 + maxLength: 36 + minLength: 36 \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml new file mode 100644 index 00000000..9ee37c2c --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml @@ -0,0 +1,25 @@ +#%RAML 1.0 Library + +# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). +# +# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. + +types: + offset: + description: Used to retrieve the results based on a particular resource offset. + type: integer + format: int64 + default: 0 + minimum: 0 + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + format: int32 + default: 10 + minimum: 1 + total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + default: 0 + minimum: 0 \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml new file mode 100644 index 00000000..41c518ff --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 Library +usage: + URL types with regexes to validate them +types: + absoluteUrl: + description: An absolute URL, beginning with a protocol + type: string + pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ + examples: + BasicUrl: https://www.salesforce.com + UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en +#To be determined if we will support relative URL +# relativeUrl: +# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` +# type: string +# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml new file mode 100644 index 00000000..27fa085f --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml @@ -0,0 +1,95 @@ +#%RAML 1.0 +version: v1 +title: restful-conventions +baseUri: http://politeness.local/salutationAPI +securedBy: conventions.GDoT +protocols: + - HTTPS +mediaType: + - application/json +description: A sample API demonstrating how to use the various standards available. + +uses: + conventions: api-standards.raml + +types: + salutation: + type: object + properties: + language: string + word: string + examples: + spanish: + language: es + word: Hola + italian: + language: it + word: Ciao + english: + language: en + word: Hello + german: + language: de + word: Hallo + +/salutations: + get: + description: Get all salutations + is: + - conventions.RateLimited: + responseStatus: 200 + - conventions.OffsetPaginated: + defaultSize: 50 + maxLimit: 50 + responses: + 200: + body: + application/json: + type: salutation[] + + post: + description: Asynchronously create an annotation allowing the server to create an ID for it + is: + - conventions.RateLimited: + responseStatus: 202 + - conventions.AsyncCreated + - conventions.EtagResponse: + responseStatus: 202 + body: + application/json: + type: salutation + responses: + 202: + 405: + body: + type: conventions.AbsoluteUrl + + /{id}: + put: + + is: + - conventions.RateLimited2: + responseStatus: 201 + responseStatus2: 404 + - conventions.EtagResponse: + responseStatus: 201 + - conventions.SyncCreated: + responseType: string + responses: + 201: + 404: + + get: + is: + - conventions.DateConditionalRequest: + responseStatus: 202 + - conventions.EtagConditionalRequest: + responseStatus: 202 + - conventions.EtagResponse: + responseStatus: 202 + - conventions.RateLimited: + responseStatus: 202 + body: + application/json: + type: salutation + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json new file mode 100644 index 00000000..75652f8c --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json @@ -0,0 +1 @@ +{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml new file mode 100644 index 00000000..b616b750 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml @@ -0,0 +1,58 @@ +#%RAML 1.0 SecurityScheme + +description: | + GDoT bearer token Authentication. Users need to get the token following the GDoT process. +type: x-custom +displayName: GDoT + +describedBy: + headers: + Authorization: + description: | + Bearer token + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your token is invalid and could not be identified as a user. + headers: + X-RateLimit-Limit: + description: The maximum number of requests permitted per minute. + X-RateLimit-Remaining: + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + description: The time at which the current rate limit window resets in UTC epoch seconds. + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + + body: + application/json: + type: !include ../dataTypes/error-response.raml + example: + type: "http://to-be-defined.com/errors/unauthorized" + title: Unauthorized + detail: Your token is invalid and could not be identified as a user. + + 403: + description: Forbidden. Your token is valid but you have no permissions to access the resource. + headers: + X-RateLimit-Limit: + description: The maximum number of requests permitted per minute. + X-RateLimit-Remaining: + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + description: The time at which the current rate limit window resets in UTC epoch seconds. + body: + application/json: + type: !include ../dataTypes/error-response.raml + example: + type: "http://to-be-defined.com/errors/forbidden" + title: Forbidden + detail: Your token is valid but you have no permissions to access the resource. + + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml new file mode 100644 index 00000000..f95d7101 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that synchronously create resources. + +responses: + 202: + description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. + headers: + Location: + description: URL where the new <> can be found + examples: + deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml new file mode 100644 index 00000000..a7e0a7ac --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to endpoints that support date based conditional requests as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +headers: + If-Modified-Since: + description: The server will return the requested resource only if it has been last modified after the given date + required: false + examples: + 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT + +responses: + <>: + description: The requested resource + 304: + description: The resource has not been modified since the requested conditional date diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml new file mode 100644 index 00000000..e55c4bbc --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to endpoints that support etag based conditional requests etags as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +headers: + If-None-Match: + description: ETag that is required in the cache + required: false + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + +responses: + <>: + headers: + ETag: + description: The current value of the entity tag for the requested variant + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml new file mode 100644 index 00000000..7cf1d7ed --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to define the **response** on endpoints that use etags as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + To describe the request part consider using `etag-conditional-request.raml`, the reason + this is not described in that trait is because this could be used separatelly in endpoints + that do not accept an etag-conditional-request but yet will return an etag, for instance: + a synchronous PUT. + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +responses: + <>: + headers: + ETag: + description: The current value of the entity tag for the requested variant + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml new file mode 100644 index 00000000..b4eae9c4 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml @@ -0,0 +1,41 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use offset and limit pagination controls as + described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `maxLimit` (integer): the max value for the limit + - `defaultSize` (integer): the default value for the limit + +uses: + pagination: ../dataTypes/pagination-types.raml + +queryParameters: + offset: + required: false + type: pagination.offset + limit: + required: false + description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. + type: pagination.limit + maximum: <> + default: <> + +responses: + 200: + headers: + SFDC-Pagination-Offset: + type: pagination.offset + description: The starting offset returned. + SFDC-Pagination-Limit: + type: pagination.limit + maximum: <> + default: <> + description: The limit requested. + SFDC-Pagination-Total-Count?: + type: pagination.total + SFDC-Pagination-Result-Count?: + type: number + format: int64 + description: The number of results included in the response. + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml new file mode 100644 index 00000000..13dea6d9 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml @@ -0,0 +1,12 @@ +description: The user has sent too many requests in a given amount of time ("rate limiting") +headers: + Retry-After: + examples: + after-seconds: "120" +body: + application/problem+json: + type: !include ../../dataTypes/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" + title: Too Many Requests + detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml new file mode 100644 index 00000000..c9c471ae --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml @@ -0,0 +1,7 @@ +headers: + X-RateLimit-Limit: + description: The maximum number of requests permitted per minute. + X-RateLimit-Remaining: + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml new file mode 100644 index 00000000..f00d58c7 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml @@ -0,0 +1,19 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml new file mode 100644 index 00000000..7c1ea471 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml @@ -0,0 +1,23 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml new file mode 100644 index 00000000..7b538e9a --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml @@ -0,0 +1,27 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + - `responseStatus4` (integer): | + The status #4 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml new file mode 100644 index 00000000..493e05de --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + - `responseStatus4` (integer): | + The status #4 this endpoint will return. + - `responseStatus5` (integer): | + The status #5 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml new file mode 100644 index 00000000..3408cc87 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml @@ -0,0 +1,19 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. + For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. If there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +responses: + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml + diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml new file mode 100644 index 00000000..1940730f --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml @@ -0,0 +1,18 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that synchronously create resources. + Parameters: + - `responseType` (type): the RAML type of the response + +responses: + 201: + description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. + headers: + Location: + description: URL where the new <> can be found + examples: + deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 + body: + application/json: + type: <> diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml new file mode 100644 index 00000000..d42c875f --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml @@ -0,0 +1,37 @@ +#%RAML 1.0 DocumentationItem +title: Error Response Mapping from OCAPI to Mulesoft + +content: |- + + # NOTE: this documentation does not belong here any may be moved in the future. + + - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. + - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. + - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages + - Content-Type: `application/problem+json` + - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. + - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. + - `detail`: the content of fault.message + - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. + + ## Example Mapping: + + ### OCAPI Fault Response + { + "_v" : "20.2", + "fault": { + "arguments": { + "target_cartridge": "core" + }, + "type": "InvalidOperationException", + "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." + } + } + + ### Mapped ErrorResponse + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", + "title": "Invalid Operation", + "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", + "targetCartridge": "core" + } diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml new file mode 100644 index 00000000..d2d991d0 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml @@ -0,0 +1,23 @@ +#%RAML 1.0 DocumentationItem +title: baseUri Standards +content: | + + # NOTE: this is internal documentation. + + The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: + + baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} + version: v1 + baseUriParameters: + shortCode: + description: A region-specific merchant identifier. + example: 0dnz6oep + pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ + + Of note: + - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl + - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case + - Api-family is also known as bounded context + - Api-name is also known as root aggregate + - the only baseUriParameter that will change between calls is `shortCode`. + - `version` is special and will use the version of the API. diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json new file mode 100644 index 00000000..3c0eafb5 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json @@ -0,0 +1,23 @@ +{ + "operator": "and", + "filters": [ + { + "termFilter": { + "field": "id", + "operator": "is", + "values": [ + "myId" + ] + } + }, + { + "termFilter": { + "field": "couponId", + "operator": "is", + "values": [ + "couponOne" + ] + } + } + ] +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json new file mode 100644 index 00000000..a8e49428 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json @@ -0,0 +1,33 @@ +{ + "must": [ + { + "textQuery": { + "fields": [ + "couponId" + ], + "searchPhrase": "DEAL" + } + }, + { + "textQuery": { + "fields": [ + "description" + ], + "searchPhrase": "Big bargain deal" + } + } + ], + "mustNot": [ + { + "termQuery": { + "fields": [ + "enabled" + ], + "operator": "is", + "values": [ + false + ] + } + } + ] +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml new file mode 100644 index 00000000..5ae2189b --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml @@ -0,0 +1,57 @@ +#%RAML 1.0 NamedExample +MultipleOperatorExample: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + should: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - couponId + - description + searchPhrase: sale + must_not: + - textQuery: + fields: + - description + searchPhrase: Big bargain +AndOperatorExample: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - termQuery: + fields: + - enabled + operator: is + values: + - true +OrOperatorExample: + should: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - couponId + - description + searchPhrase: sale +NotOperatorExample: + must_not: + - textQuery: + fields: + - description + searchPhrase: Big bargain + - termQuery: + fields: + - enabled + operator: is + values: + - false \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json new file mode 100644 index 00000000..e8b22fe6 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json @@ -0,0 +1,9 @@ +{ + "termFilter": { + "field": "enabled", + "operator": "is", + "values": [ + false + ] + } +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json new file mode 100644 index 00000000..59688122 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json @@ -0,0 +1,19 @@ +{ + "query": { + "textQuery": { + "fields": [ + "couponId" + ], + "searchPhrase": "disabled" + } + }, + "filter": { + "termFilter": { + "field": "enabled", + "operator": "is", + "values": [ + false + ] + } + } +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json new file mode 100644 index 00000000..bbc7f39e --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json @@ -0,0 +1,44 @@ +{ + "path": "order.shippingAddresses", + "query": { + "boolQuery": { + "must": [ + { + "boolQuery": { + "must": [ + { + "termQuery": { + "fields": [ + "order.shippingAddresses.firstName" + ], + "operator": "is", + "values": [ + "John" + ] + } + } + ] + } + }, + { + "boolQuery": { + "must": [ + { + "termQuery": { + "fields": [ + "order.shippingAddresses.lastName" + ], + "operator": "is", + "values": [ + "Doe" + ] + } + } + ] + } + } + ] + } + }, + "scoreMode": "avg" +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json new file mode 100644 index 00000000..9d0f4db0 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json @@ -0,0 +1,35 @@ +{ + "limit" : 1, + "hits" : [ + { + "couponId": "MyCoupon", + "creationDate": "2019-10-20T12:00:00Z", + "description": "This coupon is used to give 10% off stuff.", + "enabled": false, + "exportedCodeCount": 0, + "lastModified": "2019-10-30T04:23:59Z", + "redemptionCount": 3, + "redemptionLimits": { + "limitPerCode": 1, + "limitPerCustomer": 1, + "limitPerTimeFrame": { + "limit": 2, + "redemptionTimeFrame": 24 + } + }, + "singleCode": "MyCode", + "systemCodesConfig": { + "codePrefix": "SG", + "numberOfCodes": 500000 + }, + "totalCodesCount": 50, + "type": "single_code" + } + ], + "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, + "sorts" : [ + { "field": "couponId", "sortOrder": "desc" } + ], + "offset" : 2, + "total" : 8 +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json new file mode 100644 index 00000000..8057c0f9 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json @@ -0,0 +1,21 @@ +{ + "filteredQuery": { + "query": { + "textQuery": { + "fields": [ + "couponId" + ], + "searchPhrase": "disabled" + } + }, + "filter": { + "termFilter": { + "field": "enabled", + "operator": "is", + "values": [ + false + ] + } + } + } +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json new file mode 100644 index 00000000..28785856 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json @@ -0,0 +1,14 @@ +{ + "query": { + "termQuery": { + "fields": [ + "enabled", + "active" + ], + "operator": "is", + "values": [ + false + ] + } + } +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json new file mode 100644 index 00000000..e351bb9f --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json @@ -0,0 +1,7 @@ +{ + "fromField": "validFrom", + "toField": "validTo", + "filterMode": "overlap", + "fromValue": "2007-01-01T00:00:00.000Z", + "toValue": "2017-01-01T00:00:00.000Z" +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json new file mode 100644 index 00000000..033e34cb --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json @@ -0,0 +1,6 @@ +{ + "field": "redemptionCount", + "from": 0, + "to": 10, + "fromInclusive": false +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json new file mode 100644 index 00000000..a0f8aa8d --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json @@ -0,0 +1,10 @@ +{ + "limit" : 4, + "query" : { + "textQuery": { + "fields": ["id", "description"], + "searchPhrase": "campaign" + } + }, + "offset" : 2 +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json new file mode 100644 index 00000000..4aa969bc --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json @@ -0,0 +1,31 @@ +{ + "limit" : 1, + "hits" : [ + { + "couponId": "MyCoupon", + "creationDate": "2019-10-20T12:00:00Z", + "description": "This coupon is used to give 10% off stuff.", + "enabled": false, + "exportedCodeCount": 0, + "lastModified": "2019-10-30T04:23:59Z", + "redemptionCount": 3, + "redemptionLimits": { + "limitPerCode": 1, + "limitPerCustomer": 1, + "limitPerTimeFrame": { + "limit": 2, + "redemptionTimeFrame": 24 + } + }, + "singleCode": "MyCode", + "systemCodesConfig": { + "codePrefix": "SG", + "numberOfCodes": 500000 + }, + "totalCodesCount": 50, + "type": "single_code" + } + ], + "offset" : 2, + "total" : 8 +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json new file mode 100644 index 00000000..56a40325 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json @@ -0,0 +1,7 @@ +{ + "field": "id", + "operator": "is", + "values": [ + "myId" + ] +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json new file mode 100644 index 00000000..419f69c5 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json @@ -0,0 +1,9 @@ +{ + "fields": [ + "enabled" + ], + "operator": "is", + "values": [ + false + ] +} \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json new file mode 100644 index 00000000..357e1d43 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json @@ -0,0 +1,6 @@ +{ + "fields": [ + "couponId" + ], + "searchPhrase": "limit" +} diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml new file mode 100644 index 00000000..2a4c8589 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml @@ -0,0 +1,46 @@ +#%RAML 1.0 SecurityScheme + +description: | + AccountManager OAuth 2.0 bearer token Authentication. +type: OAuth 2.0 + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize + accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token + authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml new file mode 100644 index 00000000..e6754c16 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml @@ -0,0 +1,51 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. + A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. + To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). + For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). + +type: OAuth 2.0 +displayName: ShopperTokenTaob + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + authorizationGrants: [client_credentials] + \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml new file mode 100644 index 00000000..a8248865 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. + A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. + To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). + +type: OAuth 2.0 +displayName: ShopperTokenTsob + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + authorizationGrants: [client_credentials] + \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml new file mode 100644 index 00000000..f211a3c0 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). + A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. + The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. + +type: OAuth 2.0 +displayName: ShopperToken + +uses: + +describedBy: + headers: + Authorization: + description: | + Bearer token + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid or expired and can’t be used to identify a user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml new file mode 100644 index 00000000..cb15c1c0 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml @@ -0,0 +1,85 @@ +#%RAML 1.0 Library +usage: |- + This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. + +types: + ISOCurrency: + description: |- + A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + type: string + pattern: ^[A-Z][A-Z][A-Z]$ + example: + USD + NoValue: + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + type: string + example: N/A + default: N/A + enum: + - N/A + Currency: + description: |- + A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. +# type: ISOCurrency | NoValue + type: string + example: + USD + MoneyMnemonic: + description: |- + A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic?: Currency + value?: + description: The amount of money for the given currency. + type: number + format: double + example: 1234.56 + Country: + description: |- + A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + type: string + pattern: ^[A-Z][A-Z]$ + example: + US + Language: + description: |- + A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + type: string + pattern: ^[a-z][a-z]$ + example: + en + LanguageCountry: + description: |- + A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + type: string + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + example: en-US + Locale: + description: |- + A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. +# type: LanguageCountry | Language | DefaultFallback + type: string + DefaultFallback: + description: A specialized value indicating the system default values for locales. + type: string + example: default + default: default + enum: + - default + L10nString: + description: |- + A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. + + Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. + type: object + properties: + /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: + type: string + required: false + example: + default: The quick brown fox jumps over the lazy dog. + en: The quick brown fox jumps over the lazy dog. + en-US: The quick brown fox jumps over the lazy dog. + en-CA: The quick brown fox jumps over the lazy dog. + es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml new file mode 100644 index 00000000..1460ec83 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml @@ -0,0 +1,24 @@ +#%RAML 1.0 Library +usage: |- + Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. +types: + NoPropertiesAllowed: + type: object + additionalProperties: false + description: |- + This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. + SpecifiedPropertiesAllowed: + type: object + description: |- + This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. + + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + additionalProperties: true + properties: + /^c_.+$/?: + displayName: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: + c_faxNumber + type: any \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml new file mode 100644 index 00000000..e1b98575 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml @@ -0,0 +1,177 @@ +#%RAML 1.0 Library +usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. + +uses: + AdditionalProperties: additional-properties.raml + ISO: ISO-standards.raml + +types: + AttributeDefinition: + description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. + type: + AdditionalProperties.NoPropertiesAllowed + properties: + defaultValue: + description: 'The optional default value of this property.' + type: PropertyValueDefinition + required: false + id: + description: The unique identifier for the property. + type: string + example: color + required: false + pattern: ^[A-Za-z0-9]+$ + name: + description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. + type: ISO.L10nString + properties: + example: + default: color + de: fabre + description: + description: A localized description of the property, describing the property in detail. + type: ISO.L10nString + example: + default: The color of the product. + de: Die Farbe des Produkts. + key: + description: A flag indicating if this property is part of the primary unique identifier of this type. + type: boolean + required: false + default: false + example: false + localizable: + description: A flag indicating if this property supports localization. + type: boolean + required: false + default: false + example: false + mandatory: + description: A flag indicating if this property must be passed when creating or updating the type. + type: boolean + required: false + default: false + example: false + max: + description: If numeric, the maximum possible value for this property. + type: number + format: double + required: false + example: 100 + minLength: + description: The minimum length of a value required when passing this property. + type: integer + format: int32 + required: false + example: 5 + min: + description: If numeric, the minimum possible value for this property. + type: number + format: double + required: false + example: 10 + multiValueType: + description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. + type: boolean + required: false + default: false + example: false + regularExpression: + description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. + type: string + required: false + example: ".*[a-zA-Z]{2,}+.*" + scale: + description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. + type: integer + format: int32 + required: false + default: 2 + example: 2 + searchable: + description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. + type: boolean + required: false + default: false + example: true + siteSpecific: + description: A flag indicating if this property supports different values for each storefront. + type: boolean + required: false + default: false + example: false + system: + description: A flag indicating if this property is provided by the system. + type: boolean + required: false + default: false + example: true + unit: + description: If numeric, identifes what unit of measure the value of this property is measured by. + type: ISO.L10nString + required: false + example: + default: inches + de: Zoll + possibleValues: + description: A set of values that are possible for this property. + type: PropertyValueDefinition[] + required: false + type: + description: The data type of this property. + type: string + enum: + - string + - int + - double + - text + - html + - date + - image + - boolean + - money + - quantity + - datetime + - email + - password + - enum_of_string + - enum_of_int + example: "string" + visible: + description: A flag indicating that this property is visible. + type: boolean + required: false + default: true + example: true + PropertyValueDefinition: + description: Represents an actual or possible value for a property + type: + AdditionalProperties.NoPropertiesAllowed + properties: + description: + description: A description of the property value. + type: ISO.L10nString + example: + default: Rose Red + de: Rosenrot + displayValue: + description: |- + A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. + type: ISO.L10nString + example: + default: Red + de: Rot + id: + description: The unique id of the property value. + type: string + example: "1" + position: + description: The position of the property value within the collection of possible property values. + type: number + format: double + required: false + example: 0.0 + value: + description: The value of the property. + type: string + example: "1" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml new file mode 100644 index 00000000..2e59aeff --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml @@ -0,0 +1,45 @@ +#%RAML 1.0 DataType + +# Defines a "problem detail" as a way to carry machine- +# readable details of errors in a HTTP response to avoid the need to +# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml new file mode 100644 index 00000000..cd64852a --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml @@ -0,0 +1,25 @@ +#%RAML 1.0 Library + +# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). +# +# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. + +types: + Offset: + description: Used to retrieve the results based on a particular resource offset. + type: integer + format: int64 + default: 0 + minimum: 0 + Limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + format: int32 + default: 10 + minimum: 1 + Total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + default: 0 + minimum: 0 \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml new file mode 100644 index 00000000..93accaf6 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml @@ -0,0 +1,360 @@ +#%RAML 1.0 Library +usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. + +uses: + Pagination: pagination-types.raml + +types: + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + type: object + example: !include ../Examples/BoolFilter.json + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: Filter[] + required: false + operator: + description: The logical operator that is used to combine the filters. + type: string + enum: + - and + - or + - not + BoolQuery: + description: | + A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: + + - `must`, which combines as an `AND` operator. + - `should`, which combines as an `OR` operator. + - `must_not`, which combines as a `NOT` operator. + + If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: + + (must-1 AND must-1 AND ...) + AND (should-1 OR should-2 OR ...) + AND NOT (must_not-1 OR must_not-2 OR ...) + + type: object + examples: !include ../Examples/BoolQuery.raml + properties: + must?: + description: List of queries to be evaluated as an `AND` operator. + type: Query[] + mustNot?: + description: List of queries to be evaluated as a `NOT` operator. + type: Query[] + should?: + description: List of queries to be evaluated as an `OR` operator. + type: Query[] + Filter: + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + type: object + example: !include ../Examples/Filter.json + minProperties: 1 + maxProperties: 1 + properties: + boolFilter?: BoolFilter + queryFilter?: QueryFilter + range2Filter?: Range2Filter + rangeFilter?: RangeFilter + termFilter?: TermFilter + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + type: object + example: !include ../Examples/FilteredQuery.json + properties: + filter: + description: The possibly complex filter object. + type: Filter + query: + description: The query object. + type: Query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: | + Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. + + A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. + type: object + example: !include ../Examples/NestedQuery.json + properties: + path: + description: The path to the nested document. + type: string + query: + description: The query to run on the nested document. + type: Query + scoreMode: + description: |- + Indicates how scores for matching child objects affect the root parent document’s relevance score. + type: string + enum: + - avg + - total + - max + - none + required: false + Query: + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + type: object + maxProperties: 1 + minProperties: 1 + example: !include ../Examples/Query.json + properties: + boolQuery?: BoolQuery + filteredQuery?: FilteredQuery + matchAllQuery?: MatchAllQuery + nestedQuery?: NestedQuery + termQuery?: TermQuery + textQuery?: TextQuery + QueryFilter: + description: |- + Wraps any query and allows it to be used as a filter. + type: object + example: !include ../Examples/QueryFilter.json + properties: + query: + description: The query to use as a filter. + type: Query + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + + type: object + example: !include ../Examples/Range2Filter.json + properties: + filterMode: + description: 'Compare mode: overlap, containing, or contained.' + type: string + enum: + - overlap + - containing + - contained + default: overlap + required: false + fromField: + description: The field name of the field that starts the first range. + type: string + fromInclusive: + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + required: false + default: true + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + type: any + required: false + toField: + description: The field name of the field that ends the first range. + type: string + toInclusive: + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + required: false + default: true + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + type: any + required: false + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + example: !include ../Examples/RangeFilter.json + properties: + field: + description: The search field. + type: string + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + type: any + required: false + fromInclusive: + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + required: false + default: true + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + type: any + required: false + toInclusive: + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: false + default: true + SearchRequestBase: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + example: !include ../Examples/SearchRequestBase.json + properties: + limit?: + type: Pagination.Limit + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. + query: + description: | + The search query. See the description of the search endpoint for a list of queryable attributes. + type: Query + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: Sort[] + required: false + offset?: Pagination.Offset + PaginatedSearchResultBase: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + type: SimpleSearchResultBase + example: !include ../Examples/PaginatedSearchResultBase.json + properties: + query: + description: The query that is passed into the search. + type: Query + sorts: + description: The sorting that was applied to the result. + type: Sort[] + required: false + SimpleSearchResultBase: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + type: object + example: !include ../Examples/SimpleSearchResultBase.json + properties: + limit: + type: Pagination.Limit + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. + hits: + description: The sorted array of search hits. Can be empty. + type: object[] + required: false + offset: Pagination.Offset + total: Pagination.Total + + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + type: object + example: { "field": "couponId", "sortOrder": "desc" } + properties: + field: + description: The name of the field to sort on. + type: string + sortOrder: + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + type: string + default: asc + enum: + - asc + - desc + required: false + TermFilter: + description: |- + Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + type: object + example: !include ../Examples/TermFilter.json + properties: + field: + description: The filter field. + type: string + operator: + description: The operator used to compare the field's values with the given values. + type: string + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + values: + description: The filter values. + type: any[] + required: false + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + example: !include ../Examples/TermQuery.json + properties: + fields: + description: The document fields that the values are matched against, combined with the operator. + minItems: 1 + type: string[] + operator: + description: Returns the operator to use for the term query. + type: string + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + values: + description: The values that the fields are compared against, combined with the operator. + type: any[] + required: false + TextQuery: + description: |- + A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + type: object + example: !include ../Examples/TextQuery.json + properties: + fields: + description: The document fields that the search phrase matches against. + minItems: 1 + type: string[] + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml new file mode 100644 index 00000000..90ec2324 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml @@ -0,0 +1,118 @@ +#%RAML 1.0 Library +usage: |- + + The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. + + The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. + + # Security Schemes + + This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. + + Security schemes included in Commerce Cloud Standards: + + - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. + - `ShopperToken`: for endpoints authenticated via Shopper JWTs. + + ## Types + + This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. + + ## Search Specific + + - `SearchRequest`: a type commonly used for searching that takes a query in a body. + - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. + - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. + + ## Standards Followed + + - `CurrencyCode`: ISO 4217 compliant currency code. + - `Money`: A combination of a CurrencyCode and a number. + - `LanguageCode`: ISO 639-1 compliant language code. + - `CountryCode`: ISO 3166-1 compliant country code. + - `LocaleCode`: A combination of LanguageCode and CountryCode. + + ## Resource Types + + This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. + + ## Traits + + This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `Selectable`: adds a query parameter called `select` of type `Select` to the request. + - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. + - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. + - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. + +uses: + AdditionalProperties: Types/additional-properties.raml + Search: Types/search-types.raml + Pagination: Types/pagination-types.raml + ISO: Types/ISO-standards.raml + AttributeDefinitions: Types/attribute-definition-types.raml + +securitySchemes: + AmOAuth2: !include SecuritySchemes/am-oauth-2.raml + ShopperToken: !include SecuritySchemes/shopper-token.raml + ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml + ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml + +types: + SiteId: + description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: + SiteGenesis + type: string + minLength: 1 + Select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: + (name,id,variationAttributes.(**)) + type: string + minLength: 1 + SearchRequest: Search.SearchRequestBase + PaginatedSearchResult: Search.PaginatedSearchResultBase + SimpleSearchResult: Search.SimpleSearchResultBase + + CurrencyCode: ISO.Currency + Money: ISO.MoneyMnemonic + LanguageCode: ISO.Language + CountryCode: ISO.Country + LocaleCode: ISO.Locale + LocalizedString: ISO.L10nString + + PropertyDefinition: AttributeDefinitions.AttributeDefinition + + ClosedObject: AdditionalProperties.NoPropertiesAllowed + OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed + +resourceTypes: + Organization: + uriParameters: + organizationId: + description: An identifier for the organization the request is being made by. + example: + f_ecom_zzxy_prd + +traits: + QueryParamsLimit: + usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. + queryParameters: + limit?: Pagination.Limit + QueryParamsOffset: + usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. + queryParameters: + offset?: Pagination.Offset + SiteSpecific: + usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter + queryParameters: + siteId: SiteId + Selectable: + usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. + queryParameters: + select?: Select \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml new file mode 100644 index 00000000..0a12252c --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml @@ -0,0 +1,68 @@ +#%RAML 1.0 +title: Example API +version: v1 +mediaType: + - application/json +protocols: + - HTTPS +description: An example file demonstrating the usage of the commerce cloud standards library. + +# Copied from the documentation section. +baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} +baseUriParameters: + shortCode: + description: A region-specific merchant identifier. + example: 0dnz6oep + pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ + +uses: + CommerceCloudStandards: commerce-cloud-standards.raml + tmp: Types/search-types.raml + +/organizations/{organizationId}/foo: + type: CommerceCloudStandards.Organization + description: An example Endpoint + get: + displayName: getFoo + description: Example get Method + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [example]} + + is: + - CommerceCloudStandards.QueryParamsOffset: + - CommerceCloudStandards.QueryParamsLimit: + - CommerceCloudStandards.SiteSpecific: + objectType: SiteId + objectId: SiteGenesis + - CommerceCloudStandards.Selectable + responses: + 200: + description: an example response + body: + type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money + +/organizations/{organizationId}/bar: + type: CommerceCloudStandards.Organization + description: Another example endpoint + get: + displayName: getBar + description: |- + Another example get method + + ## Scopes + + This endpoint requires that you have access to the following scopes: shopper-example + securedBy: + - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} + + is: + - CommerceCloudStandards.SiteSpecific: + objectType: SiteId + objectId: SiteGenesis + body: + type: CommerceCloudStandards.SearchRequest + responses: + 200: + description: another example response + body: + type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json new file mode 100644 index 00000000..99686e80 --- /dev/null +++ b/apis/cdn/cdn-api-process-apis/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json @@ -0,0 +1,10 @@ +{ + "main": "commerce-cloud-standards.raml", + "name": "Commerce Cloud Standards", + "classifier": "raml-fragment", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "commerce-cloud-standards", + "version": "2.0.1", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange.json b/apis/customer/slas-admin-uap/exchange.json index 8da9ae34..3344a33e 100644 --- a/apis/customer/slas-admin-uap/exchange.json +++ b/apis/customer/slas-admin-uap/exchange.json @@ -1,12 +1,18 @@ { - "main": "slas-admin.raml", - "name": "SLAS Admin-UAP", - "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin-uap", + "dependencies": [ + { + "version": "1.1.15", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + } + ], "version": "1.12.23", - "apiVersion": "v1", + "apiVersion": "1.12.23", "descriptorVersion": "1.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + "classifier": "raml", + "main": "slas-admin.raml", + "assetId": "slas-admin-uap", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "SLAS Admin-UAP" } \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml new file mode 100644 index 00000000..0f4180d8 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml @@ -0,0 +1,58 @@ +#%RAML 1.0 Library + +usage: | + REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. + + These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. + + To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. + +types: + ErrorResponse: Error.Error + Offset: Pagination.offset + Limit: Pagination.limit + Total: Pagination.total + Uuid: Identifiers.UniversallyUniqueIdentifier + AbsoluteUrl: Uri.absoluteUrl + ChangeControlled: BaseTypes.ChangeControlledDataType + +uses: + Pagination: dataTypes/pagination-types.raml + Identifiers: dataTypes/identifers.raml + Uri: dataTypes/uri.raml + BaseTypes: dataTypes/base-types.raml + Error: dataTypes/error-types.raml + +traits: + RangeFilter: !include traits/rangeFilter.raml + DateRangeFilter: + is: + RangeFilter: + type: date-only + name: <> + DatetimeRangeFilter: + is: + RangeFilter: + type: datetime + name: <> + NumericRangeFilter: + is: + RangeFilter: + type: number + name: <> + IntegerRangeFilter: + is: + RangeFilter: + type: integer + name: <> + RateLimited: !include traits/rate-limited.raml + RateLimited2: !include traits/rate-limited-2.raml + RateLimited3: !include traits/rate-limited-3.raml + RateLimited4: !include traits/rate-limited-4.raml + RateLimited5: !include traits/rate-limited-5.raml + SyncCreated: !include traits/sync-created.raml + AsyncCreated: !include traits/async-created.raml + DateConditionalRequest: !include traits/date-conditional-request.raml + EtagConditionalRequest: !include traits/etag-conditional-request.raml + EtagResponse: !include traits/etag-response.raml + OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml new file mode 100644 index 00000000..21c5ffd2 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml @@ -0,0 +1,38 @@ +#%RAML 1.0 Library +usage: Library for types that act as building blocks for other types. + +types: + ChangeControlledDataType: + displayName: ChangeControlled + description: |- + A type extending this type will provide metadata regarding changes + to its data for each record. This information can be used to build + a change history of the records in this data type. + + With the exception of APIs that query such history, these fields + should never appear in API input, and possibly not in API output; + their values should be derived by the context in which the API is + called from. For example, the `creationDate` property should come + from the system time as opposed to being user provided. + properties: + creationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was first created. + required: false + modificationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was most recently modified. + required: false + createdBy: + type: string + description: The user id of the user who created this record. + required: false + pattern: /.+/ + lastModifiedBy: + type: string + description: The user id of the user who most recently modified this record. + required: false + pattern: /.+/ + \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml new file mode 100644 index 00000000..d411ea91 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml @@ -0,0 +1,47 @@ +#%RAML 1.0 DataType + +### DEPRECATED: Use the Library instead + +# Defines a "problem detail" as a way to carry machine- +# readable details of errors in a HTTP response to avoid the need to +# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml new file mode 100644 index 00000000..b2ae4f47 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml @@ -0,0 +1,54 @@ +#%RAML 1.0 Library +usage: |- + Defines a "problem detail" as a way to carry machine- + readable details of errors in a HTTP response to avoid the need to + define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +types: + Error: + description: |- + Errors reported by all APIs correspond to this error document format. + This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + This may include additional properties as necessary to provide additional details + regarding the error message. + type: object + additionalProperties: true + properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: Not Found. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: The requested resource was not found. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml new file mode 100644 index 00000000..e6e417d0 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 Library +usage: Library for types that can act as well described identifers. + +types: + UniversallyUniqueIdentifier: + displayName: Uuid + description: |- + A universally unique identifier (UUID) for the purpose of uniquely + identifying an object in the system. It is defined as a 128-bit hex + encoded string of 32 characters separated into 5 groups in a pattern + of `{8-4-4-4-12}` (36 characters total, including the `-` separators). + type: string + pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + example: 5cb34ffb-2543-4052-aea6-226749e4e478 + maxLength: 36 + minLength: 36 \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml new file mode 100644 index 00000000..9ee37c2c --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml @@ -0,0 +1,25 @@ +#%RAML 1.0 Library + +# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). +# +# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. + +types: + offset: + description: Used to retrieve the results based on a particular resource offset. + type: integer + format: int64 + default: 0 + minimum: 0 + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + format: int32 + default: 10 + minimum: 1 + total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + default: 0 + minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml new file mode 100644 index 00000000..41c518ff --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 Library +usage: + URL types with regexes to validate them +types: + absoluteUrl: + description: An absolute URL, beginning with a protocol + type: string + pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ + examples: + BasicUrl: https://www.salesforce.com + UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en +#To be determined if we will support relative URL +# relativeUrl: +# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` +# type: string +# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json new file mode 100644 index 00000000..427ed3fd --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json @@ -0,0 +1 @@ +{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml new file mode 100644 index 00000000..c90274bf --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml new file mode 100644 index 00000000..d3724142 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml new file mode 100644 index 00000000..f95d7101 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that synchronously create resources. + +responses: + 202: + description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. + headers: + Location: + description: URL where the new <> can be found + examples: + deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 + diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml new file mode 100644 index 00000000..a7e0a7ac --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to endpoints that support date based conditional requests as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +headers: + If-Modified-Since: + description: The server will return the requested resource only if it has been last modified after the given date + required: false + examples: + 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT + +responses: + <>: + description: The requested resource + 304: + description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml new file mode 100644 index 00000000..e55c4bbc --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to endpoints that support etag based conditional requests etags as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +headers: + If-None-Match: + description: ETag that is required in the cache + required: false + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + +responses: + <>: + headers: + ETag: + description: The current value of the entity tag for the requested variant + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + + diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml new file mode 100644 index 00000000..7cf1d7ed --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to define the **response** on endpoints that use etags as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + To describe the request part consider using `etag-conditional-request.raml`, the reason + this is not described in that trait is because this could be used separatelly in endpoints + that do not accept an etag-conditional-request but yet will return an etag, for instance: + a synchronous PUT. + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +responses: + <>: + headers: + ETag: + description: The current value of the entity tag for the requested variant + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml new file mode 100644 index 00000000..b4eae9c4 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml @@ -0,0 +1,41 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use offset and limit pagination controls as + described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `maxLimit` (integer): the max value for the limit + - `defaultSize` (integer): the default value for the limit + +uses: + pagination: ../dataTypes/pagination-types.raml + +queryParameters: + offset: + required: false + type: pagination.offset + limit: + required: false + description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. + type: pagination.limit + maximum: <> + default: <> + +responses: + 200: + headers: + SFDC-Pagination-Offset: + type: pagination.offset + description: The starting offset returned. + SFDC-Pagination-Limit: + type: pagination.limit + maximum: <> + default: <> + description: The limit requested. + SFDC-Pagination-Total-Count?: + type: pagination.total + SFDC-Pagination-Result-Count?: + type: number + format: int64 + description: The number of results included in the response. + diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml new file mode 100644 index 00000000..13dea6d9 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml @@ -0,0 +1,12 @@ +description: The user has sent too many requests in a given amount of time ("rate limiting") +headers: + Retry-After: + examples: + after-seconds: "120" +body: + application/problem+json: + type: !include ../../dataTypes/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" + title: Too Many Requests + detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml new file mode 100644 index 00000000..c9c471ae --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml @@ -0,0 +1,7 @@ +headers: + X-RateLimit-Limit: + description: The maximum number of requests permitted per minute. + X-RateLimit-Remaining: + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml new file mode 100644 index 00000000..80c0a523 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait +usage: |- + Traits intended for GET APIs that take a name of a <> field and support + two query parameters based on that name; one suffixed with `From` that will + include the passed <> as a lower bound, and one suffixed with `To` that + will exclude the passed <> as an upper bound. + + ## Parameters: + + name: The name of the field that will be filtered + type: The type of the field that will be filtered + + +queryParameters: + <>From: + description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. + type: <> + required: false + <>To: + description: If passed, will return records where the `<>` is less than the passed `<>`. + type: <> + required: false diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml new file mode 100644 index 00000000..23c23a70 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml new file mode 100644 index 00000000..9ae61c21 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml new file mode 100644 index 00000000..3ef31a99 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml @@ -0,0 +1,35 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + - `responseStatus4` (integer): | + The status #4 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml new file mode 100644 index 00000000..a257bfcc --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml @@ -0,0 +1,39 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + - `responseStatus4` (integer): | + The status #4 this endpoint will return. + - `responseStatus5` (integer): | + The status #5 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml new file mode 100644 index 00000000..14fe39e8 --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml @@ -0,0 +1,23 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. If there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +responses: + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml + diff --git a/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml new file mode 100644 index 00000000..1940730f --- /dev/null +++ b/apis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml @@ -0,0 +1,18 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that synchronously create resources. + Parameters: + - `responseType` (type): the RAML type of the response + +responses: + 201: + description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. + headers: + Location: + description: URL where the new <> can be found + examples: + deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 + body: + application/json: + type: <> diff --git a/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json b/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json new file mode 100644 index 00000000..2a732b15 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/examples/jwks-get-response.json @@ -0,0 +1,30 @@ + +{ + "keys": [ + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", + "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", + "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", + "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", + "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", + "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", + "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" + } + ] +} + \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange.json b/apis/customer/slas-shopper-login-uap/exchange.json index 7a8e1177..7c855c64 100644 --- a/apis/customer/slas-shopper-login-uap/exchange.json +++ b/apis/customer/slas-shopper-login-uap/exchange.json @@ -1,12 +1,24 @@ { - "main": "shopper-login.raml", - "name": "SLAS Shopper Login-UAP", + "dependencies": [ + { + "version": "1.1.15", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + }, + { + "version": "2.0.1", + "assetId": "commerce-cloud-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + } + ], + "version": "1.39.36", + "apiVersion": "1.39.36", + "descriptorVersion": "1.0.0", "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "main": "shopper-login.raml", "assetId": "slas-shopper-login-uap", - "version": "1.39.33", - "apiVersion": "v1", - "descriptorVersion": "1.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "SLAS Shopper Login-UAP" } \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml new file mode 100644 index 00000000..0f4180d8 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml @@ -0,0 +1,58 @@ +#%RAML 1.0 Library + +usage: | + REST and HTTP enforce a bunch of rules around Resources and Methods along with prescriptions around responding to requests with appropriate responses. What they don't do, and rightfully so, is attempt to standardize on the commonality for disparate services. In a particular Services ecosystem, example: Commerce Platform, having services obey a set of constraints around the way they are exposed helps achieve a level of commonality via convention that will enable them to interplay easily. + + These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. + + To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. + +types: + ErrorResponse: Error.Error + Offset: Pagination.offset + Limit: Pagination.limit + Total: Pagination.total + Uuid: Identifiers.UniversallyUniqueIdentifier + AbsoluteUrl: Uri.absoluteUrl + ChangeControlled: BaseTypes.ChangeControlledDataType + +uses: + Pagination: dataTypes/pagination-types.raml + Identifiers: dataTypes/identifers.raml + Uri: dataTypes/uri.raml + BaseTypes: dataTypes/base-types.raml + Error: dataTypes/error-types.raml + +traits: + RangeFilter: !include traits/rangeFilter.raml + DateRangeFilter: + is: + RangeFilter: + type: date-only + name: <> + DatetimeRangeFilter: + is: + RangeFilter: + type: datetime + name: <> + NumericRangeFilter: + is: + RangeFilter: + type: number + name: <> + IntegerRangeFilter: + is: + RangeFilter: + type: integer + name: <> + RateLimited: !include traits/rate-limited.raml + RateLimited2: !include traits/rate-limited-2.raml + RateLimited3: !include traits/rate-limited-3.raml + RateLimited4: !include traits/rate-limited-4.raml + RateLimited5: !include traits/rate-limited-5.raml + SyncCreated: !include traits/sync-created.raml + AsyncCreated: !include traits/async-created.raml + DateConditionalRequest: !include traits/date-conditional-request.raml + EtagConditionalRequest: !include traits/etag-conditional-request.raml + EtagResponse: !include traits/etag-response.raml + OffsetPaginated: !include traits/offset-paginated.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml new file mode 100644 index 00000000..21c5ffd2 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml @@ -0,0 +1,38 @@ +#%RAML 1.0 Library +usage: Library for types that act as building blocks for other types. + +types: + ChangeControlledDataType: + displayName: ChangeControlled + description: |- + A type extending this type will provide metadata regarding changes + to its data for each record. This information can be used to build + a change history of the records in this data type. + + With the exception of APIs that query such history, these fields + should never appear in API input, and possibly not in API output; + their values should be derived by the context in which the API is + called from. For example, the `creationDate` property should come + from the system time as opposed to being user provided. + properties: + creationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was first created. + required: false + modificationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was most recently modified. + required: false + createdBy: + type: string + description: The user id of the user who created this record. + required: false + pattern: /.+/ + lastModifiedBy: + type: string + description: The user id of the user who most recently modified this record. + required: false + pattern: /.+/ + \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml new file mode 100644 index 00000000..d411ea91 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml @@ -0,0 +1,47 @@ +#%RAML 1.0 DataType + +### DEPRECATED: Use the Library instead + +# Defines a "problem detail" as a way to carry machine- +# readable details of errors in a HTTP response to avoid the need to +# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml new file mode 100644 index 00000000..b2ae4f47 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml @@ -0,0 +1,54 @@ +#%RAML 1.0 Library +usage: |- + Defines a "problem detail" as a way to carry machine- + readable details of errors in a HTTP response to avoid the need to + define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +types: + Error: + description: |- + Errors reported by all APIs correspond to this error document format. + This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + This may include additional properties as necessary to provide additional details + regarding the error message. + type: object + additionalProperties: true + properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: Not Found. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: The requested resource was not found. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml new file mode 100644 index 00000000..e6e417d0 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 Library +usage: Library for types that can act as well described identifers. + +types: + UniversallyUniqueIdentifier: + displayName: Uuid + description: |- + A universally unique identifier (UUID) for the purpose of uniquely + identifying an object in the system. It is defined as a 128-bit hex + encoded string of 32 characters separated into 5 groups in a pattern + of `{8-4-4-4-12}` (36 characters total, including the `-` separators). + type: string + pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + example: 5cb34ffb-2543-4052-aea6-226749e4e478 + maxLength: 36 + minLength: 36 \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml new file mode 100644 index 00000000..9ee37c2c --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml @@ -0,0 +1,25 @@ +#%RAML 1.0 Library + +# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). +# +# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. + +types: + offset: + description: Used to retrieve the results based on a particular resource offset. + type: integer + format: int64 + default: 0 + minimum: 0 + limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + format: int32 + default: 10 + minimum: 1 + total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + default: 0 + minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml new file mode 100644 index 00000000..41c518ff --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 Library +usage: + URL types with regexes to validate them +types: + absoluteUrl: + description: An absolute URL, beginning with a protocol + type: string + pattern: ^(https?|ftp):\/\/([-\.\w])+(:[\d]+)?(\/[-\w]*)*([-\w\&#\/\?=])*$ + examples: + BasicUrl: https://www.salesforce.com + UrlWithParametersAndPort: https://www.salesforce.com:8080/api?detailed=true&lang=en +#To be determined if we will support relative URL +# relativeUrl: +# description: A relative URL, without a protocol or domain. It may or may not begin with a leading `/` +# type: string +# pattern: ^/?(\/[-\w]*)*([-\w&#\/\?=])*$ diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json new file mode 100644 index 00000000..427ed3fd --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json @@ -0,0 +1 @@ +{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml new file mode 100644 index 00000000..c90274bf --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip180-warn-299-example: \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml new file mode 100644 index 00000000..d3724142 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip193-errors-403-forbidden: \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml new file mode 100644 index 00000000..f95d7101 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that synchronously create resources. + +responses: + 202: + description: A successful response for an asyncronous resource provisioning request, with a Location header indicating where the created resource can be found. + headers: + Location: + description: URL where the new <> can be found + examples: + deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 + diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml new file mode 100644 index 00000000..a7e0a7ac --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to endpoints that support date based conditional requests as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +headers: + If-Modified-Since: + description: The server will return the requested resource only if it has been last modified after the given date + required: false + examples: + 92-olimpics: Sat, 25 Jul 1992 19:00:00 GMT + +responses: + <>: + description: The requested resource + 304: + description: The resource has not been modified since the requested conditional date diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml new file mode 100644 index 00000000..e55c4bbc --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to endpoints that support etag based conditional requests etags as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +headers: + If-None-Match: + description: ETag that is required in the cache + required: false + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + +responses: + <>: + headers: + ETag: + description: The current value of the entity tag for the requested variant + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + + diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml new file mode 100644 index 00000000..7cf1d7ed --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait + +usage: | + To be applied to define the **response** on endpoints that use etags as + described in [conditional requests](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + To describe the request part consider using `etag-conditional-request.raml`, the reason + this is not described in that trait is because this could be used separatelly in endpoints + that do not accept an etag-conditional-request but yet will return an etag, for instance: + a synchronous PUT. + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. Iif there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +responses: + <>: + headers: + ETag: + description: The current value of the entity tag for the requested variant + examples: + UUID-etag: 155f0df6-8dfc-11e7-bb31-be2e44b06b34 + diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml new file mode 100644 index 00000000..b4eae9c4 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml @@ -0,0 +1,41 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use offset and limit pagination controls as + described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `maxLimit` (integer): the max value for the limit + - `defaultSize` (integer): the default value for the limit + +uses: + pagination: ../dataTypes/pagination-types.raml + +queryParameters: + offset: + required: false + type: pagination.offset + limit: + required: false + description: Maximum records to retrieve per request, not to exceed <>. Defaults to <>. + type: pagination.limit + maximum: <> + default: <> + +responses: + 200: + headers: + SFDC-Pagination-Offset: + type: pagination.offset + description: The starting offset returned. + SFDC-Pagination-Limit: + type: pagination.limit + maximum: <> + default: <> + description: The limit requested. + SFDC-Pagination-Total-Count?: + type: pagination.total + SFDC-Pagination-Result-Count?: + type: number + format: int64 + description: The number of results included in the response. + diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml new file mode 100644 index 00000000..13dea6d9 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml @@ -0,0 +1,12 @@ +description: The user has sent too many requests in a given amount of time ("rate limiting") +headers: + Retry-After: + examples: + after-seconds: "120" +body: + application/problem+json: + type: !include ../../dataTypes/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-requests" + title: Too Many Requests + detail: You have performed too many requests in a short period of time. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml new file mode 100644 index 00000000..c9c471ae --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml @@ -0,0 +1,7 @@ +headers: + X-RateLimit-Limit: + description: The maximum number of requests permitted per minute. + X-RateLimit-Remaining: + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + description: The time at which the current rate limit window resets in UTC epoch seconds. \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml new file mode 100644 index 00000000..80c0a523 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait +usage: |- + Traits intended for GET APIs that take a name of a <> field and support + two query parameters based on that name; one suffixed with `From` that will + include the passed <> as a lower bound, and one suffixed with `To` that + will exclude the passed <> as an upper bound. + + ## Parameters: + + name: The name of the field that will be filtered + type: The type of the field that will be filtered + + +queryParameters: + <>From: + description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. + type: <> + required: false + <>To: + description: If passed, will return records where the `<>` is less than the passed `<>`. + type: <> + required: false diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml new file mode 100644 index 00000000..23c23a70 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml new file mode 100644 index 00000000..9ae61c21 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml new file mode 100644 index 00000000..3ef31a99 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml @@ -0,0 +1,35 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + - `responseStatus4` (integer): | + The status #4 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml new file mode 100644 index 00000000..a257bfcc --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml @@ -0,0 +1,39 @@ +#%RAML 1.0 Trait + +usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + Parameters: + - `responseStatus` (integer): | + The status #1 this endpoint will return. + - `responseStatus2` (integer): | + The status #2 this endpoint will return. + - `responseStatus3` (integer): | + The status #3 this endpoint will return. + - `responseStatus4` (integer): | + The status #4 this endpoint will return. + - `responseStatus5` (integer): | + The status #5 this endpoint will return. + +responses: + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml new file mode 100644 index 00000000..14fe39e8 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml @@ -0,0 +1,23 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that use rate limiting as + described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). + This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). + Parameters: + - `responseStatus` (integer): | + The status this endpoint will return. If there are multiple statutes with this purpose + in the endpoint, this trait won't be a good option. + +responses: + <>: + !include private/rate-limited-include-headers.raml + + 429: + !include private/rate-limited-include-429.raml + diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml new file mode 100644 index 00000000..1940730f --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml @@ -0,0 +1,18 @@ +#%RAML 1.0 Trait + +usage: | + To be applied on endpoints that synchronously create resources. + Parameters: + - `responseType` (type): the RAML type of the response + +responses: + 201: + description: A successful response for a resource provisioning request, with a Location header indicating where the created resource can be found. + headers: + Location: + description: URL where the new <> can be found + examples: + deployment-location: <>/3f6b7470-dcba-11e6-bf26-cec0c932ce01 + body: + application/json: + type: <> diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml new file mode 100644 index 00000000..d42c875f --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml @@ -0,0 +1,37 @@ +#%RAML 1.0 DocumentationItem +title: Error Response Mapping from OCAPI to Mulesoft + +content: |- + + # NOTE: this documentation does not belong here any may be moved in the future. + + - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. + - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. + - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages + - Content-Type: `application/problem+json` + - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. + - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. + - `detail`: the content of fault.message + - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. + + ## Example Mapping: + + ### OCAPI Fault Response + { + "_v" : "20.2", + "fault": { + "arguments": { + "target_cartridge": "core" + }, + "type": "InvalidOperationException", + "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." + } + } + + ### Mapped ErrorResponse + { + "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", + "title": "Invalid Operation", + "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", + "targetCartridge": "core" + } diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml new file mode 100644 index 00000000..d2d991d0 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml @@ -0,0 +1,23 @@ +#%RAML 1.0 DocumentationItem +title: baseUri Standards +content: | + + # NOTE: this is internal documentation. + + The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: + + baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} + version: v1 + baseUriParameters: + shortCode: + description: A region-specific merchant identifier. + example: 0dnz6oep + pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ + + Of note: + - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl + - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case + - Api-family is also known as bounded context + - Api-name is also known as root aggregate + - the only baseUriParameter that will change between calls is `shortCode`. + - `version` is special and will use the version of the API. diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json new file mode 100644 index 00000000..3c0eafb5 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json @@ -0,0 +1,23 @@ +{ + "operator": "and", + "filters": [ + { + "termFilter": { + "field": "id", + "operator": "is", + "values": [ + "myId" + ] + } + }, + { + "termFilter": { + "field": "couponId", + "operator": "is", + "values": [ + "couponOne" + ] + } + } + ] +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json new file mode 100644 index 00000000..a8e49428 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json @@ -0,0 +1,33 @@ +{ + "must": [ + { + "textQuery": { + "fields": [ + "couponId" + ], + "searchPhrase": "DEAL" + } + }, + { + "textQuery": { + "fields": [ + "description" + ], + "searchPhrase": "Big bargain deal" + } + } + ], + "mustNot": [ + { + "termQuery": { + "fields": [ + "enabled" + ], + "operator": "is", + "values": [ + false + ] + } + } + ] +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml new file mode 100644 index 00000000..5ae2189b --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml @@ -0,0 +1,57 @@ +#%RAML 1.0 NamedExample +MultipleOperatorExample: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + should: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - couponId + - description + searchPhrase: sale + must_not: + - textQuery: + fields: + - description + searchPhrase: Big bargain +AndOperatorExample: + must: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - termQuery: + fields: + - enabled + operator: is + values: + - true +OrOperatorExample: + should: + - textQuery: + fields: + - couponId + searchPhrase: DEAL + - textQuery: + fields: + - couponId + - description + searchPhrase: sale +NotOperatorExample: + must_not: + - textQuery: + fields: + - description + searchPhrase: Big bargain + - termQuery: + fields: + - enabled + operator: is + values: + - false \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json new file mode 100644 index 00000000..e8b22fe6 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json @@ -0,0 +1,9 @@ +{ + "termFilter": { + "field": "enabled", + "operator": "is", + "values": [ + false + ] + } +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json new file mode 100644 index 00000000..59688122 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json @@ -0,0 +1,19 @@ +{ + "query": { + "textQuery": { + "fields": [ + "couponId" + ], + "searchPhrase": "disabled" + } + }, + "filter": { + "termFilter": { + "field": "enabled", + "operator": "is", + "values": [ + false + ] + } + } +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json new file mode 100644 index 00000000..bbc7f39e --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json @@ -0,0 +1,44 @@ +{ + "path": "order.shippingAddresses", + "query": { + "boolQuery": { + "must": [ + { + "boolQuery": { + "must": [ + { + "termQuery": { + "fields": [ + "order.shippingAddresses.firstName" + ], + "operator": "is", + "values": [ + "John" + ] + } + } + ] + } + }, + { + "boolQuery": { + "must": [ + { + "termQuery": { + "fields": [ + "order.shippingAddresses.lastName" + ], + "operator": "is", + "values": [ + "Doe" + ] + } + } + ] + } + } + ] + } + }, + "scoreMode": "avg" +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json new file mode 100644 index 00000000..9d0f4db0 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json @@ -0,0 +1,35 @@ +{ + "limit" : 1, + "hits" : [ + { + "couponId": "MyCoupon", + "creationDate": "2019-10-20T12:00:00Z", + "description": "This coupon is used to give 10% off stuff.", + "enabled": false, + "exportedCodeCount": 0, + "lastModified": "2019-10-30T04:23:59Z", + "redemptionCount": 3, + "redemptionLimits": { + "limitPerCode": 1, + "limitPerCustomer": 1, + "limitPerTimeFrame": { + "limit": 2, + "redemptionTimeFrame": 24 + } + }, + "singleCode": "MyCode", + "systemCodesConfig": { + "codePrefix": "SG", + "numberOfCodes": 500000 + }, + "totalCodesCount": 50, + "type": "single_code" + } + ], + "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, + "sorts" : [ + { "field": "couponId", "sortOrder": "desc" } + ], + "offset" : 2, + "total" : 8 +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json new file mode 100644 index 00000000..8057c0f9 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json @@ -0,0 +1,21 @@ +{ + "filteredQuery": { + "query": { + "textQuery": { + "fields": [ + "couponId" + ], + "searchPhrase": "disabled" + } + }, + "filter": { + "termFilter": { + "field": "enabled", + "operator": "is", + "values": [ + false + ] + } + } + } +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json new file mode 100644 index 00000000..28785856 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json @@ -0,0 +1,14 @@ +{ + "query": { + "termQuery": { + "fields": [ + "enabled", + "active" + ], + "operator": "is", + "values": [ + false + ] + } + } +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json new file mode 100644 index 00000000..e351bb9f --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json @@ -0,0 +1,7 @@ +{ + "fromField": "validFrom", + "toField": "validTo", + "filterMode": "overlap", + "fromValue": "2007-01-01T00:00:00.000Z", + "toValue": "2017-01-01T00:00:00.000Z" +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json new file mode 100644 index 00000000..033e34cb --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json @@ -0,0 +1,6 @@ +{ + "field": "redemptionCount", + "from": 0, + "to": 10, + "fromInclusive": false +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json new file mode 100644 index 00000000..a0f8aa8d --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json @@ -0,0 +1,10 @@ +{ + "limit" : 4, + "query" : { + "textQuery": { + "fields": ["id", "description"], + "searchPhrase": "campaign" + } + }, + "offset" : 2 +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json new file mode 100644 index 00000000..4aa969bc --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json @@ -0,0 +1,31 @@ +{ + "limit" : 1, + "hits" : [ + { + "couponId": "MyCoupon", + "creationDate": "2019-10-20T12:00:00Z", + "description": "This coupon is used to give 10% off stuff.", + "enabled": false, + "exportedCodeCount": 0, + "lastModified": "2019-10-30T04:23:59Z", + "redemptionCount": 3, + "redemptionLimits": { + "limitPerCode": 1, + "limitPerCustomer": 1, + "limitPerTimeFrame": { + "limit": 2, + "redemptionTimeFrame": 24 + } + }, + "singleCode": "MyCode", + "systemCodesConfig": { + "codePrefix": "SG", + "numberOfCodes": 500000 + }, + "totalCodesCount": 50, + "type": "single_code" + } + ], + "offset" : 2, + "total" : 8 +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json new file mode 100644 index 00000000..56a40325 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json @@ -0,0 +1,7 @@ +{ + "field": "id", + "operator": "is", + "values": [ + "myId" + ] +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json new file mode 100644 index 00000000..419f69c5 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json @@ -0,0 +1,9 @@ +{ + "fields": [ + "enabled" + ], + "operator": "is", + "values": [ + false + ] +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json new file mode 100644 index 00000000..357e1d43 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json @@ -0,0 +1,6 @@ +{ + "fields": [ + "couponId" + ], + "searchPhrase": "limit" +} diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml new file mode 100644 index 00000000..2a4c8589 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml @@ -0,0 +1,46 @@ +#%RAML 1.0 SecurityScheme + +description: | + AccountManager OAuth 2.0 bearer token Authentication. +type: OAuth 2.0 + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize + accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token + authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml new file mode 100644 index 00000000..e6754c16 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml @@ -0,0 +1,51 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. + A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. + To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). + For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). + +type: OAuth 2.0 +displayName: ShopperTokenTaob + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + authorizationGrants: [client_credentials] + \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml new file mode 100644 index 00000000..a8248865 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. + A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. + To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). + +type: OAuth 2.0 +displayName: ShopperTokenTsob + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + authorizationGrants: [client_credentials] + \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml new file mode 100644 index 00000000..f211a3c0 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). + A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. + The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. + +type: OAuth 2.0 +displayName: ShopperToken + +uses: + +describedBy: + headers: + Authorization: + description: | + Bearer token + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid or expired and can’t be used to identify a user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml new file mode 100644 index 00000000..cb15c1c0 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml @@ -0,0 +1,85 @@ +#%RAML 1.0 Library +usage: |- + This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. + +types: + ISOCurrency: + description: |- + A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. + type: string + pattern: ^[A-Z][A-Z][A-Z]$ + example: + USD + NoValue: + description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. + type: string + example: N/A + default: N/A + enum: + - N/A + Currency: + description: |- + A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. +# type: ISOCurrency | NoValue + type: string + example: + USD + MoneyMnemonic: + description: |- + A combination of a Currency and an amount of that Currency. + type: object + properties: + currencyMnemonic?: Currency + value?: + description: The amount of money for the given currency. + type: number + format: double + example: 1234.56 + Country: + description: |- + A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. + type: string + pattern: ^[A-Z][A-Z]$ + example: + US + Language: + description: |- + A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). + type: string + pattern: ^[a-z][a-z]$ + example: + en + LanguageCountry: + description: |- + A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. + type: string + pattern: ^[a-z][a-z]-[A-Z][A-Z]$ + example: en-US + Locale: + description: |- + A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. +# type: LanguageCountry | Language | DefaultFallback + type: string + DefaultFallback: + description: A specialized value indicating the system default values for locales. + type: string + example: default + default: default + enum: + - default + L10nString: + description: |- + A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. + + Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. + type: object + properties: + /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: + type: string + required: false + example: + default: The quick brown fox jumps over the lazy dog. + en: The quick brown fox jumps over the lazy dog. + en-US: The quick brown fox jumps over the lazy dog. + en-CA: The quick brown fox jumps over the lazy dog. + es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml new file mode 100644 index 00000000..1460ec83 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml @@ -0,0 +1,24 @@ +#%RAML 1.0 Library +usage: |- + Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. +types: + NoPropertiesAllowed: + type: object + additionalProperties: false + description: |- + This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. + SpecifiedPropertiesAllowed: + type: object + description: |- + This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. + + To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + additionalProperties: true + properties: + /^c_.+$/?: + displayName: Additional Property Support + description: |- + This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. + example: + c_faxNumber + type: any \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml new file mode 100644 index 00000000..e1b98575 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml @@ -0,0 +1,177 @@ +#%RAML 1.0 Library +usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. + +uses: + AdditionalProperties: additional-properties.raml + ISO: ISO-standards.raml + +types: + AttributeDefinition: + description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. + type: + AdditionalProperties.NoPropertiesAllowed + properties: + defaultValue: + description: 'The optional default value of this property.' + type: PropertyValueDefinition + required: false + id: + description: The unique identifier for the property. + type: string + example: color + required: false + pattern: ^[A-Za-z0-9]+$ + name: + description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. + type: ISO.L10nString + properties: + example: + default: color + de: fabre + description: + description: A localized description of the property, describing the property in detail. + type: ISO.L10nString + example: + default: The color of the product. + de: Die Farbe des Produkts. + key: + description: A flag indicating if this property is part of the primary unique identifier of this type. + type: boolean + required: false + default: false + example: false + localizable: + description: A flag indicating if this property supports localization. + type: boolean + required: false + default: false + example: false + mandatory: + description: A flag indicating if this property must be passed when creating or updating the type. + type: boolean + required: false + default: false + example: false + max: + description: If numeric, the maximum possible value for this property. + type: number + format: double + required: false + example: 100 + minLength: + description: The minimum length of a value required when passing this property. + type: integer + format: int32 + required: false + example: 5 + min: + description: If numeric, the minimum possible value for this property. + type: number + format: double + required: false + example: 10 + multiValueType: + description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. + type: boolean + required: false + default: false + example: false + regularExpression: + description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. + type: string + required: false + example: ".*[a-zA-Z]{2,}+.*" + scale: + description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. + type: integer + format: int32 + required: false + default: 2 + example: 2 + searchable: + description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. + type: boolean + required: false + default: false + example: true + siteSpecific: + description: A flag indicating if this property supports different values for each storefront. + type: boolean + required: false + default: false + example: false + system: + description: A flag indicating if this property is provided by the system. + type: boolean + required: false + default: false + example: true + unit: + description: If numeric, identifes what unit of measure the value of this property is measured by. + type: ISO.L10nString + required: false + example: + default: inches + de: Zoll + possibleValues: + description: A set of values that are possible for this property. + type: PropertyValueDefinition[] + required: false + type: + description: The data type of this property. + type: string + enum: + - string + - int + - double + - text + - html + - date + - image + - boolean + - money + - quantity + - datetime + - email + - password + - enum_of_string + - enum_of_int + example: "string" + visible: + description: A flag indicating that this property is visible. + type: boolean + required: false + default: true + example: true + PropertyValueDefinition: + description: Represents an actual or possible value for a property + type: + AdditionalProperties.NoPropertiesAllowed + properties: + description: + description: A description of the property value. + type: ISO.L10nString + example: + default: Rose Red + de: Rosenrot + displayValue: + description: |- + A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. + type: ISO.L10nString + example: + default: Red + de: Rot + id: + description: The unique id of the property value. + type: string + example: "1" + position: + description: The position of the property value within the collection of possible property values. + type: number + format: double + required: false + example: 0.0 + value: + description: The value of the property. + type: string + example: "1" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml new file mode 100644 index 00000000..2e59aeff --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml @@ -0,0 +1,45 @@ +#%RAML 1.0 DataType + +# Defines a "problem detail" as a way to carry machine- +# readable details of errors in a HTTP response to avoid the need to +# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://example.com/probs/out-of-credit + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: You do not have enough credit. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: Your current balance is 30, but that costs 50. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml new file mode 100644 index 00000000..cd64852a --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml @@ -0,0 +1,25 @@ +#%RAML 1.0 Library + +# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). +# +# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. + +types: + Offset: + description: Used to retrieve the results based on a particular resource offset. + type: integer + format: int64 + default: 0 + minimum: 0 + Limit: + description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). + type: integer + format: int32 + default: 10 + minimum: 1 + Total: + description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. + type: integer + format: int64 + default: 0 + minimum: 0 \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml new file mode 100644 index 00000000..93accaf6 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml @@ -0,0 +1,360 @@ +#%RAML 1.0 Library +usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. + +uses: + Pagination: pagination-types.raml + +types: + BoolFilter: + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. + type: object + example: !include ../Examples/BoolFilter.json + properties: + filters: + description: A list of filters that are logically combined by an operator. + type: Filter[] + required: false + operator: + description: The logical operator that is used to combine the filters. + type: string + enum: + - and + - or + - not + BoolQuery: + description: | + A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: + + - `must`, which combines as an `AND` operator. + - `should`, which combines as an `OR` operator. + - `must_not`, which combines as a `NOT` operator. + + If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: + + (must-1 AND must-1 AND ...) + AND (should-1 OR should-2 OR ...) + AND NOT (must_not-1 OR must_not-2 OR ...) + + type: object + examples: !include ../Examples/BoolQuery.raml + properties: + must?: + description: List of queries to be evaluated as an `AND` operator. + type: Query[] + mustNot?: + description: List of queries to be evaluated as a `NOT` operator. + type: Query[] + should?: + description: List of queries to be evaluated as an `OR` operator. + type: Query[] + Filter: + description: |- + Contains a set of objects that define criteria used to select records. A filter can contain one of the following: + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` + - Matches records in a specified range across fields. + * `QueryFilter` + - Matches records based on a query. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. + type: object + example: !include ../Examples/Filter.json + minProperties: 1 + maxProperties: 1 + properties: + boolFilter?: BoolFilter + queryFilter?: QueryFilter + range2Filter?: Range2Filter + rangeFilter?: RangeFilter + termFilter?: TermFilter + FilteredQuery: + description: Allows to filter the result of a possibly complex query using a possibly complex filter. + type: object + example: !include ../Examples/FilteredQuery.json + properties: + filter: + description: The possibly complex filter object. + type: Filter + query: + description: The query object. + type: Query + MatchAllQuery: + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + type: object + NestedQuery: + description: | + Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. + + A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. + type: object + example: !include ../Examples/NestedQuery.json + properties: + path: + description: The path to the nested document. + type: string + query: + description: The query to run on the nested document. + type: Query + scoreMode: + description: |- + Indicates how scores for matching child objects affect the root parent document’s relevance score. + type: string + enum: + - avg + - total + - max + - none + required: false + Query: + description: |- + A set of objects that define criteria used to select records. A query can contain one of the following: + * `MatchAllQuery` + - Matches all documents. + * `TermQuery` + - Matches one or more documents against one or more document fields. + * `TextQuery` + - Matches text against one or more fields. + * `BoolQuery` + - Allows construction of a logical expression of multiple queries. + * `FilteredQuery` + - Allows a filter to be applied to a query. + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ + type: object + maxProperties: 1 + minProperties: 1 + example: !include ../Examples/Query.json + properties: + boolQuery?: BoolQuery + filteredQuery?: FilteredQuery + matchAllQuery?: MatchAllQuery + nestedQuery?: NestedQuery + termQuery?: TermQuery + textQuery?: TextQuery + QueryFilter: + description: |- + Wraps any query and allows it to be used as a filter. + type: object + example: !include ../Examples/QueryFilter.json + properties: + query: + description: The query to use as a filter. + type: Query + Range2Filter: + description: |- + Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. + + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. + + The second range (R2) is defined by `fromValue` and `toValue`. + + The filter mode specifies the method used to compare the two ranges: + + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. + + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + + type: object + example: !include ../Examples/Range2Filter.json + properties: + filterMode: + description: 'Compare mode: overlap, containing, or contained.' + type: string + enum: + - overlap + - containing + - contained + default: overlap + required: false + fromField: + description: The field name of the field that starts the first range. + type: string + fromInclusive: + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + required: false + default: true + fromValue: + description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + type: any + required: false + toField: + description: The field name of the field that ends the first range. + type: string + toInclusive: + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + required: false + default: true + toValue: + description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + type: any + required: false + RangeFilter: + description: |- + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. + + A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. + type: object + example: !include ../Examples/RangeFilter.json + properties: + field: + description: The search field. + type: string + from: + description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. + type: any + required: false + fromInclusive: + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. + type: boolean + required: false + default: true + to: + description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. + type: any + required: false + toInclusive: + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. + type: boolean + required: false + default: true + SearchRequestBase: + description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. + type: object + example: !include ../Examples/SearchRequestBase.json + properties: + limit?: + type: Pagination.Limit + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. + query: + description: | + The search query. See the description of the search endpoint for a list of queryable attributes. + type: Query + sorts: + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. + type: Sort[] + required: false + offset?: Pagination.Offset + PaginatedSearchResultBase: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + type: SimpleSearchResultBase + example: !include ../Examples/PaginatedSearchResultBase.json + properties: + query: + description: The query that is passed into the search. + type: Query + sorts: + description: The sorting that was applied to the result. + type: Sort[] + required: false + SimpleSearchResultBase: + description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. + type: object + example: !include ../Examples/SimpleSearchResultBase.json + properties: + limit: + type: Pagination.Limit + maximum: 200 + description: Maximum records to retrieve per request, not to exceed 200. + hits: + description: The sorted array of search hits. Can be empty. + type: object[] + required: false + offset: Pagination.Offset + total: Pagination.Total + + Sort: + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. + type: object + example: { "field": "couponId", "sortOrder": "desc" } + properties: + field: + description: The name of the field to sort on. + type: string + sortOrder: + description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. + type: string + default: asc + enum: + - asc + - desc + required: false + TermFilter: + description: |- + Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. + type: object + example: !include ../Examples/TermFilter.json + properties: + field: + description: The filter field. + type: string + operator: + description: The operator used to compare the field's values with the given values. + type: string + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + values: + description: The filter values. + type: any[] + required: false + TermQuery: + description: |- + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. + + **Limitations:** + + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. + type: object + example: !include ../Examples/TermQuery.json + properties: + fields: + description: The document fields that the values are matched against, combined with the operator. + minItems: 1 + type: string[] + operator: + description: Returns the operator to use for the term query. + type: string + enum: + - is + - one_of + - is_null + - is_not_null + - less + - greater + - not_in + - neq + values: + description: The values that the fields are compared against, combined with the operator. + type: any[] + required: false + TextQuery: + description: |- + A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + type: object + example: !include ../Examples/TextQuery.json + properties: + fields: + description: The document fields that the search phrase matches against. + minItems: 1 + type: string[] + searchPhrase: + description: A search phrase, which can include multiple terms separated by spaces. + type: string \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml new file mode 100644 index 00000000..90ec2324 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml @@ -0,0 +1,118 @@ +#%RAML 1.0 Library +usage: |- + + The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. + + The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. + + # Security Schemes + + This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. + + Security schemes included in Commerce Cloud Standards: + + - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. + - `ShopperToken`: for endpoints authenticated via Shopper JWTs. + + ## Types + + This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. + + ## Search Specific + + - `SearchRequest`: a type commonly used for searching that takes a query in a body. + - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. + - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. + + ## Standards Followed + + - `CurrencyCode`: ISO 4217 compliant currency code. + - `Money`: A combination of a CurrencyCode and a number. + - `LanguageCode`: ISO 639-1 compliant language code. + - `CountryCode`: ISO 3166-1 compliant country code. + - `LocaleCode`: A combination of LanguageCode and CountryCode. + + ## Resource Types + + This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. + + ## Traits + + This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `Selectable`: adds a query parameter called `select` of type `Select` to the request. + - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. + - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. + - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. + +uses: + AdditionalProperties: Types/additional-properties.raml + Search: Types/search-types.raml + Pagination: Types/pagination-types.raml + ISO: Types/ISO-standards.raml + AttributeDefinitions: Types/attribute-definition-types.raml + +securitySchemes: + AmOAuth2: !include SecuritySchemes/am-oauth-2.raml + ShopperToken: !include SecuritySchemes/shopper-token.raml + ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml + ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml + +types: + SiteId: + description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: + SiteGenesis + type: string + minLength: 1 + Select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: + (name,id,variationAttributes.(**)) + type: string + minLength: 1 + SearchRequest: Search.SearchRequestBase + PaginatedSearchResult: Search.PaginatedSearchResultBase + SimpleSearchResult: Search.SimpleSearchResultBase + + CurrencyCode: ISO.Currency + Money: ISO.MoneyMnemonic + LanguageCode: ISO.Language + CountryCode: ISO.Country + LocaleCode: ISO.Locale + LocalizedString: ISO.L10nString + + PropertyDefinition: AttributeDefinitions.AttributeDefinition + + ClosedObject: AdditionalProperties.NoPropertiesAllowed + OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed + +resourceTypes: + Organization: + uriParameters: + organizationId: + description: An identifier for the organization the request is being made by. + example: + f_ecom_zzxy_prd + +traits: + QueryParamsLimit: + usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. + queryParameters: + limit?: Pagination.Limit + QueryParamsOffset: + usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. + queryParameters: + offset?: Pagination.Offset + SiteSpecific: + usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter + queryParameters: + siteId: SiteId + Selectable: + usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. + queryParameters: + select?: Select \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml new file mode 100644 index 00000000..0a12252c --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml @@ -0,0 +1,68 @@ +#%RAML 1.0 +title: Example API +version: v1 +mediaType: + - application/json +protocols: + - HTTPS +description: An example file demonstrating the usage of the commerce cloud standards library. + +# Copied from the documentation section. +baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} +baseUriParameters: + shortCode: + description: A region-specific merchant identifier. + example: 0dnz6oep + pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ + +uses: + CommerceCloudStandards: commerce-cloud-standards.raml + tmp: Types/search-types.raml + +/organizations/{organizationId}/foo: + type: CommerceCloudStandards.Organization + description: An example Endpoint + get: + displayName: getFoo + description: Example get Method + securedBy: + - CommerceCloudStandards.AmOAuth2: { scopes: [example]} + + is: + - CommerceCloudStandards.QueryParamsOffset: + - CommerceCloudStandards.QueryParamsLimit: + - CommerceCloudStandards.SiteSpecific: + objectType: SiteId + objectId: SiteGenesis + - CommerceCloudStandards.Selectable + responses: + 200: + description: an example response + body: + type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money + +/organizations/{organizationId}/bar: + type: CommerceCloudStandards.Organization + description: Another example endpoint + get: + displayName: getBar + description: |- + Another example get method + + ## Scopes + + This endpoint requires that you have access to the following scopes: shopper-example + securedBy: + - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} + + is: + - CommerceCloudStandards.SiteSpecific: + objectType: SiteId + objectId: SiteGenesis + body: + type: CommerceCloudStandards.SearchRequest + responses: + 200: + description: another example response + body: + type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json new file mode 100644 index 00000000..99686e80 --- /dev/null +++ b/apis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json @@ -0,0 +1,10 @@ +{ + "main": "commerce-cloud-standards.raml", + "name": "Commerce Cloud Standards", + "classifier": "raml-fragment", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "commerce-cloud-standards", + "version": "2.0.1", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/apis/customer/slas-shopper-login-uap/shopper-login.raml b/apis/customer/slas-shopper-login-uap/shopper-login.raml index 15266ef2..843361bf 100644 --- a/apis/customer/slas-shopper-login-uap/shopper-login.raml +++ b/apis/customer/slas-shopper-login-uap/shopper-login.raml @@ -591,6 +591,7 @@ types: example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" new_password: description: The new password to set for the shopper associated with the password action token. + required: false type: string example: "new_password" channel_id: @@ -2044,9 +2045,10 @@ types: 200: description: Success, the response body contains the JWKS keys. body: - type: JwksSuccessResponse + application/json: + type: object examples: - JwksSuccessResponse: !include examples/jwks-get-response.raml + object: !include examples/jwks-get-response.json 400: description: Bad Request body: From 1d3ad2c25203e1a2d95f856b1c10ee84f2aa374d Mon Sep 17 00:00:00 2001 From: Alex Vuong Date: Tue, 11 Feb 2025 13:06:40 -0800 Subject: [PATCH 3/4] update api --- .../dataTypes/MRTRules.raml | 1 + .../dataTypes/SpeedSetting.raml | 27 ++ .../zone/speed-settings-response.raml | 3 + .../cdn/cdn-api-process-apis/exchange.json | 28 +- .../customer/slas-admin-uap/exchange.json | 22 +- .../api-standards/1.1.15}/api-standards.raml | 33 +- .../1.1.15/dataTypes/base-types.raml | 38 ++ .../1.1.15/dataTypes}/error-response.raml | 2 + .../1.1.15/dataTypes/error-types.raml | 54 +++ .../1.1.15}/dataTypes/identifers.raml | 6 +- .../1.1.15}/dataTypes/pagination-types.raml | 0 .../api-standards/1.1.15}/dataTypes/uri.raml | 0 .../api-standards/1.1.15}/exchange.json | 2 +- .../snippets/aip180-warn-299-example.raml | 2 + .../snippets/aip193-errors-403-forbidden.raml | 2 + .../1.1.15}/traits/async-created.raml | 0 .../traits/date-conditional-request.raml | 0 .../traits/etag-conditional-request.raml | 0 .../1.1.15}/traits/etag-response.raml | 0 .../1.1.15}/traits/offset-paginated.raml | 0 .../private/rate-limited-include-429.raml | 0 .../private/rate-limited-include-headers.raml | 0 .../1.1.15/traits/rangeFilter.raml | 22 ++ .../1.1.15}/traits/rate-limited-2.raml | 7 + .../1.1.15}/traits/rate-limited-3.raml | 8 + .../1.1.15}/traits/rate-limited-4.raml | 8 + .../1.1.15}/traits/rate-limited-5.raml | 8 + .../1.1.15}/traits/rate-limited.raml | 6 +- .../1.1.15}/traits/sync-created.raml | 0 .../examples/jwks-get-response.json | 30 ++ .../slas-shopper-login-uap/exchange.json | 28 +- .../api-standards/1.1.15}/api-standards.raml | 33 +- .../1.1.15/dataTypes/base-types.raml | 38 ++ .../1.1.15/dataTypes}/error-response.raml | 2 + .../1.1.15/dataTypes/error-types.raml | 54 +++ .../1.1.15}/dataTypes/identifers.raml | 6 +- .../1.1.15}/dataTypes/pagination-types.raml | 0 .../api-standards/1.1.15}/dataTypes/uri.raml | 0 .../api-standards/1.1.15}/exchange.json | 2 +- .../snippets/aip180-warn-299-example.raml | 2 + .../snippets/aip193-errors-403-forbidden.raml | 2 + .../1.1.15}/traits/async-created.raml | 0 .../traits/date-conditional-request.raml | 0 .../traits/etag-conditional-request.raml | 0 .../1.1.15}/traits/etag-response.raml | 0 .../1.1.15}/traits/offset-paginated.raml | 0 .../private/rate-limited-include-429.raml | 0 .../private/rate-limited-include-headers.raml | 0 .../1.1.15/traits/rangeFilter.raml | 22 ++ .../1.1.15}/traits/rate-limited-2.raml | 7 + .../1.1.15}/traits/rate-limited-3.raml | 8 + .../1.1.15}/traits/rate-limited-4.raml | 8 + .../1.1.15}/traits/rate-limited-5.raml | 8 + .../1.1.15}/traits/rate-limited.raml | 6 +- .../1.1.15}/traits/sync-created.raml | 0 .../Documentation/ErrorResponseMapping.raml | 0 .../2.0.1}/Documentation/baseUri.raml | 0 .../2.0.1}/Examples/BoolFilter.json | 0 .../2.0.1}/Examples/BoolQuery.json | 0 .../2.0.1}/Examples/BoolQuery.raml | 0 .../2.0.1}/Examples/Filter.json | 0 .../2.0.1}/Examples/FilteredQuery.json | 0 .../2.0.1}/Examples/NestedQuery.json | 0 .../Examples/PaginatedSearchResultBase.json | 0 .../2.0.1}/Examples/Query.json | 0 .../2.0.1}/Examples/QueryFilter.json | 0 .../2.0.1}/Examples/Range2Filter.json | 0 .../2.0.1}/Examples/RangeFilter.json | 0 .../2.0.1}/Examples/SearchRequestBase.json | 0 .../Examples/SimpleSearchResultBase.json | 0 .../2.0.1}/Examples/TermFilter.json | 0 .../2.0.1}/Examples/TermQuery.json | 0 .../2.0.1}/Examples/TextQuery.json | 0 .../2.0.1}/SecuritySchemes/am-oauth-2.raml | 12 +- .../SecuritySchemes/shopper-token-taob.raml | 51 +++ .../SecuritySchemes/shopper-token-tsob.raml | 50 +++ .../2.0.1/SecuritySchemes/shopper-token.raml | 50 +++ .../2.0.1}/Types/ISO-standards.raml | 18 + .../2.0.1}/Types/additional-properties.raml | 0 .../Types/attribute-definition-types.raml | 177 +++++++++ .../2.0.1/Types}/error-response.raml | 0 .../2.0.1}/Types/pagination-types.raml | 0 .../2.0.1}/Types/search-types.raml | 140 +++---- .../2.0.1/commerce-cloud-standards.raml | 118 ++++++ .../2.0.1}/example.raml | 13 +- .../2.0.1/exchange.json | 10 + .../slas-shopper-login-uap/shopper-login.raml | 6 +- .../data-discovery-ingestion/.metadata.json | 19 - .../Types/enums/file-hash-algorithm.raml | 6 - .../Types/enums/file-upload-status.raml | 12 - .../Types/enums/ingestion-behavior.raml | 9 - .../Types/enums/ingestion-job-status.raml | 11 - .../Types/enums/upload-method.raml | 7 - .../Types/identifiers.raml | 13 - .../data-discovery-ingestion.raml | 155 -------- .../data-transfer-record.raml | 127 ------- .../discovery-ingestion-library.raml | 21 -- .../data-discovery-ingestion/exchange.json | 1 - .../api-standards/1.1.12/example.raml | 95 ----- .../1.1.12/securitySchemes/gdot.raml | 58 --- .../1.0.16/SecuritySchemes/am-oauth-2.raml | 46 --- .../1.0.16/SecuritySchemes/bearer-token.raml | 13 - .../1.0.16/SecuritySchemes/shopper-token.raml | 43 --- .../1.0.16/commerce-cloud-standards.raml | 103 ----- .../1.0.16/exchange.json | 1 - .../Errors/Examples/Authentication.json | 6 - .../0.0.28/Errors/Examples/Authorization.json | 6 - .../Errors/Examples/InternalServerError.json | 6 - .../Errors/Examples/InvalidRequest.json | 6 - .../0.0.28/Errors/Examples/LimitExceeded.json | 18 - .../Examples/NonReadableHttpMessage.json | 6 - .../0.0.28/Errors/Examples/NotFound.json | 6 - .../Errors/Examples/RateLimitExceeded.json | 7 - .../Errors/Examples/ServiceUnavailable.json | 6 - .../0.0.28/Errors/Traits/common-errors.raml | 50 --- .../Errors/Traits/resource-common-errors.raml | 50 --- .../0.0.28/Errors/discovery-error-types.raml | 156 -------- .../0.0.28/Traits/bulk-retrieval-filters.raml | 28 -- .../0.0.28/Traits/tenant-tier.raml | 10 - .../0.0.28/Traits/traceable.raml | 10 - .../0.0.28/Types/base-uri-parameters.raml | 12 - .../0.0.28/Types/date-times.raml | 13 - .../0.0.28/Types/expansion-attribute.raml | 15 - .../0.0.28/Types/identifiers.raml | 15 - .../0.0.28/Types/links.raml | 33 -- .../0.0.28/discovery-standards.raml | 52 --- .../discovery-standards/0.0.28/exchange.json | 1 - .../ingestion-job.raml | 80 ---- .../data-discovery-ingestion/ramltojaxrs.raml | 32 -- .../data-discovery-management/.metadata.json | 19 - .../attribute-definitions.raml | 231 ------------ .../boost-bury-rule-target-conditions.raml | 41 -- .../data-discovery-management.raml | 215 ----------- .../data-discovery-management/data-set.raml | 106 ------ .../data-discovery-management/exchange.json | 29 -- .../1.1.12/dataTypes/error-response.raml | 45 --- .../api-standards/1.1.12/example.raml | 95 ----- .../1.1.12/securitySchemes/gdot.raml | 58 --- .../Documentation/ErrorResponseMapping.raml | 37 -- .../1.0.16/Documentation/baseUri.raml | 23 -- .../1.0.16/Examples/BoolFilter.json | 23 -- .../1.0.16/Examples/BoolQuery.json | 33 -- .../1.0.16/Examples/BoolQuery.raml | 57 --- .../1.0.16/Examples/Filter.json | 9 - .../1.0.16/Examples/FilteredQuery.json | 19 - .../1.0.16/Examples/NestedQuery.json | 44 --- .../Examples/PaginatedSearchResultBase.json | 35 -- .../1.0.16/Examples/Query.json | 21 -- .../1.0.16/Examples/QueryFilter.json | 14 - .../1.0.16/Examples/Range2Filter.json | 7 - .../1.0.16/Examples/RangeFilter.json | 6 - .../1.0.16/Examples/SearchRequestBase.json | 10 - .../Examples/SimpleSearchResultBase.json | 31 -- .../1.0.16/Examples/TermFilter.json | 7 - .../1.0.16/Examples/TermQuery.json | 9 - .../1.0.16/Examples/TextQuery.json | 6 - .../1.0.16/SecuritySchemes/bearer-token.raml | 13 - .../1.0.16/SecuritySchemes/shopper-token.raml | 43 --- .../1.0.16/Types/ISO-standards.raml | 67 ---- .../1.0.16/Types/additional-properties.raml | 24 -- .../1.0.16/Types/pagination-types.raml | 25 -- .../1.0.16/Types/search-types.raml | 354 ------------------ .../1.0.16/commerce-cloud-standards.raml | 103 ----- .../1.0.16/example.raml | 63 ---- .../1.0.16/exchange.json | 1 - .../Errors/Examples/Authentication.json | 6 - .../0.0.34/Errors/Examples/Authorization.json | 6 - .../Errors/Examples/InternalServerError.json | 6 - .../Errors/Examples/InvalidRequest.json | 6 - .../0.0.34/Errors/Examples/LimitExceeded.json | 18 - .../Examples/NonReadableHttpMessage.json | 6 - .../0.0.34/Errors/Examples/NotFound.json | 6 - .../Errors/Examples/RateLimitExceeded.json | 7 - .../Errors/Examples/ServiceUnavailable.json | 6 - .../0.0.34/Errors/Traits/common-errors.raml | 50 --- .../Errors/Traits/resource-common-errors.raml | 50 --- .../0.0.34/Errors/discovery-error-types.raml | 156 -------- .../0.0.34/Traits/bulk-retrieval-filters.raml | 28 -- .../0.0.34/Traits/meta-data.raml | 20 - .../0.0.34/Traits/tenant-tier.raml | 10 - .../0.0.34/Traits/traceable.raml | 10 - .../0.0.34/Types/attribute-info.raml | 16 - .../0.0.34/Types/base-uri-parameters.raml | 12 - .../0.0.34/Types/date-times.raml | 13 - .../0.0.34/Types/expansion-attribute.raml | 12 - .../0.0.34/Types/group-expansion.raml | 28 -- .../0.0.34/Types/identifiers.raml | 31 -- .../0.0.34/Types/links.raml | 33 -- .../0.0.34/discovery-standards.raml | 67 ---- .../discovery-standards/0.0.34/example.raml | 58 --- .../discovery-standards/0.0.34/exchange.json | 1 - .../feature-definitions.raml | 22 -- .../ramltojaxrs.raml | 32 -- .../search-result-rule-definitions.raml | 52 --- .../search-rule.raml | 129 ------- 195 files changed, 1057 insertions(+), 4307 deletions(-) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/api-standards.raml (71%) create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes}/error-response.raml (97%) create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/dataTypes/identifers.raml (51%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/dataTypes/pagination-types.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/dataTypes/uri.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/exchange.json (77%) create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/async-created.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/date-conditional-request.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/etag-conditional-request.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/etag-response.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/offset-paginated.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/private/rate-limited-include-429.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/private/rate-limited-include-headers.raml (100%) create mode 100644 testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-2.raml (77%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-3.raml (81%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-4.raml (83%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-5.raml (85%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited.raml (77%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/sync-created.raml (100%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/api-standards.raml (71%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes}/error-response.raml (97%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/dataTypes/identifers.raml (51%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/dataTypes/pagination-types.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/dataTypes/uri.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/exchange.json (77%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/async-created.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/date-conditional-request.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/etag-conditional-request.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/etag-response.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/offset-paginated.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/private/rate-limited-include-429.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/private/rate-limited-include-headers.raml (100%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-2.raml (77%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-3.raml (81%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-4.raml (83%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited-5.raml (85%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/rate-limited.raml (77%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15}/traits/sync-created.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Documentation/ErrorResponseMapping.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Documentation/baseUri.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/BoolFilter.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/BoolQuery.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/BoolQuery.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/Filter.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/FilteredQuery.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/NestedQuery.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/PaginatedSearchResultBase.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/Query.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/QueryFilter.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/Range2Filter.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/RangeFilter.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/SearchRequestBase.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/SimpleSearchResultBase.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/TermFilter.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/TermQuery.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Examples/TextQuery.json (100%) rename testIntegration/stagingApis/{discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/SecuritySchemes/am-oauth-2.raml (67%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Types/ISO-standards.raml (77%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Types/additional-properties.raml (100%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types}/error-response.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Types/pagination-types.raml (100%) rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/Types/search-types.raml (63%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml rename testIntegration/stagingApis/{discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16 => customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1}/example.raml (82%) create mode 100644 testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml delete mode 100644 testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml index eeee65ca..1aeb9b43 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/MRTRules.raml @@ -14,6 +14,7 @@ properties: description: The description of the rule. type: string example: Phased rollout rule for dev-customer.salesforce.com + required: false lastUpdated: description: Date when the rule was last updated. type: datetime diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml index e84eb7ad..df3f1a86 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml @@ -26,6 +26,27 @@ properties: required: false default: off enum: [off, lossless, lossy] + example: off + minifyJs: + type: string + description: Minify JavaScript for a zone. + required: false + default: off + enum: ["on", "off"] + example: off + minifyHtml: + type: string + description: Minify HTML for a zone. + required: false + default: off + enum: ["on", "off"] + example: off + minifyCss: + type: string + description: Minify CSS for a zone. + required: false + default: off + enum: ["on", "off"] example: off earlyHints: type: string @@ -58,6 +79,12 @@ examples: polish: off webpExample: webp: off + minifyJsExample: + minifyJs: off + minfyHtmlExample: + minfyHtml: off + minifyCssExample: + minifyCss: off earlyHintsExample: earlyHints: off http3Example: diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml index c1f4177f..2548311c 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml @@ -3,5 +3,8 @@ data: brotliCompression: off http2Prioritization: off + minifyCss: off + minfyHtml": off + minifyJs": off polish: off webp: off \ No newline at end of file diff --git a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json index 931175bf..0a897818 100644 --- a/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json +++ b/testIntegration/stagingApis/cdn/cdn-api-process-apis/exchange.json @@ -1,12 +1,24 @@ { - "main": "cdnapi-process-api.raml", - "name": "CDN API - Process APIs", - "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "cdn-api-process-apis", + "dependencies": [ + { + "version": "2.0.1", + "assetId": "commerce-cloud-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + }, + { + "version": "1.1.12", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + } + ], "version": "1.0.36", - "apiVersion": "v1", + "apiVersion": "1.0.36", "descriptorVersion": "1.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + "classifier": "raml", + "main": "cdnapi-process-api.raml", + "assetId": "cdn-api-process-apis", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "CDN API - Process APIs" } \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json b/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json index 8da9ae34..3344a33e 100644 --- a/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange.json @@ -1,12 +1,18 @@ { - "main": "slas-admin.raml", - "name": "SLAS Admin-UAP", - "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "slas-admin-uap", + "dependencies": [ + { + "version": "1.1.15", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + } + ], "version": "1.12.23", - "apiVersion": "v1", + "apiVersion": "1.12.23", "descriptorVersion": "1.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + "classifier": "raml", + "main": "slas-admin.raml", + "assetId": "slas-admin-uap", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "SLAS Admin-UAP" } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml similarity index 71% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml index 3fa2f65e..0f4180d8 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml @@ -5,27 +5,46 @@ usage: | These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml + To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. types: - ErrorResponse: !include dataTypes/error-response.raml + ErrorResponse: Error.Error Offset: Pagination.offset Limit: Pagination.limit Total: Pagination.total Uuid: Identifiers.UniversallyUniqueIdentifier AbsoluteUrl: Uri.absoluteUrl + ChangeControlled: BaseTypes.ChangeControlledDataType uses: Pagination: dataTypes/pagination-types.raml Identifiers: dataTypes/identifers.raml Uri: dataTypes/uri.raml + BaseTypes: dataTypes/base-types.raml + Error: dataTypes/error-types.raml traits: + RangeFilter: !include traits/rangeFilter.raml + DateRangeFilter: + is: + RangeFilter: + type: date-only + name: <> + DatetimeRangeFilter: + is: + RangeFilter: + type: datetime + name: <> + NumericRangeFilter: + is: + RangeFilter: + type: number + name: <> + IntegerRangeFilter: + is: + RangeFilter: + type: integer + name: <> RateLimited: !include traits/rate-limited.raml RateLimited2: !include traits/rate-limited-2.raml RateLimited3: !include traits/rate-limited-3.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml new file mode 100644 index 00000000..21c5ffd2 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml @@ -0,0 +1,38 @@ +#%RAML 1.0 Library +usage: Library for types that act as building blocks for other types. + +types: + ChangeControlledDataType: + displayName: ChangeControlled + description: |- + A type extending this type will provide metadata regarding changes + to its data for each record. This information can be used to build + a change history of the records in this data type. + + With the exception of APIs that query such history, these fields + should never appear in API input, and possibly not in API output; + their values should be derived by the context in which the API is + called from. For example, the `creationDate` property should come + from the system time as opposed to being user provided. + properties: + creationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was first created. + required: false + modificationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was most recently modified. + required: false + createdBy: + type: string + description: The user id of the user who created this record. + required: false + pattern: /.+/ + lastModifiedBy: + type: string + description: The user id of the user who most recently modified this record. + required: false + pattern: /.+/ + \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml similarity index 97% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml index 2e59aeff..d411ea91 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml @@ -1,5 +1,7 @@ #%RAML 1.0 DataType +### DEPRECATED: Use the Library instead + # Defines a "problem detail" as a way to carry machine- # readable details of errors in a HTTP response to avoid the need to # define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml new file mode 100644 index 00000000..b2ae4f47 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml @@ -0,0 +1,54 @@ +#%RAML 1.0 Library +usage: |- + Defines a "problem detail" as a way to carry machine- + readable details of errors in a HTTP response to avoid the need to + define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +types: + Error: + description: |- + Errors reported by all APIs correspond to this error document format. + This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + This may include additional properties as necessary to provide additional details + regarding the error message. + type: object + additionalProperties: true + properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: Not Found. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: The requested resource was not found. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml similarity index 51% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml index 9270d9e3..e6e417d0 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml @@ -4,7 +4,11 @@ usage: Library for types that can act as well described identifers. types: UniversallyUniqueIdentifier: displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). + description: |- + A universally unique identifier (UUID) for the purpose of uniquely + identifying an object in the system. It is defined as a 128-bit hex + encoded string of 32 characters separated into 5 groups in a pattern + of `{8-4-4-4-12}` (36 characters total, including the `-` separators). type: string pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" example: 5cb34ffb-2543-4052-aea6-226749e4e478 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json index 75652f8c..427ed3fd 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json @@ -1 +1 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file +{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml new file mode 100644 index 00000000..c90274bf --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml new file mode 100644 index 00000000..d3724142 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml diff --git a/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml new file mode 100644 index 00000000..80c0a523 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait +usage: |- + Traits intended for GET APIs that take a name of a <> field and support + two query parameters based on that name; one suffixed with `From` that will + include the passed <> as a lower bound, and one suffixed with `To` that + will exclude the passed <> as an upper bound. + + ## Parameters: + + name: The name of the field that will be filtered + type: The type of the field that will be filtered + + +queryParameters: + <>From: + description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. + type: <> + required: false + <>To: + description: If passed, will return records where the `<>` is less than the passed `<>`. + type: <> + required: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml index f00d58c7..23c23a70 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml @@ -1,6 +1,13 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml similarity index 81% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml index 7c1ea471..9ae61c21 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml @@ -1,6 +1,14 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml similarity index 83% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml index 7b538e9a..3ef31a99 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml @@ -1,6 +1,14 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml similarity index 85% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml index 493e05de..a257bfcc 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml @@ -1,6 +1,14 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml index 3408cc87..14fe39e8 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml @@ -3,7 +3,11 @@ usage: | To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. + This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). Parameters: - `responseStatus` (integer): | diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml rename to testIntegration/stagingApis/customer/slas-admin-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json new file mode 100644 index 00000000..2a732b15 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/examples/jwks-get-response.json @@ -0,0 +1,30 @@ + +{ + "keys": [ + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "2d670fa8-0f28-44a1-b8b4-87a6d2feb1d8", + "x": "_2tPqxGhgX6cA5Qg7v6UH_9om8OR3-OehkgXXWraTp8", + "y": "DAykmQPtf282buIcL0rLwKYbK6ApgripMjazdAthUFw" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "eb70508f-4d64-46f7-a3d5-b36558d6e6b6", + "x": "VV0JVJFhkz71wY0E73Z-snorZ5oJf1QOdkIbCjyMqLs", + "y": "QLkqBVSPPrkd7HjaSEMgMU9Ob-FDpg1W-oLq5I4ExqQ" + }, + { + "kty": "EC", + "crv": "P-256", + "use": "sig", + "kid": "0f2016af-1388-4972-b54d-31cb9e3704ed", + "x": "KpmPoZTFXs80Uxy7QcOQ9aaqW35xgT3Qyakee8zR7gA", + "y": "P87TZ52rjnOGlmjaPeUGbLaOqiB7FHnoEzULIw6QlfJ" + } + ] +} + \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json index 7a8e1177..7c855c64 100644 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange.json @@ -1,12 +1,24 @@ { - "main": "shopper-login.raml", - "name": "SLAS Shopper Login-UAP", + "dependencies": [ + { + "version": "1.1.15", + "assetId": "api-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + }, + { + "version": "2.0.1", + "assetId": "commerce-cloud-standards", + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "provided": false + } + ], + "version": "1.39.36", + "apiVersion": "1.39.36", + "descriptorVersion": "1.0.0", "classifier": "raml", - "tags": [], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "main": "shopper-login.raml", "assetId": "slas-shopper-login-uap", - "version": "1.39.33", - "apiVersion": "v1", - "descriptorVersion": "1.0.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "name": "SLAS Shopper Login-UAP" } \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml similarity index 71% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml index 3fa2f65e..0f4180d8 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/api-standards.raml @@ -5,27 +5,46 @@ usage: | These RAML componenets will define those constraints that RESTful Services developed at Commerce Cloud will adhere to. This API implements the version **[1.1 of the REST standard](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1)**, please make sure this is the version you are meaning to use before leveraging these RAML components. - In order to ease the future generation of code, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. - - An example RAML is provided in `/example.raml`. - -securitySchemes: - GDoT: !include securitySchemes/gdot.raml + To make code generation easier in the future, this artifact is meant to be used as a RAML Library. Refrain from using this as partial includes. types: - ErrorResponse: !include dataTypes/error-response.raml + ErrorResponse: Error.Error Offset: Pagination.offset Limit: Pagination.limit Total: Pagination.total Uuid: Identifiers.UniversallyUniqueIdentifier AbsoluteUrl: Uri.absoluteUrl + ChangeControlled: BaseTypes.ChangeControlledDataType uses: Pagination: dataTypes/pagination-types.raml Identifiers: dataTypes/identifers.raml Uri: dataTypes/uri.raml + BaseTypes: dataTypes/base-types.raml + Error: dataTypes/error-types.raml traits: + RangeFilter: !include traits/rangeFilter.raml + DateRangeFilter: + is: + RangeFilter: + type: date-only + name: <> + DatetimeRangeFilter: + is: + RangeFilter: + type: datetime + name: <> + NumericRangeFilter: + is: + RangeFilter: + type: number + name: <> + IntegerRangeFilter: + is: + RangeFilter: + type: integer + name: <> RateLimited: !include traits/rate-limited.raml RateLimited2: !include traits/rate-limited-2.raml RateLimited3: !include traits/rate-limited-3.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml new file mode 100644 index 00000000..21c5ffd2 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/base-types.raml @@ -0,0 +1,38 @@ +#%RAML 1.0 Library +usage: Library for types that act as building blocks for other types. + +types: + ChangeControlledDataType: + displayName: ChangeControlled + description: |- + A type extending this type will provide metadata regarding changes + to its data for each record. This information can be used to build + a change history of the records in this data type. + + With the exception of APIs that query such history, these fields + should never appear in API input, and possibly not in API output; + their values should be derived by the context in which the API is + called from. For example, the `creationDate` property should come + from the system time as opposed to being user provided. + properties: + creationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was first created. + required: false + modificationDate: + type: datetime + #default: sysdate + description: The timestamp of when this record was most recently modified. + required: false + createdBy: + type: string + description: The user id of the user who created this record. + required: false + pattern: /.+/ + lastModifiedBy: + type: string + description: The user id of the user who most recently modified this record. + required: false + pattern: /.+/ + \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml similarity index 97% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml index 2e59aeff..d411ea91 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/error-response.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-response.raml @@ -1,5 +1,7 @@ #%RAML 1.0 DataType +### DEPRECATED: Use the Library instead + # Defines a "problem detail" as a way to carry machine- # readable details of errors in a HTTP response to avoid the need to # define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml new file mode 100644 index 00000000..b2ae4f47 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/error-types.raml @@ -0,0 +1,54 @@ +#%RAML 1.0 Library +usage: |- + Defines a "problem detail" as a way to carry machine- + readable details of errors in a HTTP response to avoid the need to + define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + +types: + Error: + description: |- + Errors reported by all APIs correspond to this error document format. + This format follows the RFC [IETF rfc7807](https://tools.ietf.org/html/rfc7807). + This may include additional properties as necessary to provide additional details + regarding the error message. + type: object + additionalProperties: true + properties: + type: + description: | + A URI reference [RFC3986] that identifies the + problem type. This specification encourages that, when + dereferenced, it provide human-readable documentation for the + problem type (e.g., using HTML [W3C.REC-html5-20141028]). When + this member is not present, its value is assumed to be + "about:blank". It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: true + example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-found + title: + description: | + A short, human-readable summary of the problem + type. It will not change from occurrence to occurrence of the + problem, except for purposes of localization. + type: string + required: false + example: Not Found. + detail: + description: | + A human-readable explanation specific to this + occurrence of the problem. + type: string + required: false + example: The requested resource was not found. + instance: + description: | + A URI reference that identifies the specific + occurrence of the problem. It may or may not yield further + information if dereferenced. It accepts relative URIs; this means + that they must be resolved relative to the document's base URI, as + per [RFC3986], Section 5. + type: string + required: false + example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml similarity index 51% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml index 9270d9e3..e6e417d0 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/identifers.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/identifers.raml @@ -4,7 +4,11 @@ usage: Library for types that can act as well described identifers. types: UniversallyUniqueIdentifier: displayName: Uuid - description: A universally unique identifier (UUID) for the purpose of uniquely identifying an object in the system. It is defined as a 128-bit hex encoded string of 32 characters separated into 5 groups in a pattern of `{8-4-4-4-12}` (36 characters total, with the `-` separator). + description: |- + A universally unique identifier (UUID) for the purpose of uniquely + identifying an object in the system. It is defined as a 128-bit hex + encoded string of 32 characters separated into 5 groups in a pattern + of `{8-4-4-4-12}` (36 characters total, including the `-` separators). type: string pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" example: 5cb34ffb-2543-4052-aea6-226749e4e478 diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/pagination-types.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/pagination-types.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/uri.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/dataTypes/uri.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json index 75652f8c..427ed3fd 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/exchange.json +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/exchange.json @@ -1 +1 @@ -{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.12","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file +{"main":"api-standards.raml","name":"API Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","backwardsCompatible":false,"assetId":"api-standards","version":"1.1.15","apiVersion":"v1","dependencies":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml new file mode 100644 index 00000000..c90274bf --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip180-warn-299-example.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip180-warn-299-example: \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml new file mode 100644 index 00000000..d3724142 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/snippets/aip193-errors-403-forbidden.raml @@ -0,0 +1,2 @@ +#%RAML 1.0 NamedExample +aip193-errors-403-forbidden: \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/async-created.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/async-created.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/date-conditional-request.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/date-conditional-request.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-conditional-request.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-conditional-request.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/etag-response.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/etag-response.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/offset-paginated.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/offset-paginated.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-429.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-429.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/private/rate-limited-include-headers.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/private/rate-limited-include-headers.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml new file mode 100644 index 00000000..80c0a523 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rangeFilter.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 Trait +usage: |- + Traits intended for GET APIs that take a name of a <> field and support + two query parameters based on that name; one suffixed with `From` that will + include the passed <> as a lower bound, and one suffixed with `To` that + will exclude the passed <> as an upper bound. + + ## Parameters: + + name: The name of the field that will be filtered + type: The type of the field that will be filtered + + +queryParameters: + <>From: + description: If passed, will return records where the `<>` is equal to or greater than the passed `<>`. + type: <> + required: false + <>To: + description: If passed, will return records where the `<>` is less than the passed `<>`. + type: <> + required: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml index f00d58c7..23c23a70 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-2.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-2.raml @@ -1,6 +1,13 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml similarity index 81% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml index 7c1ea471..9ae61c21 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-3.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-3.raml @@ -1,6 +1,14 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml similarity index 83% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml index 7b538e9a..3ef31a99 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-4.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-4.raml @@ -1,6 +1,14 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml similarity index 85% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml index 493e05de..a257bfcc 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited-5.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited-5.raml @@ -1,6 +1,14 @@ #%RAML 1.0 Trait usage: | + DEPRECATED: Use rate-limited multiple times: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 + + + To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). Parameters: diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml index 3408cc87..14fe39e8 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/rate-limited.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/rate-limited.raml @@ -3,7 +3,11 @@ usage: | To be applied on endpoints that use rate limiting as described in [rate limiting](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). - This trait only support endpoints with a single return code (plus a 429), see `rate-limited-*n*` for other options. + This trait only support endpoints with a single return code (plus a 429), to support multiple status codes, simply use this trait multiple times, for example: + - conventions.RateLimited: + responseStatus: 201 + - conventions.RateLimited: + responseStatus: 404 For future reference, `rate-limited-*n*`s won't probably be necessary when the following RAML issue is [fixed](https://github.com/raml-org/raml-spec/issues/629). Parameters: - `responseStatus` (integer): | diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/traits/sync-created.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.15/traits/sync-created.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/ErrorResponseMapping.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Documentation/baseUri.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolFilter.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/BoolQuery.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Filter.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/FilteredQuery.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/NestedQuery.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/PaginatedSearchResultBase.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Query.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/QueryFilter.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/Range2Filter.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/RangeFilter.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SearchRequestBase.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/SimpleSearchResultBase.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermFilter.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TermQuery.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Examples/TextQuery.json diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml similarity index 67% rename from testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml index f5e12239..2a4c8589 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/am-oauth-2.raml @@ -10,36 +10,36 @@ describedBy: headers: Authorization: description: | - OAuth 2.0 access-token in Bearer scheme + OAuth 2.0 access token in Bearer scheme type: string pattern: "Bearer .*" examples: authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f responses: 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. headers: WWW-Authenticate: example: | WWW-Authenticate: Bearer realm="servers", error="invalid_token", - error_description="The access-token expired" + error_description="The access token expired" body: application/json: type: !include ../Types/error-response.raml example: type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. + detail: Your access token is invalid and can’t be used to identify an API client or user. 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. body: application/json: type: !include ../Types/error-response.raml example: type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. + detail: Your access token is valid, but you don’t have the required permissions to access the resource. settings: authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml new file mode 100644 index 00000000..e6754c16 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-taob.raml @@ -0,0 +1,51 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperTokenTaob` (Taob = trusted agent on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. + A token of type `ShopperTokenTaob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTaob`. + To get a `ShopperTokenTaob` token, a `Taob` session needs to be created first (see [getTrustedAgentAuthorizationToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAuthorizationToken)). Afterwards the `ShopperTokenTaob` token can be gained (see [getTrustedAgentAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-login?meta=getTrustedAgentAccessToken)). + For more information regarding the `Taob` flow see also [Trusted Agent Authorization](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-trusted-agent.html). + +type: OAuth 2.0 +displayName: ShopperTokenTaob + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-agent/token + authorizationGrants: [client_credentials] + \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml new file mode 100644 index 00000000..a8248865 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token-tsob.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperTokenTsob` (Tsob = trusted system on behalf) is a child of the `ShopperToken` security scheme and extends the functionality of `ShopperToken` for specific use cases. + A token of type `ShopperTokenTsob` allows you to access Shopper API endpoints, including OCAPI and Salesforce Commerce API for headless applications. Besides endpoints that require this specific subtype, all other endpoints secured by the `ShopperToken` parent scheme can be accessed with a `ShopperTokenTsob`. + To learn how to get a `ShopperTokenTsob` token, see [getTrustedSystemAccessToken](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:getTrustedSystemAccessToken). + +type: OAuth 2.0 +displayName: ShopperTokenTsob + +uses: + +describedBy: + headers: + Authorization: + description: | + OAuth 2.0 access token in Bearer scheme + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify an API client or user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The access token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid and can’t be used to identify an API client or user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/trusted-system/token + authorizationGrants: [client_credentials] + \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml new file mode 100644 index 00000000..f211a3c0 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/SecuritySchemes/shopper-token.raml @@ -0,0 +1,50 @@ +#%RAML 1.0 SecurityScheme + +description: | + `ShopperToken` authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements. For a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary). + A shopper token allows you to access the Shopper API endpoints of both OCAPI and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications. + The `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token. + +type: OAuth 2.0 +displayName: ShopperToken + +uses: + +describedBy: + headers: + Authorization: + description: | + Bearer token + type: string + pattern: "Bearer .*" + examples: + authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f + responses: + 401: + description: Unauthorized. Your access token is invalid or expired and can’t be used to identify a user. + headers: + WWW-Authenticate: + example: | + WWW-Authenticate: Bearer realm="servers", + error="invalid_token", + error_description="The token expired" + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" + title: Unauthorized + detail: Your access token is invalid or expired and can’t be used to identify a user. + 403: + description: Forbidden. Your access token is valid, but you don’t have the required permissions to access the resource. + body: + application/json: + type: !include ../Types/error-response.raml + example: + type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" + title: Forbidden + detail: Your access token is valid, but you don’t have the required permissions to access the resource. +settings: + authorizationUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize + accessTokenUri: https://{short-code}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token + authorizationGrants: [authorization_code,client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml similarity index 77% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml index 0dc2f69e..cb15c1c0 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/ISO-standards.raml @@ -22,6 +22,8 @@ types: A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. # type: ISOCurrency | NoValue type: string + example: + USD MoneyMnemonic: description: |- A combination of a Currency and an amount of that Currency. @@ -65,3 +67,19 @@ types: default: default enum: - default + L10nString: + description: |- + A string with content that can differ by locale. Rather than being stored as an individual value, it is stored as a map of a LocaleCode and the translated value in that locale. + + Acceptable keys are two-character language codes, the language code followed by a hyphen and a two-character country code, or the term default, representing a fallback locale if no other locale could be resolved. + type: object + properties: + /^(default|[a-z]{2}|[a-z]{2}-[A-Za-z]{2})$/: + type: string + required: false + example: + default: The quick brown fox jumps over the lazy dog. + en: The quick brown fox jumps over the lazy dog. + en-US: The quick brown fox jumps over the lazy dog. + en-CA: The quick brown fox jumps over the lazy dog. + es: El rápido zorro marrón salta sobre el perro perezoso. diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/additional-properties.raml diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml new file mode 100644 index 00000000..e1b98575 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/attribute-definition-types.raml @@ -0,0 +1,177 @@ +#%RAML 1.0 Library +usage: A common set of types used for describing the metadata of properties of types in the system, including both system and custom properties. + +uses: + AdditionalProperties: additional-properties.raml + ISO: ISO-standards.raml + +types: + AttributeDefinition: + description: A collection of metadata describing the properties of a type. This can include properties that are provided by the system, and properties that are defined by the merchant to extend the base types. + type: + AdditionalProperties.NoPropertiesAllowed + properties: + defaultValue: + description: 'The optional default value of this property.' + type: PropertyValueDefinition + required: false + id: + description: The unique identifier for the property. + type: string + example: color + required: false + pattern: ^[A-Za-z0-9]+$ + name: + description: The short, localized name of the definition, suitable for use in simple identifiers such as labels. + type: ISO.L10nString + properties: + example: + default: color + de: fabre + description: + description: A localized description of the property, describing the property in detail. + type: ISO.L10nString + example: + default: The color of the product. + de: Die Farbe des Produkts. + key: + description: A flag indicating if this property is part of the primary unique identifier of this type. + type: boolean + required: false + default: false + example: false + localizable: + description: A flag indicating if this property supports localization. + type: boolean + required: false + default: false + example: false + mandatory: + description: A flag indicating if this property must be passed when creating or updating the type. + type: boolean + required: false + default: false + example: false + max: + description: If numeric, the maximum possible value for this property. + type: number + format: double + required: false + example: 100 + minLength: + description: The minimum length of a value required when passing this property. + type: integer + format: int32 + required: false + example: 5 + min: + description: If numeric, the minimum possible value for this property. + type: number + format: double + required: false + example: 10 + multiValueType: + description: A flag indicating if the property supports multiple values. Most property valueTypes only support one value. The valueTypes `int`, `double`, `string`,`enum_of_int` and `enum_of_string` may set this property to support multiple values. + type: boolean + required: false + default: false + example: false + regularExpression: + description: A regular expression that defines the valid values for this property. The exact regular expression syntax is determined by the implementation of the API. + type: string + required: false + example: ".*[a-zA-Z]{2,}+.*" + scale: + description: If the property supports floating point numbers, the number of decimal digits for a numeric value of this property. + type: integer + format: int32 + required: false + default: 2 + example: 2 + searchable: + description: A flag indicating if this property is intended to be indexed for searching in the customer facing storefront. + type: boolean + required: false + default: false + example: true + siteSpecific: + description: A flag indicating if this property supports different values for each storefront. + type: boolean + required: false + default: false + example: false + system: + description: A flag indicating if this property is provided by the system. + type: boolean + required: false + default: false + example: true + unit: + description: If numeric, identifes what unit of measure the value of this property is measured by. + type: ISO.L10nString + required: false + example: + default: inches + de: Zoll + possibleValues: + description: A set of values that are possible for this property. + type: PropertyValueDefinition[] + required: false + type: + description: The data type of this property. + type: string + enum: + - string + - int + - double + - text + - html + - date + - image + - boolean + - money + - quantity + - datetime + - email + - password + - enum_of_string + - enum_of_int + example: "string" + visible: + description: A flag indicating that this property is visible. + type: boolean + required: false + default: true + example: true + PropertyValueDefinition: + description: Represents an actual or possible value for a property + type: + AdditionalProperties.NoPropertiesAllowed + properties: + description: + description: A description of the property value. + type: ISO.L10nString + example: + default: Rose Red + de: Rosenrot + displayValue: + description: |- + A display name that can be used to present this value in the user interface. For example, if the property is 'color', the value might be '1' but the display might be 'Red'. + type: ISO.L10nString + example: + default: Red + de: Rot + id: + description: The unique id of the property value. + type: string + example: "1" + position: + description: The position of the property value within the collection of possible property values. + type: number + format: double + required: false + example: 0.0 + value: + description: The value of the property. + type: string + example: "1" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/error-response.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml similarity index 100% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/pagination-types.raml diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml similarity index 63% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml index fa1a4f62..93accaf6 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/Types/search-types.raml @@ -1,21 +1,21 @@ #%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. +usage: A common set of search-related request types and response types for OCAPI Data resources. Data resources are expected to use the search request directly and extend the search response in their definition. uses: Pagination: pagination-types.raml types: BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. + description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator. type: object example: !include ../Examples/BoolFilter.json properties: filters: - description: A list of filters, which are logically combined by an operator. - type: any[] + description: A list of filters that are logically combined by an operator. + type: Filter[] required: false operator: - description: The logical operator the filters are combined with. + description: The logical operator that is used to combine the filters. type: string enum: - and @@ -23,42 +23,43 @@ types: - not BoolQuery: description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: + A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. + - `must`, which combines as an `AND` operator. + - `should`, which combines as an `OR` operator. + - `must_not`, which combines as a `NOT` operator. - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: + If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: (must-1 AND must-1 AND ...) AND (should-1 OR should-2 OR ...) AND NOT (must_not-1 OR must_not-2 OR ...) + type: object examples: !include ../Examples/BoolQuery.raml properties: must?: - description: List of queries to be evaluated as an `AND`. - type: any[] + description: List of queries to be evaluated as an `AND` operator. + type: Query[] mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] + description: List of queries to be evaluated as a `NOT` operator. + type: Query[] should?: - description: List of queries to be evaluated as an `OR`. - type: any[] + description: List of queries to be evaluated as an `OR` operator. + type: Query[] Filter: description: |- Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter + * `TermFilter` + - Matches records where a field (or fields) exactly matches some simple value (including `null`). + * `RangeFilter` + - Matches records where a field value lies within a specified range. + * `Range2Filter` - Matches records in a specified range across fields. - * QueryFilter + * `QueryFilter` - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. + * `BoolFilter` + - Provides filtering of records using a set of filters combined using a logical operator. type: object example: !include ../Examples/Filter.json minProperties: 1 @@ -70,24 +71,24 @@ types: rangeFilter?: RangeFilter termFilter?: TermFilter FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. + description: Allows to filter the result of a possibly complex query using a possibly complex filter. type: object example: !include ../Examples/FilteredQuery.json properties: filter: description: The possibly complex filter object. - type: any + type: Filter query: description: The query object. - type: any + type: Query MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. + description: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. type: object NestedQuery: description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. + Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. + A `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation. type: object example: !include ../Examples/NestedQuery.json properties: @@ -96,7 +97,7 @@ types: type: string query: description: The query to run on the nested document. - type: any + type: Query scoreMode: description: |- Indicates how scores for matching child objects affect the root parent document’s relevance score. @@ -110,19 +111,19 @@ types: Query: description: |- A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery + * `MatchAllQuery` - Matches all documents. - * TermQuery + * `TermQuery` - Matches one or more documents against one or more document fields. - * TextQuery + * `TextQuery` - Matches text against one or more fields. - * BoolQuery + * `BoolQuery` - Allows construction of a logical expression of multiple queries. - * FilteredQuery + * `FilteredQuery` - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ + * `NestedQuery` + - Allows you to query on nested documents. + - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ type: object maxProperties: 1 minProperties: 1 @@ -142,22 +143,22 @@ types: properties: query: description: The query to use as a filter. - type: any + type: Query Range2Filter: description: |- Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". + The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. - The second range (R2) is defined by "fromValue" and "toValue". + The second range (R2) is defined by `fromValue` and `toValue`. The filter mode specifies the method used to compare the two ranges: - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. + * `overlap`: R1 overlaps fully or partially with R2. + * `containing`: R1 contains R2. + * `contained`: R1 is contained in R2. - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. + The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. @@ -165,20 +166,22 @@ types: example: !include ../Examples/Range2Filter.json properties: filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' + description: 'Compare mode: overlap, containing, or contained.' type: string enum: - overlap - containing - contained + default: overlap required: false fromField: description: The field name of the field that starts the first range. type: string fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. + description: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. type: boolean required: false + default: true fromValue: description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. type: any @@ -187,16 +190,17 @@ types: description: The field name of the field that ends the first range. type: string toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. + description: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. type: boolean required: false + default: true toValue: description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. type: any required: false RangeFilter: description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. + Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. type: object @@ -210,17 +214,19 @@ types: type: any required: false fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. + description: A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`. type: boolean required: false + default: true to: description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. type: any required: false toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. + description: A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`. type: boolean required: false + default: true SearchRequestBase: description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. type: object @@ -232,10 +238,10 @@ types: description: Maximum records to retrieve per request, not to exceed 200. query: description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any + The search query. See the description of the search endpoint for a list of queryable attributes. + type: Query sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. + description: The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed. type: Sort[] required: false offset?: Pagination.Offset @@ -245,8 +251,8 @@ types: example: !include ../Examples/PaginatedSearchResultBase.json properties: query: - description: The query passed into the search. - type: any + description: The query that is passed into the search. + type: Query sorts: description: The sorting that was applied to the result. type: Sort[] @@ -268,7 +274,7 @@ types: total: Pagination.Total Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. + description: Document representing a sort request. Each API has a different default sort configuration that can be modified in the request. type: object example: { "field": "couponId", "sortOrder": "desc" } properties: @@ -293,7 +299,7 @@ types: description: The filter field. type: string operator: - description: The operator to compare the field's values with the given ones. + description: The operator used to compare the field's values with the given values. type: string enum: - is @@ -310,17 +316,17 @@ types: required: false TermQuery: description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. + A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator. **Limitations:** - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. + * The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise. + * A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. type: object example: !include ../Examples/TermQuery.json properties: fields: - description: The document fields, the values are matched against, combined with the operator. + description: The document fields that the values are matched against, combined with the operator. minItems: 1 type: string[] operator: @@ -336,19 +342,19 @@ types: - not_in - neq values: - description: The values, the fields are compared against, combined with the operator. + description: The values that the fields are compared against, combined with the operator. type: any[] required: false TextQuery: description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. + A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. type: object example: !include ../Examples/TextQuery.json properties: fields: - description: The document fields the search phrase has to match against. + description: The document fields that the search phrase matches against. minItems: 1 type: string[] searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. + description: A search phrase, which can include multiple terms separated by spaces. type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml new file mode 100644 index 00000000..90ec2324 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/commerce-cloud-standards.raml @@ -0,0 +1,118 @@ +#%RAML 1.0 Library +usage: |- + + The Commerce Cloud API Standards is a collection of types, traits, security schemes, and more that follows the standards that are defined for the B2C Commerce APIs. Use this standard library in conjunction with the Salesforce API Standards library, via the `uses` property. See the main RAML file for any of the B2C Commerce APIs for example usage. + + The goal of this library is to expose only the importable objects and keep other, internal details as private. If you have suggestions for adding to the standard, contact the C4E team with your proposal. + + # Security Schemes + + This library provides the following reusable security schemes. Except in rare circumstances, avoid defining a custom security scheme for a single API. The security schemes provided here or in the Salesforce API Standards are designed to meet the needs of most applications. + + Security schemes included in Commerce Cloud Standards: + + - `AmOAuth2`: for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. + - `ShopperToken`: for endpoints authenticated via Shopper JWTs. + + ## Types + + This library provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `SiteId`: a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. + + ## Search Specific + + - `SearchRequest`: a type commonly used for searching that takes a query in a body. + - `PaginatedSearchResult`: a type commonly used for a search response that took a query in a body. + - `SimpleSearchResult`: a type used for a search response that takes a query in a body, but does not return a paginated result. + + ## Standards Followed + + - `CurrencyCode`: ISO 4217 compliant currency code. + - `Money`: A combination of a CurrencyCode and a number. + - `LanguageCode`: ISO 639-1 compliant language code. + - `CountryCode`: ISO 3166-1 compliant country code. + - `LocaleCode`: A combination of LanguageCode and CountryCode. + + ## Resource Types + + This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `Organization`: a type that describes the `organizationId` URI parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type provides the documentation and validation of the `organizationId`. + + ## Traits + + This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. + + - `Selectable`: adds a query parameter called `select` of type `Select` to the request. + - `SiteSpecific`: adds a query parameter called `siteId` of type `SiteId` to the request. + - `QueryParamsLimit`: adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. + - `QueryParamsOffset`: adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated` because this trait will be deprecated in the future if there is no use case for it. + +uses: + AdditionalProperties: Types/additional-properties.raml + Search: Types/search-types.raml + Pagination: Types/pagination-types.raml + ISO: Types/ISO-standards.raml + AttributeDefinitions: Types/attribute-definition-types.raml + +securitySchemes: + AmOAuth2: !include SecuritySchemes/am-oauth-2.raml + ShopperToken: !include SecuritySchemes/shopper-token.raml + ShopperTokenTsob: !include SecuritySchemes/shopper-token-tsob.raml + ShopperTokenTaob: !include SecuritySchemes/shopper-token-taob.raml + +types: + SiteId: + description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites + example: + SiteGenesis + type: string + minLength: 1 + Select: + description: The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. + example: + (name,id,variationAttributes.(**)) + type: string + minLength: 1 + SearchRequest: Search.SearchRequestBase + PaginatedSearchResult: Search.PaginatedSearchResultBase + SimpleSearchResult: Search.SimpleSearchResultBase + + CurrencyCode: ISO.Currency + Money: ISO.MoneyMnemonic + LanguageCode: ISO.Language + CountryCode: ISO.Country + LocaleCode: ISO.Locale + LocalizedString: ISO.L10nString + + PropertyDefinition: AttributeDefinitions.AttributeDefinition + + ClosedObject: AdditionalProperties.NoPropertiesAllowed + OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed + +resourceTypes: + Organization: + uriParameters: + organizationId: + description: An identifier for the organization the request is being made by. + example: + f_ecom_zzxy_prd + +traits: + QueryParamsLimit: + usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. + queryParameters: + limit?: Pagination.Limit + QueryParamsOffset: + usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. + queryParameters: + offset?: Pagination.Offset + SiteSpecific: + usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter + queryParameters: + siteId: SiteId + Selectable: + usage: This trait should be used whenever a resource supports generic property selection. This will add a select query parameter. + queryParameters: + select?: Select \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml similarity index 82% rename from testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml rename to testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml index 8b117905..0a12252c 100644 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/example.raml @@ -26,8 +26,7 @@ uses: displayName: getFoo description: Example get Method securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken + - CommerceCloudStandards.AmOAuth2: { scopes: [example]} is: - CommerceCloudStandards.QueryParamsOffset: @@ -35,6 +34,7 @@ uses: - CommerceCloudStandards.SiteSpecific: objectType: SiteId objectId: SiteGenesis + - CommerceCloudStandards.Selectable responses: 200: description: an example response @@ -46,9 +46,14 @@ uses: description: Another example endpoint get: displayName: getBar - description: Another example get method + description: |- + Another example get method + + ## Scopes + + This endpoint requires that you have access to the following scopes: shopper-example securedBy: - - CommerceCloudStandards.ShopperToken + - CommerceCloudStandards.ShopperToken: { scopes: [shopper-example]} is: - CommerceCloudStandards.SiteSpecific: diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json new file mode 100644 index 00000000..99686e80 --- /dev/null +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/2.0.1/exchange.json @@ -0,0 +1,10 @@ +{ + "main": "commerce-cloud-standards.raml", + "name": "Commerce Cloud Standards", + "classifier": "raml-fragment", + "tags": [], + "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", + "assetId": "commerce-cloud-standards", + "version": "2.0.1", + "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" +} \ No newline at end of file diff --git a/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml index 15266ef2..843361bf 100644 --- a/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml +++ b/testIntegration/stagingApis/customer/slas-shopper-login-uap/shopper-login.raml @@ -591,6 +591,7 @@ types: example: "Ar0lAwU_jsuA~ZXX8-JnMbZFxrnDot2OtgLEi1kOT_FxD6Bo0EQDbbrvoym9xHvatNGnNzrObLJeK6e4U9m4pveRMbdwNGa4jwiAlKGvijVn0PW0hqb03_w1gQE00wTo" new_password: description: The new password to set for the shopper associated with the password action token. + required: false type: string example: "new_password" channel_id: @@ -2044,9 +2045,10 @@ types: 200: description: Success, the response body contains the JWKS keys. body: - type: JwksSuccessResponse + application/json: + type: object examples: - JwksSuccessResponse: !include examples/jwks-get-response.raml + object: !include examples/jwks-get-response.json 400: description: Bad Request body: diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json deleted file mode 100644 index 862938c7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/data-discovery-ingestion/2.1.10", - "name": "Data Discovery Ingestion", - "description": "Overview", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "data-discovery-ingestion", - "version": "2.1.10", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Discovery" - ], - "CC Version Status": [ - "GA" - ] - } -} diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml deleted file mode 100644 index 322e9077..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-hash-algorithm.raml +++ /dev/null @@ -1,6 +0,0 @@ -#%RAML 1.0 DataType - -description: The algorithm used for hashing the file. -enum: - - SHA_256 -example: SHA_256 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml deleted file mode 100644 index 2402cd83..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/file-upload-status.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -description: The file upload and validation status. -enum: - - WAITING - - VALIDATING - - SUCCESS - - HASH_FAILURE - - TRANSFER_FAILURE - - FILE_FORMAT_FAILURE - - FILE_SIZE_LIMIT_FAILURE -example: SUCCESS diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml deleted file mode 100644 index 1686c763..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-behavior.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType - -description: The ingestion process action to be executed. The REPLACE will overwrite any existing data if a collision occurs. -type: - enum: - - REPLACE - - MERGE_AND_CREATE - - MERGE_IF_EXISTS -example: REPLACE \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml deleted file mode 100644 index d4e0ebfc..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/ingestion-job-status.raml +++ /dev/null @@ -1,11 +0,0 @@ -#%RAML 1.0 DataType - -description: The Ingestion Job status. -enum: - - SCHEDULED - - ACCEPTED - - REJECTED - - IN_PROGRESS - - COMPLETED - - FAILED -example: ACCEPTED \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml deleted file mode 100644 index 27104178..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/enums/upload-method.raml +++ /dev/null @@ -1,7 +0,0 @@ -#%RAML 1.0 DataType - -description: The REST verb to be used for calling the URL. -enum: - - POST - - PUT -example: PUT \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml deleted file mode 100644 index 618b8d08..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/Types/identifiers.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Library - -types: - - DataTransferRecordId: - description: The unique idenfitier of a Data Transfer Record. - type: string - example: a607ab82-5f3d-11ea-bc55-0242ac130003 - - IngestionJobId: - description: The unique idenfitier of an Ingestion Job. - type: string - example: cb95f974-5f3f-11ea-bc55-0242ac130003 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml deleted file mode 100644 index 00cbc150..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-discovery-ingestion.raml +++ /dev/null @@ -1,155 +0,0 @@ -#%RAML 1.0 -version: v2 -title: Data Discovery Ingestion - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml - IngestionLibrary: discovery-ingestion-library.raml - IngestionJob: ingestion-job.raml - DataTransferRecord: data-transfer-record.raml - ErrorTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml - RamlToJaxrs: ramltojaxrs.raml - -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/ingestion/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - example: 0dnz6oep - version: DiscoveryStandards.Version - -description: These APIs are responsible for uploading the catalog files by creating a Data Transfer Record and then ingesting them using the Ingestion Job endpoints. Once the ingestion process is over, it provides the Data Set the ability to consume the data on which the query operation can be performed. - -(RamlToJaxrs.resources): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responseClasses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.methods): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.types): - plugins: - - name: ramltojaxrs.chainSetter - -/organizations/{organizationId}/data-sets/{dataSetId}: - type: CommerceCloudStandards.Organization - uriParameters: - dataSetId: DiscoveryStandards.DataSetId - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.TenantTier - patch: - description: Ingest the data associated with the Data Transfer Record IDs to provide the ability to the Data Set to consume it for querying. This is a prerequisite step before using the query endpoint. - displayName: updateDataSet - is: - - DiscoveryStandards.ResourceCommonErrors - body: - type: IngestionJob.IngestionInput - responses: - 202: - description: Data Transfer Record details are accepted for the ingestion process and use the link in the headers to track the progress of the ingenstion job process. - headers: - Location: - type: string - description: The location to track the ingestion progress. - example: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/ingestion/v2/organizations/org-id/data-sets/a607ab82-5f3d-11ea-bc55-0242ac130003/ingestion-jobs/cb95f974-5f3f-11ea-bc55-0242ac130003 - body: - type: IngestionJob.IngestionOutput - - /data-transfer-records: - type: CommerceCloudStandards.Organization - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - post: - description: Catalog files are not uploaded directly into the platform. The process is initiated by creating a Data Transfer Record, which provides a URL where the file has to be uploaded to be used by the platform. This endpoint creates a Data Transfer Record which contains the information about a catalog and a location with some header information in the response. - displayName: createDataTransferRecord - is: - - ApiStandards.SyncCreated: - responseType: DataTransferRecord.DataTransferRecordCreationOutput - resourcePath: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-transfer-records - body: - type: DataTransferRecord.DataTransferRecordCreationInput - get: - description: To retrieve all the created Data Transfer Records associated with a Data Set based on optional custom filters. The Data Transfer Records received will be sorted based on the earliest creation time. - displayName: getDataTransferRecords - is: - - DiscoveryStandards.Filterable - - ApiStandards.OffsetPaginated: - maxLimit: 50 - defaultSize: 10 - responses: - 200: - description: Returned all the Data Transfer Records associated with a Data Set ordered based on the earliest creation time. - body: - type: DataTransferRecord.DataTransferRecordsBulkResponse - - /data-transfer-records/{dataTransferRecordId}: - type: CommerceCloudStandards.Organization - uriParameters: - dataTransferRecordId: IngestionLibrary.DataTransferRecordId - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - get: - description: Returns the Data Transfer Record identified by its ID associated with a particular Data Set. Can be used for tracking the progress of the upload and validation process of your file. - displayName: getDataTransferRecord - responses: - 200: - description: Successfully returned details about the Data Transfer Record. - body: - type: DataTransferRecord.DataTransferRecord - - /ingestion-jobs: - type: CommerceCloudStandards.Organization - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - get: - description: Retrieves the execution status of all the custom filtered Ingestion Jobs along with a count of failed and successfully ingested items during the process. - displayName: getIngestionJobs - is: - - DiscoveryStandards.Filterable - - ApiStandards.OffsetPaginated: - maxLimit: 50 - defaultSize: 10 - queryParameters: - statuses?: - description: List of Ingestion Job statuses. - type: string[] - items: - IngestionLibrary.IngestionStatus - example: [ ACCEPTED, SCHEDULED ] - responses: - 200: - description: Returned the bulk status of all the Ingestion Jobs that match the refinement criteria. If the given inputs don't match any of the ingestion jobs, empty collection is returned. - body: - type: IngestionJob.IngestionJobsBulkStatus - - /ingestion-jobs/{ingestionJobId}: - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - uriParameters: - ingestionJobId: IngestionLibrary.IngestionJobId - get: - description: Track the progress of the Ingestion Job process. The link to the ingestionJobId is received from the response header of the updateDataTransferRecords endpoint. - displayName: getIngestionJob - responses: - 200: - description: Successfully retrieved the Ingestion Job status. - body: - type: IngestionJob.IngestionJob diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml deleted file mode 100644 index 2b4f012e..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/data-transfer-record.raml +++ /dev/null @@ -1,127 +0,0 @@ -#%RAML 1.0 Library -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - IngestionLibrary: discovery-ingestion-library.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - FileCommonAttributes: - description: File upload common attributes used by different data types. - type: CommerceCloudStandards.ClosedObject - properties: - fileName: - description: The name of the file. - type: string - example: file1.dat - hashAlgorithm: IngestionLibrary.FileHashAlgorithm - fileHash: - description: The expected hash of the file. - type: string - example: 35245312A7EB9A085F57A3031D29FD7E78B8ED9FDE52AB35957F20C68F79F168 - - DataTransferRecordCommonAttributesWithFileData: - description: Common attributes of the Data Transfer Record including the file data that are used by multiple data types. - type: FileCommonAttributes - properties: - dataTransferRecordId: IngestionLibrary.DataTransferRecordId - validationStatus: IngestionLibrary.FileStatus - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - - DataTransferRecordCommonAttributes: - description: Common attributes of the Data Transfer Record excluding the file data. - type: CommerceCloudStandards.ClosedObject - properties: - dataTransferRecordId: IngestionLibrary.DataTransferRecordId - validationStatus: IngestionLibrary.FileStatus - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - - DataTransferRecord: - description: Details about the Data Transfer Record. - type: DataTransferRecordCommonAttributesWithFileData - properties: - uploadLinkDetails: UploadLinkDetails - - DataTransferRecordCreationInput: - description: The information describing the data file. - type: FileCommonAttributes - properties: - expirationDurationInMinutes?: - description: The number of minutes to keep the upload link active. - type: integer - example: 10 - minimum: 1 - maximum: 30 - default: 5 - - DataTransferRecordCreationOutput: - description: Details about the created Data Transfer Record. - type: CommerceCloudStandards.ClosedObject - properties: - dataTransferRecordId: IngestionLibrary.DataTransferRecordId - uploadLinkDetails: UploadLinkDetails - creationDateTime: DiscoveryStandards.CreationDateTime - - DataTransferRecordsBulkResponse: - type: CommerceCloudStandards.ClosedObject - description: Details of all the custom filtered Data Transfer Records associated with the Data Set. - properties: - hits: - description: Bulk status of the Data Transfer Records. - type: DataTransferRecordStatus[] - limit: - type: ApiStandards.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - offset: ApiStandards.Offset - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - - DataTransferRecordStatus: - description: Details and status of the Data Transfer Records. - type: DataTransferRecordCommonAttributes - properties: - fileName: - description: The name of the file. - type: string - example: file1.dat - links: - type: DiscoveryStandards.ResourceLink - examples: - links: - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-transfer-records/a607ab82-5f3d-11ea-bc55-0242ac130003 - - UploadLinkDetails: - description: Details about the data file. - type: CommerceCloudStandards.ClosedObject - properties: - url: - description: The URL containing the location to be used for transferring the data file. - type: string - example: https://{upload-bucket-name}/04e0da11-cc0c-4306-9761-e20739347a5f/3130aae1-0137-48d3-882e-94b8beb782aa - uploadMethod: IngestionLibrary.UploadMethod - headers: - description: A collection of headers used by the API. - type: Header[] - expirationDateTime: - description: The expiry of the URL link. The file transfer must happen before this time. - type: datetime - example: 2019-03-19T12:34:56Z - - Header: - description: Headers used by the API. - type: CommerceCloudStandards.ClosedObject - properties: - name: - description: The key of the header value. - type: string - example: Content-Type - value: - description: The value of the header key used. - type: string - example: text/plain diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml deleted file mode 100644 index 13a57bf7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/discovery-ingestion-library.raml +++ /dev/null @@ -1,21 +0,0 @@ -#%RAML 1.0 Library - -uses: - IDs: Types/identifiers.raml - -types: - - # Resource Indentifiers - DataTransferRecordId: IDs.DataTransferRecordId - IngestionJobId: IDs.IngestionJobId - - # Validation Status - FileStatus: !include Types/enums/file-upload-status.raml - IngestionStatus: !include Types/enums/ingestion-job-status.raml - - # Algorihtm - FileHashAlgorithm: !include Types/enums/file-hash-algorithm.raml - - # Method - UploadMethod: !include Types/enums/upload-method.raml - IngestionBehavior: !include Types/enums/ingestion-behavior.raml \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json deleted file mode 100644 index cfdb209d..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"data-discovery-ingestion.raml","name":"Data Discovery Ingestion","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"data-discovery-ingestion","version":"2.1.10","metadata":{"branchId":"master","commitId":"866a61285bacf9be73b33eff3141e2a139269c42","projectId":"51669549-c541-40ba-a094-b4f0bb8fa323"},"apiVersion":"v2","classifier":"raml","dependencies":[{"assetId":"commerce-cloud-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.0.16"},{"assetId":"api-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"1.1.12"},{"assetId":"discovery-standards","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","version":"0.0.28"}],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml deleted file mode 100644 index f5e12239..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/am-oauth-2.raml +++ /dev/null @@ -1,46 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - AccountManager OAuth 2.0 bearer token Authentication. -type: OAuth 2.0 - -uses: - -describedBy: - headers: - Authorization: - description: | - OAuth 2.0 access-token in Bearer scheme - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid and could not be used to identify an API client or user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access-token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid and could not be used to identify an API client or user. - 403: - description: Forbidden. Your access-token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your access-token is valid, but you have no permissions to access the resource. -settings: - authorizationUri: https://account.demandware.com/dwsso/oauth2/authorize - accessTokenUri: https://account.demandware.com/dwsso/oauth2/access_token - authorizationGrants: [authorization_code, client_credentials] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json deleted file mode 100644 index 5fa11f58..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authentication.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", - "title": "Authentication Failure", - "detail": "Authentication failed due to missing or invalid token.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json deleted file mode 100644 index c8a35b8c..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/Authorization.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", - "title": "Authorization Failure", - "detail": "The provided credentials are not authorized to access this resource.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json deleted file mode 100644 index 67f7a9b1..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InternalServerError.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", - "title": "Internal Server Error", - "detail": "There was an error completing your request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json deleted file mode 100644 index 7d87b944..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/InvalidRequest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "The provided request information is of an invalid format.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json deleted file mode 100644 index 04283b9e..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/LimitExceeded.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", - "title": "Limit Exceeded", - "detail": "You have exceeded a limit for the provided attibutes.", - "instance": "{Resource URI}", - "limits": [ - { - "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", - "count": 90, - "limit": 50 - }, - { - "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", - "count": 15, - "limit": 12 - } - ] -} diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json deleted file mode 100644 index ad324f32..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NonReadableHttpMessage.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", - "title": "Non-Readable HTTP Message", - "detail": "The request could not be processed.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json deleted file mode 100644 index c8ef3747..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/NotFound.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", - "title": "Resource Not Found", - "detail": "The requested {resource} was not found.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json deleted file mode 100644 index 023db860..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/RateLimitExceeded.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", - "title": "Rate Limit Reached", - "detail": "The request could not be processed due to the current volume of requests.", - "instance": "{Resource URI}", - "requestLimit": 1000 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json deleted file mode 100644 index e8511a4c..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Examples/ServiceUnavailable.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", - "title": "Service Unavailable", - "detail": "The server is temporarily unable to handle the request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml deleted file mode 100644 index e5b112f3..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.BadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml deleted file mode 100644 index 6d7c5192..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/Traits/resource-common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.ResourceBadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml deleted file mode 100644 index 18cc51e7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Errors/discovery-error-types.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 Library - -# Discovery Error Response Types -# -# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). -# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. -# https://tools.ietf.org/html/rfc7807 - -types: - - BaseError: - description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" - additionalProperties: false - - # Discovery Error Type Definitions: - AuthenticationFailure: - description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. - type: BaseError - example: !include Examples/Authentication.json - - AuthorizationFailure: - description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. - type: BaseError - example: !include Examples/Authorization.json - - NotFound: - description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. - type: BaseError - example: !include Examples/NotFound.json - - ServiceUnavailable: - description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. - type: BaseError - example: !include Examples/ServiceUnavailable.json - - InternalServerError: - description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. - type: BaseError - example: !include Examples/InternalServerError.json - - RateLimitExceeded: - description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. - type: BaseError - properties: - requestLimit: - description: A number returned indicating the maximum number of allowed requests for the instance being requested. - type: number - example: !include Examples/RateLimitExceeded.json - - BadRequest: - description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. - type: BaseError - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - - InvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. - type: BadRequest - example: !include Examples/InvalidRequest.json - - NonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. - type: BadRequest - example: !include Examples/NonReadableHttpMessage.json - - ResourceBadRequest: - description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. - type: BaseError - properties: - limits?: - description: A list of limit objects providing the exceeded limits and the respective counts. - type: Limit[] - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - LimitExceeded: !include Examples/LimitExceeded.json - - ResourceInvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. - type: BadRequest - example: !include Examples/InvalidRequest.json - - ResourceNonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. - type: ResourceBadRequest - example: !include Examples/NonReadableHttpMessage.json - - Limit: - description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. - properties: - limitDetails: - description: An enum indicating the respective server limit which has been exceeded. - enum: - - ATTRIBUTE_DEFINITION_COUNT - - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT - - ATTRIBUTE_USAGE_FACETABLE_COUNT - - ATTRIBUTE_USAGE_FILTERABLE_COUNT - - ATTRIBUTE_USAGE_GROUPABLE_COUNT - - ATTRIBUTE_USAGE_SEARCHABLE_COUNT - - ATTRIBUTE_USAGE_SORTABLE_COUNT - - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT - - QUERY_INPUT_PHRASE_COUNT - - QUERY_INPUT_TAG_IDS_COUNT - - QUERY_INPUT_FACETS_COUNT - - QUERY_INPUT_SORTING_COUNT - - QUERY_INPUT_GROUPING_COUNT - - QUERY_INPUT_REFINEMENTS_COUNT - - QUERY_INPUT_PAGINATION_COUNT - count: - description: The current count of data associated with he provided enum. - type: integer - example: 51 - limit: - description: The defined limit value associated with the provided enum. - type: integer - example: 50 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml deleted file mode 100644 index cadaa1f2..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/bulk-retrieval-filters.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for the filtering of resources using timestamps and resource identifiers. - -queryParameters: - ids?: - description: Collection of resource identifiers representing the desired resources to return. - type: string[] - uniqueItems: true - example: - - 1907c0db-3845-431a-b36b-61f7efc818cc - - dee3ce6a-bc2f-4893-b91c-59c9a677f42d - creationDateTimeStart?: - description: Filters by excluding the resources that have creationDateTime before the defined time. - type: datetime - example: 2020-02-27T00:00:00Z - creationDateTimeEnd?: - description: Filters by excluding the resources that have creationDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z - lastUpdateDateTimeStart?: - description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. - type: datetime - example: 2020-02-28T09:41:50Z - lastUpdateDateTimeEnd?: - description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml deleted file mode 100644 index 2c876b8f..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/tenant-tier.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing the tenant-tier. - -headers: - tenant-tier?: - description: Header defining the tenant tier for NFR limits. - type: string - maxLength: 256 - example: internal-large-catalog \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml deleted file mode 100644 index 1a5e95b4..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Traits/traceable.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing a request identifier. - -headers: - RequestId?: - description: Client defined unique identifier, used for tracking within the domain. - type: string - maxLength: 256 - example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml deleted file mode 100644 index cc90c09a..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/base-uri-parameters.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - - Region: - description: Region in which the service is exposed. - example: en-US - - Version: - description: The version of the commerce cloud API. - example: v2 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml deleted file mode 100644 index e0aa5072..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/date-times.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Library - -types: - - CreationDateTime: - description: The date time the resource was created. - type: datetime - example: 2020-02-28T10:41:50Z - - LastUpdateDateTime: - description: The date time when the resource was last modified. - type: datetime - example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml deleted file mode 100644 index f98471b0..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/expansion-attribute.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType - -uses: - IDs: identifiers.raml - -description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. -properties: - attributeId: IDs.AttributeId - path: - description: The path, using dot notation, that this attribute corresponds to. - type: string - example: item.brand - value: - description: The data for the given attribute. - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml deleted file mode 100644 index 1d55a387..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/identifiers.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 Library - -types: - - DataSetId: - description: The unique identifier of a Data Set resource. - type: string - maxLength: 256 - example: d4330450-df8a-439f-80f8-847ae3cb564f - - AttributeId: - description: User defined unique identifier for a specific attribute. - type: string - maxLength: 256 - example: name \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml deleted file mode 100644 index 1bb88630..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/Types/links.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 Library - -types: - - Reference: - description: Location of a resource. - type: string - - Self: - description: Link to the resource. - properties: - href: Reference - additionalProperties: false - - SelfResourceLink: - description: Entity containing a HATEOS link to a resource. - properties: - self: Self - additionalProperties: false - - Pagination: - description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. - properties: - prev?: - description: Link to the previous set of results. - type: Self - self: - description: Link to the current set of results. - type: Self - next?: - description: Link to the next set of results. - type: Self - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml deleted file mode 100644 index a2559b88..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml +++ /dev/null @@ -1,52 +0,0 @@ -#%RAML 1.0 Library -usage: | - These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. - -uses: - DateTimes: Types/date-times.raml - IDs: Types/identifiers.raml - Links: Types/links.raml - UriParameters: Types/base-uri-parameters.raml - -types: - - # Base URI Parameters - Region: UriParameters.Region - Version: UriParameters.Version - - # Resource Indentifiers - DataSetId: IDs.DataSetId - AttributeId: IDs.AttributeId - - # Datetimes - CreationDateTime: DateTimes.CreationDateTime - LastUpdateDateTime: DateTimes.LastUpdateDateTime - - # Links - ResourceLink: Links.SelfResourceLink - - # Pagination - PaginationLinks: Links.Pagination - - # Resources - ExpansionAttribute: !include Types/expansion-attribute.raml - -traits: - - Traceable: !include Traits/traceable.raml - - Filterable: !include Traits/bulk-retrieval-filters.raml - - TenantTier: !include Traits/tenant-tier.raml - - # Error Traits: - # - # Wraps Traits of the same status code to provide an optional response. - # Provides a CommonErrors trait for errors shared across all APIs. - - CommonErrors: !include Errors/Traits/common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. - - ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json deleted file mode 100644 index f8e199d9..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-standards.raml","name":"Discovery Standards","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.28","metadata":{"branchId":"master","commitId":"7890a31d652edeaf2044895a754b4f849c775567","projectId":"e649b88c-27bf-47c3-b22c-1c5183a7ede7"},"classifier":"raml-fragment","dependencies":[],"tags":[],"originalFormatVersion":"1.0"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml deleted file mode 100644 index 4ea5ee03..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/ingestion-job.raml +++ /dev/null @@ -1,80 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - IngestionLibrary: discovery-ingestion-library.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.28/discovery-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - -types: - IngestionInput: - description: Details about the Data Transfer Records to be ingested. - type: CommerceCloudStandards.ClosedObject - properties: - behavior: IngestionLibrary.IngestionBehavior - dataTransferRecordIds: - description: List of the Data Transfer Records to be ingested. - type: string[] - minItems: 1 - uniqueItems: true - example: [a4824d46-9bd7-48ad-b88b-28ec238e1e78, 494de35e-3297-43ae-8e08-5d92cd55c49f] - - IngestionOutput: - description: Details about the Ingestion Job created to ingest the data in Discovery. - type: CommerceCloudStandards.ClosedObject - properties: - ingestionJobId: IngestionLibrary.IngestionJobId - creationDateTime: DiscoveryStandards.CreationDateTime - - IngestionJob: - description: The progress details of the Ingestion Job process. - type: CommerceCloudStandards.ClosedObject - properties: - status: IngestionLibrary.IngestionStatus - totalItemCount: - description: The total count of items sent across all the Data Transfer Records during the ingestion job process. - type: integer - format: int64 - example: 10 - processedItemCount: - description: The total count of items successfully ingested across all the Data Transfer Records. - type: integer - format: int64 - example: 8 - failedItemCount: - description: The total count of items failed to be ingested across all the Data Transfer Records. - type: integer - format: int64 - example: 2 - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - - IngestionJobStatus: - description: Details and status of the Ingestion Job process. - type: IngestionJob - properties: - ingestionJobId: IngestionLibrary.IngestionJobId - links: - type: DiscoveryStandards.ResourceLink - examples: - links: - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/ingestion-jobs/cb95f974-5f3f-11ea-bc55-0242ac130003 - - IngestionJobsBulkStatus: - description: The bulk progress details about the Ingestion Jobs process. - type: CommerceCloudStandards.ClosedObject - properties: - hits: - description: A collection of progress details of all the Ingestion Job processes. - type: IngestionJobStatus[] - limit: - type: ApiStandards.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - offset: ApiStandards.Offset - total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml b/testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml deleted file mode 100644 index 8bd41b62..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-ingestion/ramltojaxrs.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 Library -annotationTypes: - types: - allowedTargets: [TypeDeclaration,API] - properties: - className?: - type: string - implementationClassName?: - type: string - usePrimitiveType?: - type: boolean - abstract?: - type: boolean - plugins?: any[] - resources: - allowedTargets: [Resource, Method, Response, API] - properties: - plugins?: any[] - methods: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responseClasses: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responses: - allowedTargets: [Response, API] - properties: - plugins?: any[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json b/testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json deleted file mode 100644 index 268265f4..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/.metadata.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "893f605e-10e2-423a-bdb4-f952f56eb6d8/data-discovery-management/2.3.33", - "name": "Data Discovery Management", - "description": "Overview", - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "data-discovery-management", - "version": "2.3.33", - "categories": { - "API layer": [ - "Process" - ], - "CC API Family": [ - "Discovery" - ], - "CC Version Status": [ - "GA" - ] - } -} diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml deleted file mode 100644 index 766b44a7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/attribute-definitions.raml +++ /dev/null @@ -1,231 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - -types: - - Path: - description: The path, using dot notation, to the data described by this definition. - type: string - example: item.description - - LocalePath: - description: Entity describing the location where data for this attribute can be found in addition to the locale for that location. - type: CommerceCloudStandards.ClosedObject - properties: - path: Path - locale: ISOStandards.LanguageCountry - - Name: - description: A human readable name string. - type: string - example: sku - - LocalizedName: - description: An entity containing a human readable name and a locale that associates to that name. - type: CommerceCloudStandards.ClosedObject - properties: - name: Name - locale: ISOStandards.LanguageCountry - - AttributeDefinition: - description: | - Base resource type for describing an attribute. All Attribute Definitions contain the following information. - * attributeId: A user defined, unique value, which is used to reference the Attribute Definition instance in other APIs. - * attributeDefinitionType: A String value describing the specific type of this Attribute Definition instance. - * dataType: An enumerated value which defines what form of data to expect in the object model at the given data locations. Different Attribute Definition types may have restrictions on allowed Data Types. - - Additionally, each Attribute Definition will contain configuration information on where the data described by the definition is located. - type: CommerceCloudStandards.ClosedObject - properties: - attributeId: DiscoveryStandards.AttributeId - attributeDefinitionType: - description: The type of Attribute Definition being defined. - type: string - names?: - description: Collection of entities describing the name of the attribute in addition to the locale for that name. - type: LocalizedName[] - discriminator: attributeDefinitionType - - ItemIdentifierAttributeDefinition: - description: Defines an attribute which uniquely identifies an item. There can be a single Item Identifier Attribute Definition defined per Data Set resource. This Attribute Definition may only be configured as a String or Integer data type, and may have any number of Usages. - type: AttributeDefinition - properties: - dataType: - description: The expected type of data which will be found at the given path's location. - enum: - - INTEGER - - STRING - example: INTEGER - usages?: - description: A collection of values defining how the attribute should be used within the domain during query operations. - type: string[] - minItems: 1 - uniqueItems: true - items: - enum: - - FACETABLE - - FILTERABLE - - GROUP_RETURNABLE - - RETURNABLE - - SEARCHABLE - - SORTABLE - example: [FILTERABLE, SEARCHABLE] - path: Path - discriminatorValue: ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION - - SecondaryItemIdentifierAttributeDefinition: - description: Defines an attribute containing a Secondary Item Identifier which identifies information about the item and doesn't support any typo tolerance. There can be more than one Secondary Item Identifier Attribute Definition defined per Data Set resource. This Attribute Definition may only be configured as a String or Integer data type and must contain at least one usage. - type: AttributeDefinition - properties: - dataType: - description: The expected type of data which will be found at the given path's location. - enum: - - STRING - - INTEGER - example: STRING - usages: - description: A collection of values defining how the attribute should be used within the domain during query operations. - type: string[] - minItems: 1 - uniqueItems: true - items: - enum: - - SEARCHABLE - - RETURNABLE - - GROUPABLE - - SORTABLE - example: [SEARCHABLE] - path: Path - isMultivalued: - description: Boolean determining if the data, found at the given path, is a single value or a collection, default to FALSE. - type: boolean - default: false - example: false - discriminatorValue: SECONDARY_ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION - - DataAttributeDefinition: - description: Defines an attribute which will not be analyzed for language. This Attribute Definition must have at least one usage. - type: AttributeDefinition - properties: - dataType: - description: The valid data type for the Attribute Definition. - enum: - - BOOLEAN - - DATE - - DATE_TIME - - DECIMAL - - INTEGER - - STRING - example: BOOLEAN - usages: - description: A collection of values defining how the attribute should be used within the domain. - type: string[] - minItems: 1 - uniqueItems: true - items: - enum: - - FACETABLE - - FILTERABLE - - GROUPABLE - - GROUP_RETURNABLE - - RETURNABLE - - SEARCHABLE - - SORTABLE - example: [FILTERABLE, SEARCHABLE] - path: Path - isMultivalued: - description: Boolean determining if the data, found at the given path, is a single value or a collection. - type: boolean - example: true - discriminatorValue: DATA_ATTRIBUTE_DEFINITION - - LocalizedAttributeDefinition: - description: Defines an attribute containing language analyzed data. To support language analysis, this definition is confgured with a collection of Locale Path entities. Each Locale Path takes in both a path as well as a Locale which should be used to analyze the data. This Attribute Definition requires at least one usage. - type: AttributeDefinition - properties: - dataType: - description: The valid data type for the Attribute Definition. - enum: - - STRING - example: STRING - usages: - description: A collection of values defining how the attribute should be used within the domain. - type: string[] - minItems: 1 - uniqueItems: true - items: - enum: - - FACETABLE - - FILTERABLE - - GROUPABLE - - GROUP_RETURNABLE - - RETURNABLE - - SEARCHABLE - - SORTABLE - example: [FILTERABLE, SEARCHABLE] - paths: - description: Collection of entities describing the location where data for this attribute can be found in addition to the locale for that location. - type: LocalePath[] - isMultivalued: - description: Boolean determining if the data, found at the given paths, are a single value or a collection. - type: boolean - example: true - discriminatorValue: LOCALIZED_ATTRIBUTE_DEFINITION - - UnstructuredAttributeDefinition: - description: Defines an attribute containing unstructured text which should be language analyzed. To support language analysis, this definition is confgured with a collection of Locale Path entities. Each Locale Path takes in both a path as well as a Locale which should be used to analyze the data. Due to the nature of the data being described by this attribute type, this attribute can only be searched against. - type: AttributeDefinition - properties: - dataType: - description: The expected type of data which will be found at the given path's location. - enum: - - STRING - example: STRING - usages?: - description: A collection of values defining how the attribute should be used within the domain during query operations. - type: string[] - minItems: 1 - uniqueItems: true - items: - enum: - - SEARCHABLE - - HIGHLIGHTABLE - example: [SEARCHABLE] - paths: - description: Collection of entities describing the location where data for this attribute can be found in addition to the locale for that location. - type: LocalePath[] - discriminatorValue: UNSTRUCTURED_ATTRIBUTE_DEFINITION - - PricebookAttributeDefinition: - description: Defines an attribute containing price book information. Each path defines a pricebook entry containing ID, currency and price of an item. - type: AttributeDefinition - properties: - dataType: - description: The valid data type for the Attribute Definition. - enum: - - PRICEBOOK - example: PRICEBOOK - usages: - description: A collection of values defining how the attribute should be used within the domain. - type: string[] - minItems: 1 - uniqueItems: true - items: - enum: - - FACETABLE - - FILTERABLE - - SORTABLE - example: [FILTERABLE, FACETABLE] - path: - description: | - The path, using dot notation, to the data described by this definition. The data present in this path must have a structure as shown below for a successful ingestion. Please note that all the fields mentioned are required here and the field ID is the pricebook ID of the associated item.
{
     "id": "01sxx0000005ptpAAA",
     "currency": "USD",
     "price": 23.67
} - type: Path - isMultivalued: - description: A boolean value determining whether the data found at the given path is a single pricebook or a collection of pricebooks. - type: boolean - example: true - discriminatorValue: PRICEBOOK_ATTRIBUTE_DEFINITION \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml deleted file mode 100644 index b11e3688..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/boost-bury-rule-target-conditions.raml +++ /dev/null @@ -1,41 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - -types: - BoostBuryRuleTargetCondition: - description: | - Base resource type that defines a set of conditions to be satisfied by the items in search results. If the conditions are met, boost and bury search result rules can be applied to adjust the ranking of search results. The aim of BoostBuryRuleTargetCondition is to offer control over the ordering of the search results, allowing client to prioritize (boost) or deprioritize (bury) certain items based on predefined conditions only when "RELEVANCE" sorting is used in the query. All BoostBuryRuleTargetCondition contain folllowing the following information: - * operation: An enumerated value which defines the type of operation with which condition should be applied. - - Additionally, each BoostBuryRuleTargetCondition will contain configuration information on how the target condition should be applied. - properties: - conditionType: - description: The type of target condition being defined, example "STRING_MULTIVALUED_TARGET_CONDITION" can be used to define a target condition that applies to mulitple values in the field "attributeValues" - type: string - attributeId: - description: The unique identifier of the attribute to be targeted for the search result rule - type: string - discriminator: conditionType - additionalProperties: false - - StringMultivaluedBoostBuryRuleTargetCondition: - description: This target condition allows targeting multiple items based on some attribute value. Boost/Bury search result rule will be applicable to all items defined in the resouce if they satisfy the condition in the target. - type: BoostBuryRuleTargetCondition - properties: - operation: - description: The type of operation with which condition should be applied. This operation checks if the value of the targeted attribute is contained within a specific set of values. - enum: - - IN - example: IN - attributeValues: - description: A collection of values for which condition is applicable - type: string[] - minItems: 1 - maxItems: 100 - example: ["ID-123", "ID-345"] - discriminatorValue: STRING_MULTIVALUED_TARGET_CONDITION - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml b/testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml deleted file mode 100644 index 42b40e78..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/data-discovery-management.raml +++ /dev/null @@ -1,215 +0,0 @@ -#%RAML 1.0 -version: v2 -title: Data Discovery Management - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - DataSet: data-set.raml - SearchResultRule: search-rule.raml - ErrorTypes: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml - RamlToJaxrs: ramltojaxrs.raml - -mediaType: application/json -protocols: [HTTPS] -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/management/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - example: 0dnz6oep - version: DiscoveryStandards.Version - -description: APIs to manage base resources within the Discovery domain. - -(RamlToJaxrs.resources): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.responseClasses): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.methods): - plugins: - - name: ramltojaxrs.displayName -(RamlToJaxrs.types): - plugins: - - name: ramltojaxrs.chainSetter - -/organizations/{organizationId}/data-sets: - type: CommerceCloudStandards.Organization - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.TenantTier - post: - description: Creates a Data Set resource within the Discovery domain. The resource is created synchronously as is usable for all futher operations once the API returns. The Data Set is created using a non empty collection of Attribute Definition resources. - displayName: createDataSet - is: - - DiscoveryStandards.ResourceCommonErrors - - DiscoveryStandards.MetaData - - ApiStandards.SyncCreated: - responseType: DataSet.DataSetCreationOutput - resourcePath: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-sets - queryParameters: - einsteinChannelId: - type: DataSet.EinsteinChannelId - required: false - body: - type: DataSet.DataSetCreationInput - get: - description: Retrieves a collection of Data Set resource references based on the inputs. - displayName: getDataSets - is: - - DiscoveryStandards.Filterable - - ApiStandards.OffsetPaginated: - maxLimit: 50 - defaultSize: 10 - - DiscoveryStandards.CommonErrors - responses: - 200: - description: Returned if the requested Data Set resources could be retrieved. - body: - type: DataSet.BulkDataSetRetrievalOutput - - /{dataSetId}: - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - uriParameters: - dataSetId: DiscoveryStandards.DataSetId - get: - description: Retrieves the Data Set with the given resource identifier. The returned resource will contain the configuration of the Data Set, as defined during creation, as well as suplemental information such as the number of items currently associated with the Data Set as well as time information on when the resource was created and last updated. - displayName: getDataSet - responses: - 200: - description: Returned if a Data Set was found for the given inputs. - body: - type: DataSet.DataSet - delete: - description: Removes the defined Data Set resource from the domain. This operation is synchronous and once completes, the resource will no longer be maintained within the domain. - displayName: deleteDataSet - responses: - 200: - description: Returned if the Data Set was removed. - patch: - description: Updates the Data Set with the given resource identifier. Currently only FeatureDefinitions can be updated. A Feature Definition defines whether a particular feature is enabled or not. - displayName: updateDataSet - body: - type: DataSet.DataSetUpdateInput - responses: - 204: - description: Returned if the Data Set was updated with the given input - - /search-result-rules: - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - post: - description: Creates a Search Result Rule resource within the Discovery domain. A Search Result Rule is a rule to influence search results returned from the service based on allowed conditions. Example a rule to include where consumer of the API can add additional terms along search phrase when search is executed and if a certain phrase is present in the input, boost or bury certain items etc. - displayName: createSearchResultRule - is: - - DiscoveryStandards.ResourceCommonErrors - body: - type: SearchResultRule.SearchResultRule - responses: - 201: - description: Returned if a Search Result Rule was created. - headers: - location: - description: The location of the created resource. - type: string - example: https://management.discovery.{region}.svc.commercecloud.salesforce.com/discovery/management/{version}/data-sets/search-result-rules/{searchResultRuleId} - body: - type: SearchResultRule.SearchResultRuleOutput - - /{searchResultRuleId}: - is: - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.Traceable - - DiscoveryStandards.TenantTier - uriParameters: - searchResultRuleId: DiscoveryStandards.SearchResultRuleId - get: - description: Retrieves the Search Result Rule with the given resource identifier. - displayName: getSearchResultRule - responses: - 200: - description: Returned if a Search Result Rule was found for the given inputs. - body: - type: SearchResultRule.SearchResultRule - delete: - description: Deletes defined Search Result Rule for the given Dataset - displayName: deleteSearchResultRule - responses: - 200: - description: Returned if the Search Result Rule was removed. - - /search-rules: - is: - - DiscoveryStandards.Traceable - - DiscoveryStandards.CommonErrors - - DiscoveryStandards.TenantTier - post: - description: Creates Search Rule resources within the Discovery domain. - displayName: createSearchRules - is: - - DiscoveryStandards.ResourceCommonErrors - body: - type: SearchResultRule.SearchResultRuleCreationInput - responses: - 200: - description: Returned if a Search Rule resource was created. - headers: - location: - description: The location of the created resource. - type: string - example: https://management.discovery.{region}.svc.commercecloud.salesforce.com/discovery/management/{version}/data-sets/search-rules/{searchRuleId} - body: - type: SearchResultRule.SearchResultRuleCreationOutput - get: - description: Retrieves a collection of Search Result Rule resources based on the inputs. - displayName: getSearchResultRules - is: - - DiscoveryStandards.Filterable - - ApiStandards.OffsetPaginated: - maxLimit: 50 - defaultSize: 10 - - DiscoveryStandards.CommonErrors - responses: - 200: - description: Returned if the requested Search Rule resources could be retrieved. - body: - description: An entity containing a collection of Search Rule resource statuses and references. - type: SearchResultRule.BulkSearchResultRuleRetrievalOutput - delete: - description: Removes all defined Search Rules for the given dataset - displayName: deleteSearchRules - responses: - 200: - description: Returned if the Search Rules were removed. - /{searchRuleId}: - is: - - DiscoveryStandards.CommonErrors - uriParameters: - searchRuleId: DiscoveryStandards.SearchResultRuleId - post: - description: Update the Search Rule with the given resource identifier. - displayName: updateSearchRule - responses: - 200: - description: Returned if a Search Rule was updated for the given identifier. - body: - type: SearchResultRule.SearchResultRule - get: - description: Retrieves the Search Rule with the given resource identifier. - displayName: getSearchRule - responses: - 200: - description: Returned if a Search Rule was found for the given inputs. - body: - type: SearchResultRule.SearchResultRule diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml b/testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml deleted file mode 100644 index e78039dd..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/data-set.raml +++ /dev/null @@ -1,106 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - AttributeDefinitions: attribute-definitions.raml - FeatureDefinitions: feature-definitions.raml - -types: - - EinsteinChannelId: - description: The identifier of the einstein channel to associate with the Data Set. - type: string - - EinsteinTenantId: - description: Einstein tenant ID used for integrating the Data Set with the Einstein service. - type: string - example: search/prd/cloudtesttenant - - PreviousDataSetId: - description: Data Set ID of a pre-existing data set, for which an index is being re-built. This is an optional property. - type: string - example: abcbd817-d2b1-46e4-9b42-5d09b1b53f92 - - DataSet: - description: An entity containing the configuration and status information about the requested Data Set resource. The Data Set's configuration instructs the domain on how to ingest data through a collection of Attribute Definitions. Additionally, status information such as the number of items associated with the Data Set, is also provided. The feature definitions provide information on which features are enabled for the Data Set. - type: CommerceCloudStandards.ClosedObject - properties: - configuration: - description: An wrapper entity containing the data which defines the makeup of the Data Set. - properties: - einsteinTenantId?: EinsteinTenantId - attributeDefinitions: AttributeDefinitions.AttributeDefinition[] - featureDefinitions: FeatureDefinitions.FeatureDefinition[] - previousDataSetId?: PreviousDataSetId - status: - description: An entity containing current information about the Data Set such as the number of items associated with the Data Set, the time the Data Set was created, and the time it was last updated. - properties: - queryableItemCount: - description: The number of ingested items, available for query actions. - type: number - format: int64 - example: 432 - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - - DataSetReference: - description: An entity containing status information about a Data Set, in addition to a link to the actual resource. This resource represents a subset of information, taken from the actual Data Set entity. - properties: - dataSetId: DiscoveryStandards.DataSetId - queryableItemCount: - description: The number of ingested items, available for query actions. - type: number - format: int64 - example: 432 - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - links: - type: DiscoveryStandards.ResourceLink - examples: - links: - self: - href: https://0dnz6oep.api.commercecloud.salesforce.com/discovery/management/v2/organizations/org-id/data-sets/d4330450-df8a-439f-80f8-847ae3cb564f - - DataSetCreationInput: - description: Body of the request to create a Data Set. - type: CommerceCloudStandards.ClosedObject - properties: - einsteinTenantId?: EinsteinTenantId - attributeDefinitions: - description: A collection of attribute definition entities. - type: AttributeDefinitions.AttributeDefinition[] - featureDefinitions: - description: A collection of feature definition entities. - type: FeatureDefinitions.FeatureDefinition[] - previousDataSetId?: PreviousDataSetId - - DataSetCreationOutput: - description: An entity containing the identifier of the newly created resource and the time the resource was created. - type: CommerceCloudStandards.ClosedObject - properties: - dataSetId: DiscoveryStandards.DataSetId - creationDateTime: DiscoveryStandards.CreationDateTime - - BulkDataSetRetrievalOutput: - description: An entity containing a collection of Data Set resource statuses and references. - type: CommerceCloudStandards.ClosedObject - properties: - hits: - description: A collection of Data Set instance references. - type: DataSetReference[] - limit: ApiStandards.Limit - offset: ApiStandards.Offset - total: - description: The total number of matching resources. - type: integer - example: 17 - - DataSetUpdateInput: - description: Body of the request to update a Data Set. Currently it only contains a collection of feature definition entities. - type: CommerceCloudStandards.ClosedObject - properties: - featureDefinitions: - description: A collection of feature definition entities. - type: FeatureDefinitions.FeatureDefinition[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange.json deleted file mode 100644 index 5e34f209..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "main": "data-discovery-management.raml", - "name": "Data Discovery Management", - "classifier": "raml", - "tags": [], - "dependencies": [ - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "commerce-cloud-standards", - "version": "1.0.16" - }, - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "api-standards", - "version": "1.1.12" - }, - { - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "discovery-standards", - "version": "0.0.34" - } - ], - "groupId": "893f605e-10e2-423a-bdb4-f952f56eb6d8", - "assetId": "data-discovery-management", - "version": "2.3.33", - "apiVersion": "v2", - "originalFormatVersion": "1.0", - "organizationId": "893f605e-10e2-423a-bdb4-f952f56eb6d8" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml deleted file mode 100644 index 2e59aeff..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/dataTypes/error-response.raml +++ /dev/null @@ -1,45 +0,0 @@ -#%RAML 1.0 DataType - -# Defines a "problem detail" as a way to carry machine- -# readable details of errors in a HTTP response to avoid the need to -# define new error response formats for HTTP APIs, it follows the [IETF rfc7807](https://tools.ietf.org/html/rfc7807). - -properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml deleted file mode 100644 index 27fa085f..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/example.raml +++ /dev/null @@ -1,95 +0,0 @@ -#%RAML 1.0 -version: v1 -title: restful-conventions -baseUri: http://politeness.local/salutationAPI -securedBy: conventions.GDoT -protocols: - - HTTPS -mediaType: - - application/json -description: A sample API demonstrating how to use the various standards available. - -uses: - conventions: api-standards.raml - -types: - salutation: - type: object - properties: - language: string - word: string - examples: - spanish: - language: es - word: Hola - italian: - language: it - word: Ciao - english: - language: en - word: Hello - german: - language: de - word: Hallo - -/salutations: - get: - description: Get all salutations - is: - - conventions.RateLimited: - responseStatus: 200 - - conventions.OffsetPaginated: - defaultSize: 50 - maxLimit: 50 - responses: - 200: - body: - application/json: - type: salutation[] - - post: - description: Asynchronously create an annotation allowing the server to create an ID for it - is: - - conventions.RateLimited: - responseStatus: 202 - - conventions.AsyncCreated - - conventions.EtagResponse: - responseStatus: 202 - body: - application/json: - type: salutation - responses: - 202: - 405: - body: - type: conventions.AbsoluteUrl - - /{id}: - put: - - is: - - conventions.RateLimited2: - responseStatus: 201 - responseStatus2: 404 - - conventions.EtagResponse: - responseStatus: 201 - - conventions.SyncCreated: - responseType: string - responses: - 201: - 404: - - get: - is: - - conventions.DateConditionalRequest: - responseStatus: 202 - - conventions.EtagConditionalRequest: - responseStatus: 202 - - conventions.EtagResponse: - responseStatus: 202 - - conventions.RateLimited: - responseStatus: 202 - body: - application/json: - type: salutation - diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml deleted file mode 100644 index b616b750..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/securitySchemes/gdot.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - GDoT bearer token Authentication. Users need to get the token following the GDoT process. -type: x-custom -displayName: GDoT - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your token is invalid and could not be identified as a user. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The access token expired" - - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/unauthorized" - title: Unauthorized - detail: Your token is invalid and could not be identified as a user. - - 403: - description: Forbidden. Your token is valid but you have no permissions to access the resource. - headers: - X-RateLimit-Limit: - description: The maximum number of requests permitted per minute. - X-RateLimit-Remaining: - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - description: The time at which the current rate limit window resets in UTC epoch seconds. - body: - application/json: - type: !include ../dataTypes/error-response.raml - example: - type: "http://to-be-defined.com/errors/forbidden" - title: Forbidden - detail: Your token is valid but you have no permissions to access the resource. - - diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml deleted file mode 100644 index d42c875f..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/ErrorResponseMapping.raml +++ /dev/null @@ -1,37 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: Error Response Mapping from OCAPI to Mulesoft - -content: |- - - # NOTE: this documentation does not belong here any may be moved in the future. - - - ErrorResponse defined in [API Standards RAML library](https://anypoint.mulesoft.com/exchange/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/) *MUST* be used in case of error. Teams MAY derive their own error response types from ErrorResponse. - - ErrorResponse.type *MUST* be unique CommerceCloud-wide. This is an unequivocal identification of the error and therefore should be unique. - - Work to write a common data weave that will transform the OCAPI Fault to [RFC 7807](https://tools.ietf.org/html/rfc7807) compliant messages - - Content-Type: `application/problem+json` - - `type`: URI in the format of https://api.commercecloud.salesforce.com/documentation/error/v1/errors/, with the word “Exception” removed from the last segment. - - `title`: the `fault.type`, Upper Space Case, with the word “Exception” removed. - - `detail`: the content of fault.message - - Any attributes in `fault.arguments` just map to extra attributes of the same name, following all camelCase conventions. - - ## Example Mapping: - - ### OCAPI Fault Response - { - "_v" : "20.2", - "fault": { - "arguments": { - "target_cartridge": "core" - }, - "type": "InvalidOperationException", - "message": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge." - } - } - - ### Mapped ErrorResponse - { - "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-operation", - "title": "Invalid Operation", - "detail": "Invalid operation on cartridge 'core'. The operation is only allowed on existing custom cartridge.", - "targetCartridge": "core" - } diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml deleted file mode 100644 index d2d991d0..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Documentation/baseUri.raml +++ /dev/null @@ -1,23 +0,0 @@ -#%RAML 1.0 DocumentationItem -title: baseUri Standards -content: | - - # NOTE: this is internal documentation. - - The baseUri has been standardized as the following. You should use the below snippet in your RAML definitions: - - baseUri: https://{shortCode}.api.commercecloud.salesforce.com/api-family/api-name/{version} - version: v1 - baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - - Of note: - - the baseUri is templated URL that is templated for constency, all URLs accross commerce cloud will have the same baseUrl - - you MUST set the values of the api-family and api-name in the URI to your api-family and api-name. These shouldn't ever change and should be in lower case kebab case - - Api-family is also known as bounded context - - Api-name is also known as root aggregate - - the only baseUriParameter that will change between calls is `shortCode`. - - `version` is special and will use the version of the API. diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json deleted file mode 100644 index 3c0eafb5..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolFilter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "operator": "and", - "filters": [ - { - "termFilter": { - "field": "id", - "operator": "is", - "values": [ - "myId" - ] - } - }, - { - "termFilter": { - "field": "couponId", - "operator": "is", - "values": [ - "couponOne" - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json deleted file mode 100644 index a8e49428..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "must": [ - { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "DEAL" - } - }, - { - "textQuery": { - "fields": [ - "description" - ], - "searchPhrase": "Big bargain deal" - } - } - ], - "mustNot": [ - { - "termQuery": { - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] - } - } - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml deleted file mode 100644 index 5ae2189b..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/BoolQuery.raml +++ /dev/null @@ -1,57 +0,0 @@ -#%RAML 1.0 NamedExample -MultipleOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain -AndOperatorExample: - must: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - termQuery: - fields: - - enabled - operator: is - values: - - true -OrOperatorExample: - should: - - textQuery: - fields: - - couponId - searchPhrase: DEAL - - textQuery: - fields: - - couponId - - description - searchPhrase: sale -NotOperatorExample: - must_not: - - textQuery: - fields: - - description - searchPhrase: Big bargain - - termQuery: - fields: - - enabled - operator: is - values: - - false \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json deleted file mode 100644 index e8b22fe6..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Filter.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json deleted file mode 100644 index 59688122..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/FilteredQuery.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json deleted file mode 100644 index bbc7f39e..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/NestedQuery.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "path": "order.shippingAddresses", - "query": { - "boolQuery": { - "must": [ - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.firstName" - ], - "operator": "is", - "values": [ - "John" - ] - } - } - ] - } - }, - { - "boolQuery": { - "must": [ - { - "termQuery": { - "fields": [ - "order.shippingAddresses.lastName" - ], - "operator": "is", - "values": [ - "Doe" - ] - } - } - ] - } - } - ] - } - }, - "scoreMode": "avg" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json deleted file mode 100644 index 9d0f4db0..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/PaginatedSearchResultBase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "query" : { "textQuery": { "fields": ["id", "description"], "searchPhrase": "stuff" } }, - "sorts" : [ - { "field": "couponId", "sortOrder": "desc" } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json deleted file mode 100644 index 8057c0f9..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Query.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "filteredQuery": { - "query": { - "textQuery": { - "fields": [ - "couponId" - ], - "searchPhrase": "disabled" - } - }, - "filter": { - "termFilter": { - "field": "enabled", - "operator": "is", - "values": [ - false - ] - } - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json deleted file mode 100644 index 28785856..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/QueryFilter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "query": { - "termQuery": { - "fields": [ - "enabled", - "active" - ], - "operator": "is", - "values": [ - false - ] - } - } -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json deleted file mode 100644 index e351bb9f..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/Range2Filter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fromField": "validFrom", - "toField": "validTo", - "filterMode": "overlap", - "fromValue": "2007-01-01T00:00:00.000Z", - "toValue": "2017-01-01T00:00:00.000Z" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json deleted file mode 100644 index 033e34cb..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/RangeFilter.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "field": "redemptionCount", - "from": 0, - "to": 10, - "fromInclusive": false -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json deleted file mode 100644 index a0f8aa8d..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SearchRequestBase.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "limit" : 4, - "query" : { - "textQuery": { - "fields": ["id", "description"], - "searchPhrase": "campaign" - } - }, - "offset" : 2 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json deleted file mode 100644 index 4aa969bc..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/SimpleSearchResultBase.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "limit" : 1, - "hits" : [ - { - "couponId": "MyCoupon", - "creationDate": "2019-10-20T12:00:00Z", - "description": "This coupon is used to give 10% off stuff.", - "enabled": false, - "exportedCodeCount": 0, - "lastModified": "2019-10-30T04:23:59Z", - "redemptionCount": 3, - "redemptionLimits": { - "limitPerCode": 1, - "limitPerCustomer": 1, - "limitPerTimeFrame": { - "limit": 2, - "redemptionTimeFrame": 24 - } - }, - "singleCode": "MyCode", - "systemCodesConfig": { - "codePrefix": "SG", - "numberOfCodes": 500000 - }, - "totalCodesCount": 50, - "type": "single_code" - } - ], - "offset" : 2, - "total" : 8 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json deleted file mode 100644 index 56a40325..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermFilter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "field": "id", - "operator": "is", - "values": [ - "myId" - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json deleted file mode 100644 index 419f69c5..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TermQuery.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "fields": [ - "enabled" - ], - "operator": "is", - "values": [ - false - ] -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json deleted file mode 100644 index 357e1d43..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Examples/TextQuery.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "fields": [ - "couponId" - ], - "searchPhrase": "limit" -} diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml deleted file mode 100644 index a1d58111..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/bearer-token.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 SecurityScheme -description: A security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. Expects a valid Bearer token passed in the 'Authorization' header to permit API access. -type: x-custom -displayName: BearerToken -describedBy: - headers: - Authorization: - description: |- - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml deleted file mode 100644 index 2a172e2b..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/SecuritySchemes/shopper-token.raml +++ /dev/null @@ -1,43 +0,0 @@ -#%RAML 1.0 SecurityScheme - -description: | - Shopper token Authentication. -type: x-custom -displayName: ShopperToken - -uses: - -describedBy: - headers: - Authorization: - description: | - Bearer token - type: string - pattern: "Bearer .*" - examples: - authenticatedUser: Bearer b325e95c-2cd7-11e5-b345-feff819cdc9f - responses: - 401: - description: Unauthorized. Your access-token is invalid or expired and could not be used to identify an user. - headers: - WWW-Authenticate: - example: | - WWW-Authenticate: Bearer realm="servers", - error="invalid_token", - error_description="The token expired" - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized" - title: Unauthorized - detail: Your access-token is invalid or expired and could not be used to identify an user. - 403: - description: Forbidden. Your token is valid, but you have no permissions to access the resource. - body: - application/json: - type: !include ../Types/error-response.raml - example: - type: "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden" - title: Forbidden - detail: Your token is valid, but you have no permissions to access the resource. \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml deleted file mode 100644 index 0dc2f69e..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: |- - This data type library holds fields that have data types that conform to well established standards, such as ISOs. Each should link to the appropriate standards document. - -types: - ISOCurrency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. - type: string - pattern: ^[A-Z][A-Z][A-Z]$ - example: - USD - NoValue: - description: A specialized value indicating the lack of definition of a currency, for example, if the value of the monetary value of the currency is an undefined number. - type: string - example: N/A - default: N/A - enum: - - N/A - Currency: - description: |- - A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable. -# type: ISOCurrency | NoValue - type: string - MoneyMnemonic: - description: |- - A combination of a Currency and an amount of that Currency. - type: object - properties: - currencyMnemonic?: Currency - value?: - description: The amount of money for the given currency. - type: number - format: double - example: 1234.56 - Country: - description: |- - A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard. - type: string - pattern: ^[A-Z][A-Z]$ - example: - US - Language: - description: |- - A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). - type: string - pattern: ^[a-z][a-z]$ - example: - en - LanguageCountry: - description: |- - A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'. - type: string - pattern: ^[a-z][a-z]-[A-Z][A-Z]$ - example: en-US - Locale: - description: |- - A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified. -# type: LanguageCountry | Language | DefaultFallback - type: string - DefaultFallback: - description: A specialized value indicating the system default values for locales. - type: string - example: default - default: default - enum: - - default diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml deleted file mode 100644 index 1460ec83..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/additional-properties.raml +++ /dev/null @@ -1,24 +0,0 @@ -#%RAML 1.0 Library -usage: |- - Data Types that don't fit into any specific category like error responses or search related types can be entered into this catch-all library. -types: - NoPropertiesAllowed: - type: object - additionalProperties: false - description: |- - This type is intended as an abstract super type that indicates that no additional properties are supported for this type and its sub types. All types that do not support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - SpecifiedPropertiesAllowed: - type: object - description: |- - This type is intended as an abstract super type that indicates that additional properties are supported for this type and its sub types (unless one of those subtypes inherits from `ClosedObject`). All types that support any additional properties should inherit from this type. This type is not allowed to be used directly in any API and should always be extended. - - To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - additionalProperties: true - properties: - /^c_.+$/?: - displayName: Additional Property Support - description: |- - This type supports additional properties passed along with the defined properties of this API. To indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`. The type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix. - example: - c_faxNumber - type: any \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml deleted file mode 100644 index cd64852a..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/pagination-types.raml +++ /dev/null @@ -1,25 +0,0 @@ -#%RAML 1.0 Library - -# To be applied on endpoints that use offset and limit pagination controls as described in [pagination controls](https://confluence.internal.salesforce.com/display/ENG/RESTful+APIs+Conventions+and+Standards+v1.1). -# -# These are available separately as data types as they are sometimes referenced in the body of requests. In that case, it is recommended to override the maximum and the description of the limit to display the actual maximum allowed, possibly with a parameter as done in the offset-paginated trait. - -types: - Offset: - description: Used to retrieve the results based on a particular resource offset. - type: integer - format: int64 - default: 0 - minimum: 0 - Limit: - description: Maximum records to retrieve per request, not to exceed the maximum defined. A limit must be at least 1 so at least one record is returned (if any match the criteria). - type: integer - format: int32 - default: 10 - minimum: 1 - Total: - description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated. - type: integer - format: int64 - default: 0 - minimum: 0 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml deleted file mode 100644 index fa1a4f62..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/search-types.raml +++ /dev/null @@ -1,354 +0,0 @@ -#%RAML 1.0 Library -usage: A common set of search related request and response types for OCAPI Data resources. Data resources are expected to use the search request directly, and extend search response in their definition. - -uses: - Pagination: pagination-types.raml - -types: - BoolFilter: - description: Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is configured with a boolean operator (AND, OR, NOT) and a list of filters the operator relates to. If multiple filters are given to a boolean NOT operator, this is interpreted as a NOT upon a boolean AND of the given filters. - type: object - example: !include ../Examples/BoolFilter.json - properties: - filters: - description: A list of filters, which are logically combined by an operator. - type: any[] - required: false - operator: - description: The logical operator the filters are combined with. - type: string - enum: - - and - - or - - not - BoolQuery: - description: | - A boolean query allows construction of full logical expression trees consisting of other queries (usually term and text queries). A boolean query basically has 3 sets of clauses: - - * must, which combines as an `AND` - * should, which combines as an `OR`, and - * must_not, which combines as a `NOT`. - - If 'must', 'mustNot', or 'should' appear in the same boolean query, they are combined logically using the AND operator. Syntactically, this amounts to: - - (must-1 AND must-1 AND ...) - AND (should-1 OR should-2 OR ...) - AND NOT (must_not-1 OR must_not-2 OR ...) - type: object - examples: !include ../Examples/BoolQuery.raml - properties: - must?: - description: List of queries to be evaluated as an `AND`. - type: any[] - mustNot?: - description: List of queries to be evaluated as an `NOT`. - type: any[] - should?: - description: List of queries to be evaluated as an `OR`. - type: any[] - Filter: - description: |- - Contains a set of objects that define criteria used to select records. A filter can contain one of the following: - * TermFilter - - Matches records where a field (or fields) exactly match some simple value (including null). - * RangeFilter - - Matches records where a field value lies in a specified range. - * Range2Filter - - Matches records in a specified range across fields. - * QueryFilter - - Matches records based on a query. - * BoolFilter - - Provides filtering of records using a set of filters combined using a specified operator. - type: object - example: !include ../Examples/Filter.json - minProperties: 1 - maxProperties: 1 - properties: - boolFilter?: BoolFilter - queryFilter?: QueryFilter - range2Filter?: Range2Filter - rangeFilter?: RangeFilter - termFilter?: TermFilter - FilteredQuery: - description: A filtered query allows to filter the result of a possibly complex query using a possibly complex filter. - type: object - example: !include ../Examples/FilteredQuery.json - properties: - filter: - description: The possibly complex filter object. - type: any - query: - description: The query object. - type: any - MatchAllQuery: - description: A match all query simply matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. - type: object - NestedQuery: - description: | - Nested query allows to query upon nested documents that are part of a larger document. The classical example is a product master with variants, in one big document, where you want to constraint a search to masters that have variants that match multiple constraints. - - This Query is only applicable a subset of APIs. Consult your API documentation to see if NestedQuery is supported. - type: object - example: !include ../Examples/NestedQuery.json - properties: - path: - description: The path to the nested document. - type: string - query: - description: The query to run on the nested document. - type: any - scoreMode: - description: |- - Indicates how scores for matching child objects affect the root parent document’s relevance score. - type: string - enum: - - avg - - total - - max - - none - required: false - Query: - description: |- - A set of objects that define criteria used to select records. A query can contain one of the following: - * MatchAllQuery - - Matches all documents. - * TermQuery - - Matches one or more documents against one or more document fields. - * TextQuery - - Matches text against one or more fields. - * BoolQuery - - Allows construction of a logical expression of multiple queries. - * FilteredQuery - - Allows a filter to be applied to a query. - * NestedQuery - - Allows to query upon nested documents that are part of a larger document. - - _Only valid for a subset of APIs. See API documentation to determine if this is supported._ - type: object - maxProperties: 1 - minProperties: 1 - example: !include ../Examples/Query.json - properties: - boolQuery?: BoolQuery - filteredQuery?: FilteredQuery - matchAllQuery?: MatchAllQuery - nestedQuery?: NestedQuery - termQuery?: TermQuery - textQuery?: TextQuery - QueryFilter: - description: |- - Wraps any query and allows it to be used as a filter. - type: object - example: !include ../Examples/QueryFilter.json - properties: - query: - description: The query to use as a filter. - type: any - Range2Filter: - description: |- - Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. - - The first range (R1) is defined by a pair of attributes ("fromField" and "toField") that specify the extent of a range, such as attributes "validFrom" and "validTo". - - The second range (R2) is defined by "fromValue" and "toValue". - - The filter mode specifies the method used to compare the two ranges: - - * overlap: R1 overlaps fully or partially with R2. - * containing: R1 contains R2. - * contained: R1 is contained in R2. - - The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - - type: object - example: !include ../Examples/Range2Filter.json - properties: - filterMode: - description: 'Compare mode: overlap, containing, or contained. If not specified, the default is overlap.' - type: string - enum: - - overlap - - containing - - contained - required: false - fromField: - description: The field name of the field that starts the first range. - type: string - fromInclusive: - description: Indicates whether the lower bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - fromValue: - description: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - toField: - description: The field name of the field that ends the first range. - type: string - toInclusive: - description: Indicates whether the upper bound of the second range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - toValue: - description: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - RangeFilter: - description: |- - Allows you to restrict a search result to hits that have values for a given attribute that fall into a given value range. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, at one end only. You can configure whether the lower and upper bounds are inclusive or exclusive. - - A range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. - type: object - example: !include ../Examples/RangeFilter.json - properties: - field: - description: The search field. - type: string - from: - description: The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended. - type: any - required: false - fromInclusive: - description: Indicates whether the lower bound of the range is inclusive. If not specified, the default is true. Set to false to make the lower bound exclusive. - type: boolean - required: false - to: - description: The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended. - type: any - required: false - toInclusive: - description: Indicates whether the upper bound of the range is inclusive. If not specified, the default is true. Set to false to made the upper bound exclusive. - type: boolean - required: false - SearchRequestBase: - description: Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource. - type: object - example: !include ../Examples/SearchRequestBase.json - properties: - limit?: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - query: - description: | - The search query. See the API documentation for a list of supported queryable attributes. - type: any - sorts: - description: The list of sort clauses configured for the search request. Sort clauses are optional; see the API documentation for the default sorting behavior if explicit sorts are not passed. - type: Sort[] - required: false - offset?: Pagination.Offset - PaginatedSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: SimpleSearchResultBase - example: !include ../Examples/PaginatedSearchResultBase.json - properties: - query: - description: The query passed into the search. - type: any - sorts: - description: The sorting that was applied to the result. - type: Sort[] - required: false - SimpleSearchResultBase: - description: Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`. - type: object - example: !include ../Examples/SimpleSearchResultBase.json - properties: - limit: - type: Pagination.Limit - maximum: 200 - description: Maximum records to retrieve per request, not to exceed 200. - hits: - description: The sorted array of search hits. Can be empty. - type: object[] - required: false - offset: Pagination.Offset - total: Pagination.Total - - Sort: - description: Document representing a sort request. Each API has a different default sort configured that can be modified in the request. - type: object - example: { "field": "couponId", "sortOrder": "desc" } - properties: - field: - description: The name of the field to sort on. - type: string - sortOrder: - description: The sort order to be applied when sorting. When omitted, the default sort order (asc) is used. - type: string - default: asc - enum: - - asc - - desc - required: false - TermFilter: - description: |- - Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only. - type: object - example: !include ../Examples/TermFilter.json - properties: - field: - description: The filter field. - type: string - operator: - description: The operator to compare the field's values with the given ones. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The filter values. - type: any[] - required: false - TermQuery: - description: |- - A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator "is" can only take one value, while "one_of" can take multiple. If multiple fields are specified, they are combined using the OR operator. - - **Limitations:** - - * The `greater` and `less` operators are not supported under certain conditions. They are permitted unless the API documentation states that they are not supported. - * A subset of APIs have special handling when used with multiple fields. If used with multiple fields, the query is internally handled as a boolean OR of DisjointMaxQueries (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields. See your API documetation to see if that API has this behavior. - type: object - example: !include ../Examples/TermQuery.json - properties: - fields: - description: The document fields, the values are matched against, combined with the operator. - minItems: 1 - type: string[] - operator: - description: Returns the operator to use for the term query. - type: string - enum: - - is - - one_of - - is_null - - is_not_null - - less - - greater - - not_in - - neq - values: - description: The values, the fields are compared against, combined with the operator. - type: any[] - required: false - TextQuery: - description: |- - A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or multiple fields. When multiple fields are provided, the phrase conceptually forms a logical OR over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields. - type: object - example: !include ../Examples/TextQuery.json - properties: - fields: - description: The document fields the search phrase has to match against. - minItems: 1 - type: string[] - searchPhrase: - description: A search phrase, which can consist of multiple terms separated by spaces. - type: string \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml deleted file mode 100644 index d2715da7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml +++ /dev/null @@ -1,103 +0,0 @@ -#%RAML 1.0 Library -usage: |- - - This is a collection of types, traits, security schemes, and more that follow the standards that are defined for Salesforce Commerce Cloud APIs. This standard library should be used, in conjuction with the standard Salesforce API Standards library, via: - - uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.3/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.5/commerce-cloud-standards.raml - - The goal is to expose only the importable objects in these files, and keep other, internal details as 'private'. If you feel something that is used internally in the standard is something that should be exposed in `commerce-cloud-standards.raml`, or if you feel something should be added to the standard, contact the C4E team with your proposal. - - # SecuritySchemes - - This project provides the following reusable securitySchemes. Except in rare circumstances, an API should not need to define its own security scheme and should use the ones provided here or in the Salesforce API Standards: - - - **`AmOAuth2`:** a security scheme for endpoints authenticated against [Account Manager](https://account.demandware.com/dw/account/Home#/) OAuth 2.0. - - **`ShopperToken`:** a security scheme for endpoints authenticated via Shopper JWTs. - - **`BearerToken`:** a security scheme that supplements APIs secured with `AmOAuth2` to support the usage of the mocking service. - - # Types - This project provides the following reusable types. These types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteId`:** a type that describes the storefront context for requests by a Shopper. If you need to have a siteId queryParam, use the trait `SiteSpecific`. - - ## Search Specific - - **`SearchRequest`:** a type commonly used for searching that takes a query in a body. - - **`PaginatedSearchResult`:** a type commonly used for a search response that took a query in a body. - - **`SimpleSearchResult`:** a type used for a search response that takes a query in a body, but does not return a paginated result. - - ## Following Standards - - - **`CurrencyCode`:** ISO 4217 compliant currency code. - - **`Money`:** A combination of a CurrencyCode and a number. - - **`LanguageCode`:** ISO 639-1 compliant language code. - - **`CountryCode `:** ISO 3166-1 compliant country code. - - **`LocaleCode`:** A combination of LanguageCode and CountryCode. - - # Resource Types - - This project provides the following reusable resource types. These resource types are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`Organization`:** a type that describes the `organizationId` uri parameter that the majority of Commerce Cloud APIs require in the resource path after the `version`. The beginning of all API resource paths is expected to be `/organizations/{organizationId}`. This resource type will provide the documentation and validation of the `organizationId`. - - # Traits - This project provides the following reusable traits. These traits are referenced in a plurality of APIs, to the point where it makes sense to have a common definition where the documentation, validation, and usage of them can be well documented. - - - **`SiteSpecific`:** adds a query parameter called `siteId` of type `SiteId` to the request. - - **`QueryParamsLimit`:** adds an offset query parameter without the limit query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - **`QueryParamsOffset`:** adds a limit query parameter without the offset query parameter. Some Commerce Cloud use cases do not currently require both. Prefer the use of `ApiStandards.OffsetPaginated`, may be deprecated in the future if there is no use case for it. - - -uses: - AdditionalProperties: Types/additional-properties.raml - Search: Types/search-types.raml - Pagination: Types/pagination-types.raml - ISO: Types/ISO-standards.raml - -securitySchemes: - AmOAuth2: !include SecuritySchemes/am-oauth-2.raml - ShopperToken: !include SecuritySchemes/shopper-token.raml - BearerToken: !include SecuritySchemes/bearer-token.raml - -types: - SiteId: - description: The identifer of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites - example: - SiteGenesis - type: string - minLength: 1 - SearchRequest: Search.SearchRequestBase - PaginatedSearchResult: Search.PaginatedSearchResultBase - SimpleSearchResult: Search.SimpleSearchResultBase - - CurrencyCode: ISO.Currency - Money: ISO.MoneyMnemonic - LanguageCode: ISO.Language - CountryCode: ISO.Country - LocaleCode: ISO.Locale - - ClosedObject: AdditionalProperties.NoPropertiesAllowed - OpenObject: AdditionalProperties.SpecifiedPropertiesAllowed - -resourceTypes: - Organization: - uriParameters: - organizationId: - description: An identifier for the organization the request is being made by. - example: - f_ecom_zzxy_prd - -traits: - QueryParamsLimit: - usage: This trait should not be used unless there is no requirement for QueryParamsOffset. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - limit?: Pagination.Limit - QueryParamsOffset: - usage: This trait should not be used unless there is no requirement for QueryParamsLimit. Prefer the usage of ApiStandards.OffsetPaginated. - queryParameters: - offset?: Pagination.Offset - SiteSpecific: - usage: This trait should be used whenever a resource has the context of a site assoicated with its request. This will add a siteId query parameter - queryParameters: - siteId: SiteId diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml deleted file mode 100644 index 8b117905..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/example.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 -title: Example API -version: v1 -mediaType: - - application/json -protocols: - - HTTPS -description: An example file demonstrating the usage of the commerce cloud standards library. - -# Copied from the documentation section. -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/standards/example/{version} -baseUriParameters: - shortCode: - description: A region-specific merchant identifier. - example: 0dnz6oep - pattern: ^([a-z0-9]+)(-[a-z0-9]+)*$ - -uses: - CommerceCloudStandards: commerce-cloud-standards.raml - tmp: Types/search-types.raml - -/organizations/{organizationId}/foo: - type: CommerceCloudStandards.Organization - description: An example Endpoint - get: - displayName: getFoo - description: Example get Method - securedBy: - - CommerceCloudStandards.AmOAuth2 - - CommerceCloudStandards.BearerToken - - is: - - CommerceCloudStandards.QueryParamsOffset: - - CommerceCloudStandards.QueryParamsLimit: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - responses: - 200: - description: an example response - body: - type: CommerceCloudStandards.LocaleCode | CommerceCloudStandards.Money - -/organizations/{organizationId}/bar: - type: CommerceCloudStandards.Organization - description: Another example endpoint - get: - displayName: getBar - description: Another example get method - securedBy: - - CommerceCloudStandards.ShopperToken - - is: - - CommerceCloudStandards.SiteSpecific: - objectType: SiteId - objectId: SiteGenesis - body: - type: CommerceCloudStandards.SearchRequest - responses: - 200: - description: another example response - body: - type: CommerceCloudStandards.PaginatedSearchResult \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json deleted file mode 100644 index 89227bf1..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"commerce-cloud-standards.raml","name":"Commerce Cloud Standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"commerce-cloud-standards","version":"1.0.16"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json deleted file mode 100644 index 5fa11f58..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authentication.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authentication-failure", - "title": "Authentication Failure", - "detail": "Authentication failed due to missing or invalid token.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json deleted file mode 100644 index c8a35b8c..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/Authorization.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/authorization-failure", - "title": "Authorization Failure", - "detail": "The provided credentials are not authorized to access this resource.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json deleted file mode 100644 index 67f7a9b1..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InternalServerError.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/internal-server-error", - "title": "Internal Server Error", - "detail": "There was an error completing your request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json deleted file mode 100644 index 7d87b944..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/InvalidRequest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/invalid-request", - "title": "Invalid Request", - "detail": "The provided request information is of an invalid format.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json deleted file mode 100644 index 04283b9e..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/LimitExceeded.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/limit-exceeded", - "title": "Limit Exceeded", - "detail": "You have exceeded a limit for the provided attibutes.", - "instance": "{Resource URI}", - "limits": [ - { - "limitDetails": "ATTRIBUTE_USAGE_FACETABLE_COUNT", - "count": 90, - "limit": 50 - }, - { - "limitDetails": "ATTRIBUTE_USAGE_FILTERABLE_COUNT", - "count": 15, - "limit": 12 - } - ] -} diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json deleted file mode 100644 index ad324f32..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NonReadableHttpMessage.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/non-readable-http-message", - "title": "Non-Readable HTTP Message", - "detail": "The request could not be processed.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json deleted file mode 100644 index c8ef3747..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/NotFound.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/not-found", - "title": "Resource Not Found", - "detail": "The requested {resource} was not found.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json deleted file mode 100644 index 023db860..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/RateLimitExceeded.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/rate-limit-reached", - "title": "Rate Limit Reached", - "detail": "The request could not be processed due to the current volume of requests.", - "instance": "{Resource URI}", - "requestLimit": 1000 -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json deleted file mode 100644 index e8511a4c..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Examples/ServiceUnavailable.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "https://discovery.commercecloud.salesforce.com/documentation/error/v2/errors/service-unavailable", - "title": "Service Unavailable", - "detail": "The server is temporarily unable to handle the request.", - "instance": "{Resource URI}" -} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml deleted file mode 100644 index e5b112f3..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.BadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml deleted file mode 100644 index 6d7c5192..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/Traits/resource-common-errors.raml +++ /dev/null @@ -1,50 +0,0 @@ -#%RAML 1.0 Trait - -usage: | - To be used to wrap common errors into a single trait include. - -uses: - ErrorTypes: ../discovery-error-types.raml - -responses: - 400: - description: Bad Request. - body: - application/problem+json: - type: ErrorTypes.ResourceBadRequest - 401: - description: Authentication Failure. - body: - application/problem+json: - type: ErrorTypes.AuthenticationFailure - 403: - description: Authorization Failure. - body: - application/problem+json: - type: ErrorTypes.AuthorizationFailure - 404: - description: Not Found. - body: - application/problem+json: - type: ErrorTypes.NotFound - 429: - description: Too Many Requests. - headers: - Retry-After: - examples: - after-seconds: "120" - body: - application/problem+json: - type: ErrorTypes.RateLimitExceeded - 500: - description: Internal Server Error. - body: - application/problem+json: - type: ErrorTypes.InternalServerError - 503: - description: Service Unavailable. - body: - application/problem+json: - type: ErrorTypes.ServiceUnavailable - - diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml deleted file mode 100644 index 18cc51e7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Errors/discovery-error-types.raml +++ /dev/null @@ -1,156 +0,0 @@ -#%RAML 1.0 Library - -# Discovery Error Response Types -# -# These types have been defined as part of the Discovery Mercury project (https://salesforce.quip.com/0EWTAH24eIMb). -# All error types are based on the error response formats for HTTP APIs, following the standard [IETF rfc7807]. -# https://tools.ietf.org/html/rfc7807 - -types: - - BaseError: - description: Standardized properties defined in the Commerce Cloud Standard error-response DataType raml file. Every error type consists of at least the four properties provided here of type, title, detail, and resource. - properties: - type: - description: | - A URI reference [RFC3986] that identifies the - problem type. This specification encourages that, when - dereferenced, it provide human-readable documentation for the - problem type (e.g., using HTML [W3C.REC-html5-20141028]). When - this member is not present, its value is assumed to be - "about:blank". It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: true - example: https://example.com/probs/out-of-credit - title: - description: | - A short, human-readable summary of the problem - type. It will not change from occurrence to occurrence of the - problem, except for purposes of localization. - type: string - required: false - example: You do not have enough credit. - detail: - description: | - A human-readable explanation specific to this - occurrence of the problem. - type: string - required: false - example: Your current balance is 30, but that costs 50. - instance: - description: | - A URI reference that identifies the specific - occurrence of the problem. It may or may not yield further - information if dereferenced. It accepts relative URIs; this means - that they must be resolved relative to the document's base URI, as - per [RFC3986], Section 5. - type: string - required: false - example: "/account/12345/msgs/abc" - additionalProperties: false - - # Discovery Error Type Definitions: - AuthenticationFailure: - description: Error type indicating an error due to lack of authentication. Users are required to authenticate to access all Discovery API endpoints. Users should attempt to re-authenticate before retrying the request. - type: BaseError - example: !include Examples/Authentication.json - - AuthorizationFailure: - description: Error type indicating an error due to lack of privilege. Users who are authenticated but attempt to access a resource which they don't have permission to access will receive this error. - type: BaseError - example: !include Examples/Authorization.json - - NotFound: - description: Error type indicating the user attempted to access a resource or endpoint which doesn't exist. - type: BaseError - example: !include Examples/NotFound.json - - ServiceUnavailable: - description: Error type indicating the server temporarily cannot process the request due to internal issues, but the same request can be retried at a later point in time. - type: BaseError - example: !include Examples/ServiceUnavailable.json - - InternalServerError: - description: Error type indicating that the server could not fulfil the client’s request due to some unexpected condition. - type: BaseError - example: !include Examples/InternalServerError.json - - RateLimitExceeded: - description: Error type indicating that the user has reached a rate limit for the server by sending requests too frequently. This error includes the limit of allowed requests to the resource. - type: BaseError - properties: - requestLimit: - description: A number returned indicating the maximum number of allowed requests for the instance being requested. - type: number - example: !include Examples/RateLimitExceeded.json - - BadRequest: - description: Error indicating that the request was malformed. Provides multiple examples under the scope of one type. - type: BaseError - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - - InvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. An example of this would be providing a attribute value within a json body which is not one of the defined attribute types. - type: BadRequest - example: !include Examples/InvalidRequest.json - - NonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. An example of this would be a JSON which is missing a bracket, and cannot be processed. - type: BadRequest - example: !include Examples/NonReadableHttpMessage.json - - ResourceBadRequest: - description: Error indicating that the request was malformed. Additionally thrown when the request was not processed due to violation of a server enforced quota or limit. This error will include a list of enums indicating the respective server limits which have been exceeded. - type: BaseError - properties: - limits?: - description: A list of limit objects providing the exceeded limits and the respective counts. - type: Limit[] - examples: - InvalidRequest: !include Examples/InvalidRequest.json - NonReadableHttpMessage: !include Examples/NonReadableHttpMessage.json - LimitExceeded: !include Examples/LimitExceeded.json - - ResourceInvalidRequest: - description: Error type indicating that the server cannot or will not process the request due to something that is perceived to be a client error. - type: BadRequest - example: !include Examples/InvalidRequest.json - - ResourceNonReadableHttpMessage: - description: Errors type indicating an invalid/non-parsable JSON was sent by the user. This case is normally handled by the spring framework before the request reaches the application endpoint. - type: ResourceBadRequest - example: !include Examples/NonReadableHttpMessage.json - - Limit: - description: A type of resource limit which can be exceeded. Each enum corresponds to a different limit defined by the Discovery APIs non-functional requirements. - properties: - limitDetails: - description: An enum indicating the respective server limit which has been exceeded. - enum: - - ATTRIBUTE_DEFINITION_COUNT - - ITEM_IDENTIFIER_ATTRIBUTE_DEFINITION_COUNT - - ATTRIBUTE_USAGE_FACETABLE_COUNT - - ATTRIBUTE_USAGE_FILTERABLE_COUNT - - ATTRIBUTE_USAGE_GROUPABLE_COUNT - - ATTRIBUTE_USAGE_SEARCHABLE_COUNT - - ATTRIBUTE_USAGE_SORTABLE_COUNT - - ATTRIBUTE_CONFIGURATION_LOCALIZED_PATHS_COUNT - - QUERY_INPUT_PHRASE_COUNT - - QUERY_INPUT_TAG_IDS_COUNT - - QUERY_INPUT_FACETS_COUNT - - QUERY_INPUT_SORTING_COUNT - - QUERY_INPUT_GROUPING_COUNT - - QUERY_INPUT_REFINEMENTS_COUNT - - QUERY_INPUT_PAGINATION_COUNT - count: - description: The current count of data associated with he provided enum. - type: integer - example: 51 - limit: - description: The defined limit value associated with the provided enum. - type: integer - example: 50 diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml deleted file mode 100644 index cadaa1f2..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/bulk-retrieval-filters.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for the filtering of resources using timestamps and resource identifiers. - -queryParameters: - ids?: - description: Collection of resource identifiers representing the desired resources to return. - type: string[] - uniqueItems: true - example: - - 1907c0db-3845-431a-b36b-61f7efc818cc - - dee3ce6a-bc2f-4893-b91c-59c9a677f42d - creationDateTimeStart?: - description: Filters by excluding the resources that have creationDateTime before the defined time. - type: datetime - example: 2020-02-27T00:00:00Z - creationDateTimeEnd?: - description: Filters by excluding the resources that have creationDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z - lastUpdateDateTimeStart?: - description: Filters by excluding the resources that have lastUpdateDateTime before the defined time. - type: datetime - example: 2020-02-28T09:41:50Z - lastUpdateDateTimeEnd?: - description: Filters by excluding the resources that have lastUpdateDateTime after the defined time. - type: datetime - example: 2020-02-28T10:41:50Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml deleted file mode 100644 index 0d6c8585..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/meta-data.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing the meta data about the client's request. - -headers: - meta-data-env?: - description: Header defining the client's environment of the incoming request to discovery. The expected values are prod or non-prod. - type: string - maxLength: 10 - example: prod - meta-data-usage?: - description: Header defining the usage of the incoming request to discovery. The expected values are b2b, b2c or content. - type: string - maxLength: 10 - example: b2b - meta-data-implementation?: - description: Header defining the implementation type of the incoming request to discovery. The expected values are hsr, canonical or custom. - type: string - maxLength: 15 - example: hsr \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml deleted file mode 100644 index 2c876b8f..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/tenant-tier.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing the tenant-tier. - -headers: - tenant-tier?: - description: Header defining the tenant tier for NFR limits. - type: string - maxLength: 256 - example: internal-large-catalog \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml deleted file mode 100644 index 1a5e95b4..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Traits/traceable.raml +++ /dev/null @@ -1,10 +0,0 @@ -#%RAML 1.0 Trait - -usage: This trait allows for taking in an input header containing a request identifier. - -headers: - RequestId?: - description: Client defined unique identifier, used for tracking within the domain. - type: string - maxLength: 256 - example: f20c37c8-f153-4001-b033-c7b32e1e8651 diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml deleted file mode 100644 index c56ba601..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/attribute-info.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 Library - -types: - - AttributeName: - description: A human-readable name for the attribute of a given locale, optionally defined when the attribute is created. - type: string - example: Brand - Path: - description: The attribute’s path, expressed in dot notation. - type: string - example: item.brand - - Value: - description: The data for the attribute. - type: any diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml deleted file mode 100644 index cc90c09a..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/base-uri-parameters.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 Library -usage: - -types: - - Region: - description: Region in which the service is exposed. - example: en-US - - Version: - description: The version of the commerce cloud API. - example: v2 \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml deleted file mode 100644 index e0aa5072..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/date-times.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 Library - -types: - - CreationDateTime: - description: The date time the resource was created. - type: datetime - example: 2020-02-28T10:41:50Z - - LastUpdateDateTime: - description: The date time when the resource was last modified. - type: datetime - example: 2020-02-27T06:13:07Z \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml deleted file mode 100644 index d1371cd8..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/expansion-attribute.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType - -uses: - IDs: identifiers.raml - AttributeInfo : attribute-info.raml - -description: An entity containing an attribute ID, the attribute's path, and the attribute's value for a corresponding item. -properties: - attributeId: IDs.AttributeId - attributeName?: AttributeInfo.AttributeName - path: AttributeInfo.Path - value: AttributeInfo.Value \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml deleted file mode 100644 index e651e65a..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/group-expansion.raml +++ /dev/null @@ -1,28 +0,0 @@ -#%RAML 1.0 Library - -uses: - IDs: identifiers.raml - -types: - - GroupValue: - description: An entity containing attribute values for a group of items. - properties: - itemId: IDs.ItemId - value: - description: The data for the given attribute. - type: any - - GroupAttribute: - description: An entity represeting an attribute's values aggregated over a group of items within Discovery. This entity contains an attribute ID, the attribute's path, and the attribute's values for a corresponding collection of items. - properties: - attributeId: IDs.AttributeId - attributeName?: - description: A human readable name of the attribute for a given locale, optionally defined at creation time of the attribute. - type: string - example: Brand - path: - description: The path, using dot notation, that this attribute corresponds to. - type: string - example: item.brand - values: GroupValue[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml deleted file mode 100644 index 29c5a3e7..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/identifiers.raml +++ /dev/null @@ -1,31 +0,0 @@ -#%RAML 1.0 Library - -types: - - DataSetId: - description: The unique identifier of a Data Set resource. - type: string - maxLength: 256 - example: d4330450-df8a-439f-80f8-847ae3cb564f - - AttributeId: - description: User defined unique identifier for a specific attribute. - type: string - maxLength: 256 - example: name - - ItemId: - description: Identifier of an item resource within the Discovery domain. - type: string - example: 9b65099c-6705-481f-8b0c-283f08244153 - - GroupId: - description: Unifying value of a collection of item resources. - type: string - example: abc3bf4a-8aca-4c15-a86e-2ab5425a59fa - - SearchResultRuleId: - description: The unique identifier of a Search Result Rule resource. - type: string - maxLength: 256 - example: 17fgm7594-df8a-439f-80f8-847ae3cb564f \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml deleted file mode 100644 index 1bb88630..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/Types/links.raml +++ /dev/null @@ -1,33 +0,0 @@ -#%RAML 1.0 Library - -types: - - Reference: - description: Location of a resource. - type: string - - Self: - description: Link to the resource. - properties: - href: Reference - additionalProperties: false - - SelfResourceLink: - description: Entity containing a HATEOS link to a resource. - properties: - self: Self - additionalProperties: false - - Pagination: - description: Entity containing HATEOS links. These are links that allow navigating (paging) a result set. - properties: - prev?: - description: Link to the previous set of results. - type: Self - self: - description: Link to the current set of results. - type: Self - next?: - description: Link to the next set of results. - type: Self - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml deleted file mode 100644 index d429a78e..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml +++ /dev/null @@ -1,67 +0,0 @@ -#%RAML 1.0 Library -usage: | - These RAML components look to define the common entities in the Discovery Domain, and are intended to be used in combination with the API Standards and Commerce Cloud Standards libraries to ensure consistency over all Discovery API contracts. - -uses: - DateTimes: Types/date-times.raml - IDs: Types/identifiers.raml - Links: Types/links.raml - UriParameters: Types/base-uri-parameters.raml - GroupExpansion: Types/group-expansion.raml - AttributeInfo : Types/attribute-info.raml - ErrorTypes: Errors/discovery-error-types.raml - -types: - - # Base URI Parameters - Region: UriParameters.Region - Version: UriParameters.Version - - # Resource Indentifiers - DataSetId: IDs.DataSetId - ItemId: IDs.ItemId - GroupId: IDs.GroupId - AttributeId: IDs.AttributeId - SearchResultRuleId: IDs.SearchResultRuleId - - # Attribute Info - AttributeName : AttributeInfo.AttributeName - AttributePath : AttributeInfo.Path - AttributeValue : AttributeInfo.Value - - # Datetimes - CreationDateTime: DateTimes.CreationDateTime - LastUpdateDateTime: DateTimes.LastUpdateDateTime - - # Links - ResourceLink: Links.SelfResourceLink - - # Pagination - PaginationLinks: Links.Pagination - - # Resources - ExpansionAttribute: !include Types/expansion-attribute.raml - GroupExpansionAttribute: GroupExpansion.GroupAttribute - BaseErrors: ErrorTypes.BaseError - -traits: - - Traceable: !include Traits/traceable.raml - - Filterable: !include Traits/bulk-retrieval-filters.raml - - TenantTier: !include Traits/tenant-tier.raml - - MetaData: !include Traits/meta-data.raml - - # Error Traits: - # - # Wraps Traits of the same status code to provide an optional response. - # Provides a CommonErrors trait for errors shared across all APIs. - - CommonErrors: !include Errors/Traits/common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable. - - ResourceCommonErrors: !include Errors/Traits/resource-common-errors.raml - # Wraps: Invalid Request, NonReadableHttpMessage, AuthorizationFailure, AuthenticationFailure, NotFound, RateLimitExceeded, InternalServerError, ServiceUnavailable, LimitExceeded - \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml deleted file mode 100644 index de9191e5..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/example.raml +++ /dev/null @@ -1,58 +0,0 @@ -#%RAML 1.0 -title: An example file showing the usage of the Discovery Standards library. -version: v0 -mediaType: - - application/json - -uses: - Standards: discovery-standards.raml - -protocols: [ HTTPS ] - -baseUri: https://{shortCode}.api.commercecloud.salesforce.com/discovery/sample/{version} - -description: A sample file showing the various entities in this standards library. - -/organizations/{organizationId}: - /data-sets: - post: - description: A sample endpoint to create a resource. - displayName: createResource - is: - - Standards.ResourceCommonErrors - responses: - 200: - description: Returns the identifier of the created resource. - body: - properties: - attributeId: Standards.AttributeId - - /data-sets/{dataSetId}/attributes: - uriParameters: - dataSetId: - type: Standards.DataSetId - get: - description: A sample endpoint to get a resource. - displayName: getResource - is: - - Standards.CommonErrors - responses: - 200: - description: The resource was retrieved. - body: - description: A collection of attribute identifiers. - properties: - type: Standards.DataSetId - - /data-sets/{dataSetId}/attributes/{attributeId}: - uriParameters: - dataSetId: - type: Standards.DataSetId - attributeId: - type: Standards.AttributeId - delete: - description: A sample endpoint to delete a resource. - displayName: deleteResource - responses: - 201: - description: The resource was deleted. diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json b/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json deleted file mode 100644 index d82deff4..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/exchange.json +++ /dev/null @@ -1 +0,0 @@ -{"main":"discovery-standards.raml","name":"discovery standards","classifier":"raml-fragment","tags":[],"groupId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","assetId":"discovery-standards","version":"0.0.34","backwardsCompatible":false,"dependencies":[],"originalFormatVersion":"1.0","organizationId":"893f605e-10e2-423a-bdb4-f952f56eb6d8","apiVersion":"v1"} \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml deleted file mode 100644 index b2b78483..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/feature-definitions.raml +++ /dev/null @@ -1,22 +0,0 @@ -#%RAML 1.0 Library -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - -types: - - FeatureName: - description: The name of the search feature. - type: string - - IsEnabled: - description: Boolean representing whether the feature is enabled. - type: boolean - - FeatureDefinition: - description: An entity containing the configuration for each feature that should be enabled or disabled for each dataset. The entity indicates the name of the feature and a boolean indicating whether the feature is enabled. If enabled, the feature will be used for all query request for the dataset. - type: CommerceCloudStandards.ClosedObject - properties: - featureName: FeatureName - isEnabled: IsEnabled diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml b/testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml deleted file mode 100644 index 8bd41b62..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/ramltojaxrs.raml +++ /dev/null @@ -1,32 +0,0 @@ -#%RAML 1.0 Library -annotationTypes: - types: - allowedTargets: [TypeDeclaration,API] - properties: - className?: - type: string - implementationClassName?: - type: string - usePrimitiveType?: - type: boolean - abstract?: - type: boolean - plugins?: any[] - resources: - allowedTargets: [Resource, Method, Response, API] - properties: - plugins?: any[] - methods: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responseClasses: - allowedTargets: [Method, API] - properties: - plugins?: any[] - - responses: - allowedTargets: [Response, API] - properties: - plugins?: any[] \ No newline at end of file diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml b/testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml deleted file mode 100644 index 369e1f47..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/search-result-rule-definitions.raml +++ /dev/null @@ -1,52 +0,0 @@ -#%RAML 1.0 Library - -uses: - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - TargetConditions: boost-bury-rule-target-conditions.raml - -types: - RuleDefinition: - description: Base resource type for describing an search result rule - properties: - ruleDefinitionType: - description: The type of Search result rule definition being defined. - type: string - discriminator: ruleDefinitionType - additionalProperties: false - - IncludeTermsDefinition: - description: Definition which defines the search result rule to include terms - type: RuleDefinition - properties: - terms: - description: A collection of values defining which search terms should be included - type: string[] - minItems: 2 - uniqueItems: true - example: [jeans, denim, wranglers] - discriminatorValue: INCLUDE_TERMS - additionalProperties: false - - BoostBuryItemsDefinition: - description: Definition which defines the Search Result Rule to boost or bury certain items in the search result - type: RuleDefinition - properties: - action: - description: Defines the action to be taken when the associated conditions are met. Actions include 'boost', 'bury'. Boost is to increase boost rank of the item in the search results and Bury is to decrease rank of the item in the search results, the Search Result Rule gets applied only if items meets the defined target condition and sorting is "RELEVANCE" in the query. - enum: - - BOOST - - BURY - example: BOOST - level: - description: Defines impact with which Search Result Rule should be applied, 1 defines minimum effect, 100 defines maximum allowed effect. - type: number - example: 70 - minimum: 1 - maximum: 100 - targetConditions: - description: Specifies conditions that need to be satisfied for the Search Result Rule to apply. Each object represents a condition that is evaluated against the items in search result. If any of the conditions are true, that Search Result Rule will be applied to all items of the Search Results satisfying the condition. - type: TargetConditions.BoostBuryRuleTargetCondition[] - discriminatorValue: BOOST_BURY_ITEMS - additionalProperties: false diff --git a/testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml b/testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml deleted file mode 100644 index f20bc583..00000000 --- a/testIntegration/stagingApis/discovery/data-discovery-management/search-rule.raml +++ /dev/null @@ -1,129 +0,0 @@ -#%RAML 1.0 Library - -uses: - ApiStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/api-standards/1.1.12/api-standards.raml - CommerceCloudStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/commerce-cloud-standards.raml - DiscoveryStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/discovery-standards/0.0.34/discovery-standards.raml - ISOStandards: exchange_modules/893f605e-10e2-423a-bdb4-f952f56eb6d8/commerce-cloud-standards/1.0.16/Types/ISO-standards.raml - AttributeDefinitions: attribute-definitions.raml - FeatureDefinitions: feature-definitions.raml - SearchResultRuleDefinitions: search-result-rule-definitions.raml - -types: - - SearchResultRule: - description: An entity which defines information about the requested search result rule resource. - properties: - ruleName: - description: An entity containing the data which defines name of the search result rule. - required: false - externalId: - description: Unique Identifier for the search rule resource - required: false - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - startDateTime: - description: Coordinated Universal Time (UTC) which defines the moment at which search rule takes effect. - type: datetime - example: 2020-02-28T10:41:50Z - required: false - endDateTime: - description: Coordinated Universal Time (UTC) that defines the moment at which the effect of the search rule ends. - type: datetime - example: 2023-02-28T10:41:50Z - required: false - locales: ISOStandards.LanguageCountry[] - searchRuleDefinition: - description: An entity of search rule definition which will define the Search Result instance being created. - type: SearchResultRuleDefinitions.RuleDefinition - required: true - isActive: - description: An entity containing the data which defines if the search result rule is active or not. - type: boolean - required: true - additionalProperties: false - - SearchResultRuleReference: - description: An entity containing information about a Search Result Rule, in addition to a link to the actual resource. - properties: - searchResultRuleId: DiscoveryStandards.SearchResultRuleId - ruleName: - description: An entity containing the data which defines name of the search result rule. - externalId: - description: Unique Identifier for the search rule resource - isActive: - description: An entity containing the data which defines if the search result rule is active or not. - type: boolean - creationDateTime: DiscoveryStandards.CreationDateTime - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - startDateTime: - description: Coordinated Universal Time (UTC) which defines the moment at which search rule takes effect. - type: datetime - example: 2020-02-28T10:41:50Z - endDateTime: - description: Coordinated Universal Time (UTC) that defines the moment at which the effect of the search rule ends. - type: datetime - example: 2023-02-28T10:41:50Z - locales: ISOStandards.LanguageCountry[] - searchRuleDefinition: - description: An entity of search result rule definition which will define the Search Result instance being created. - type: SearchResultRuleDefinitions.RuleDefinition - _links: DiscoveryStandards.ResourceLink - additionalProperties: false - - SearchResultRuleCreationInput: - description: Input resource, used to create a Search Result Rule. - properties: - rules: - description: Collection of search result rule definitions which will define the Search Result instance being created. - type: SearchResultRule[] - required: true - minItems: 1 - additionalProperties: false - - SearchResultRuleOutput: - description: Output resource, used to represent details of Search Result creation - properties: - externalId: - description: Unique Identifier for the search rule resource - searchResultRuleId: DiscoveryStandards.SearchResultRuleId - ruleName: - description: An entity containing the data which defines name of the search result rule. - type: string - status: - description: An entity containing the status indicating if the search result rule entity is created or not. - type: string - example: CREATED - isActive: - description: An entity containing the data which defines if the search result rule is active or not. - type: boolean - lastUpdateDateTime: DiscoveryStandards.LastUpdateDateTime - creationDateTime: DiscoveryStandards.CreationDateTime - - additionalProperties: false - - SearchResultRuleCreationOutput: - description: An entity containing the identifier of the newly created search result resource, and the time the resource was created. - properties: - rules: - description: Collection of search result rule definitions which provide resource statuses and references. - type: SearchResultRuleOutput[] - errors: - description: Collection of errors which provide failures in the bulk operation if any. - type: DiscoveryStandards.BaseErrors[] - - additionalProperties: false - - BulkSearchResultRuleRetrievalOutput: - description: An entity containing a collection of Search Result Rule resource statuses and references by default sorted by creation time. - properties: - rules: - description: A collection of references to Search Result Rule instances. - type: SearchResultRuleReference[] - limit: ApiStandards.Limit - offset: ApiStandards.Offset - total: - description: The total number of matching resources. - type: integer - example: 25 - additionalProperties: false \ No newline at end of file From ba7f7d2f62710f1cfb98cf6a7f1fb0a098a77ca2 Mon Sep 17 00:00:00 2001 From: Alex Vuong Date: Tue, 11 Feb 2025 13:21:18 -0800 Subject: [PATCH 4/4] test node 22 --- .../dataTypes/SpeedSetting.raml | 27 +++++++++++++++++++ .../zone/speed-settings-response.raml | 3 +++ 2 files changed, 30 insertions(+) diff --git a/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml b/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml index e84eb7ad..df3f1a86 100644 --- a/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml +++ b/apis/cdn/cdn-api-process-apis/dataTypes/SpeedSetting.raml @@ -26,6 +26,27 @@ properties: required: false default: off enum: [off, lossless, lossy] + example: off + minifyJs: + type: string + description: Minify JavaScript for a zone. + required: false + default: off + enum: ["on", "off"] + example: off + minifyHtml: + type: string + description: Minify HTML for a zone. + required: false + default: off + enum: ["on", "off"] + example: off + minifyCss: + type: string + description: Minify CSS for a zone. + required: false + default: off + enum: ["on", "off"] example: off earlyHints: type: string @@ -58,6 +79,12 @@ examples: polish: off webpExample: webp: off + minifyJsExample: + minifyJs: off + minfyHtmlExample: + minfyHtml: off + minifyCssExample: + minifyCss: off earlyHintsExample: earlyHints: off http3Example: diff --git a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml b/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml index c1f4177f..2548311c 100644 --- a/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml +++ b/apis/cdn/cdn-api-process-apis/examples/zone/speed-settings-response.raml @@ -3,5 +3,8 @@ data: brotliCompression: off http2Prioritization: off + minifyCss: off + minfyHtml": off + minifyJs": off polish: off webp: off \ No newline at end of file