From 24801f9d8db12f7e4b991504f2dbc3af80da0dfe Mon Sep 17 00:00:00 2001 From: Auto Mation Date: Fri, 12 Jan 2024 21:04:14 +0000 Subject: [PATCH] Updated API from documentation release --- .../ApprovalFlowSetCustomFieldAction.json | 5 - .../ApprovalFlowSetCustomTypeAction.json | 10 - .../DiscountCodeSetValidUntilAction.json | 2 +- .../product-search-request.example.json | 33 ++ .../ProductSearch/product-search.example.json | 38 ++ ...rojectChangeProductSearchStatusAction.json | 4 + ...approval-flow-update-response.example.json | 3 +- .../api/examples/approval-flow.example.json | 3 +- .../api/examples/approval-flows.example.json | 3 +- .../api/examples/custom-objects.example.json | 9 +- api-specs/api/resources/cart-discounts.raml | 3 - api-specs/api/resources/in-store.raml | 14 +- api-specs/api/resources/login.raml | 2 +- .../api/resources/product-selections.raml | 4 +- api-specs/api/resources/products.raml | 37 +- api-specs/api/resources/shipping-methods.raml | 4 +- api-specs/api/ruleset.xml | 1 + .../api/types/approval-flow/ApprovalFlow.raml | 5 +- .../approval-flow/ApprovalFlowApproval.raml | 1 + .../approval-flow/ApprovalFlowRejection.raml | 1 + .../ApprovalFlowSetCustomFieldAction.raml | 18 - .../ApprovalFlowSetCustomTypeAction.raml | 17 - .../approval-flow/ApprovalFlowStatus.raml | 1 + .../api/types/approval-rule/ApprovalRule.raml | 1 + .../approval-rule/ApprovalRuleDraft.raml | 1 + .../ApprovalRuleSetApproversAction.raml | 1 + .../ApprovalRuleSetDescriptionAction.raml | 1 + .../ApprovalRuleSetKeyAction.raml | 1 + .../ApprovalRuleSetNameAction.raml | 1 + .../ApprovalRuleSetPredicateAction.raml | 1 + .../ApprovalRuleSetRequestersAction.raml | 1 + .../ApprovalRuleSetStatusAction.raml | 1 + .../approval-rule/ApprovalRuleStatus.raml | 1 + .../approval-rule/ApproverConjunction.raml | 1 + .../ApproverConjunctionDraft.raml | 1 + .../approval-rule/ApproverDisjunction.raml | 1 + .../ApproverDisjunctionDraft.raml | 1 + .../approval-rule/ApproverHierarchy.raml | 1 + .../approval-rule/ApproverHierarchyDraft.raml | 1 + .../api/types/approval-rule/RuleApprover.raml | 1 + .../approval-rule/RuleApproverDraft.raml | 1 + .../types/approval-rule/RuleRequester.raml | 1 + .../approval-rule/RuleRequesterDraft.raml | 1 + .../api/types/business-unit/BusinessUnit.raml | 2 +- .../business-unit/BusinessUnitStatus.raml | 2 +- .../BusinessUnitSetCustomTypeAction.raml | 2 +- .../api/types/cart-discount/CartDiscount.raml | 1 + .../cart-discount/CartDiscountDraft.raml | 1 + .../CartDiscountTotalPriceTarget.raml | 1 + .../updates/CartDiscountAddStoreAction.raml | 3 +- .../CartDiscountRemoveStoreAction.raml | 3 +- .../updates/CartDiscountSetStoresAction.raml | 3 +- api-specs/api/types/cart/Cart.raml | 1 + api-specs/api/types/cart/CartState.raml | 4 +- .../api/types/cart/DiscountOnTotalPrice.raml | 1 + .../cart/DiscountedTotalPricePortion.raml | 1 + .../api/types/cart/ExternalTaxRateDraft.raml | 2 +- api-specs/api/types/cart/InventoryMode.raml | 4 +- api-specs/api/types/cart/LineItemMode.raml | 2 +- .../api/types/cart/ReplicaCartDraft.raml | 2 +- .../types/customer/AuthenticationMode.raml | 1 + api-specs/api/types/customer/Customer.raml | 1 + .../CustomerSetAuthenticationModeAction.raml | 1 + ...AttributeDefinitionAlreadyExistsError.raml | 2 +- .../AttributeDefinitionTypeConflictError.raml | 2 +- .../DuplicateStandalonePriceScopeError.raml | 2 +- .../types/error/EditPreviewFailedError.raml | 2 +- .../types/error/InvalidCredentialsError.raml | 4 +- .../error/InvalidCurrentPasswordError.raml | 4 +- .../error/MaxStoreReferencesReachedError.raml | 1 + .../error/MissingRoleOnChannelError.raml | 4 +- .../NoMatchingProductDiscountFoundError.raml | 2 +- .../api/types/error/NotEnabledError.raml | 14 + ...erlappingStandalonePriceValidityError.raml | 2 +- .../StoreCartDiscountsLimitReachedError.raml | 1 + ...AttributeDefinitionAlreadyExistsError.raml | 2 +- ...LAttributeDefinitionTypeConflictError.raml | 2 +- ...hQLDuplicateStandalonePriceScopeError.raml | 2 +- .../GraphQLEditPreviewFailedError.raml | 2 +- .../GraphQLInvalidCredentialsError.raml | 4 +- .../GraphQLInvalidCurrentPasswordError.raml | 4 +- ...GraphQLMaxStoreReferencesReachedError.raml | 1 + .../GraphQLMissingRoleOnChannelError.raml | 4 +- ...QLNoMatchingProductDiscountFoundError.raml | 2 +- .../error/graphql/GraphQLNotEnabledError.raml | 10 + ...erlappingStandalonePriceValidityError.raml | 2 +- ...QLStoreCartDiscountsLimitReachedError.raml | 1 + .../message/ApprovalFlowApprovedMessage.raml | 1 + .../message/ApprovalFlowCompletedMessage.raml | 1 + .../message/ApprovalFlowCreatedMessage.raml | 1 + .../message/ApprovalFlowRejectedMessage.raml | 1 + .../ApprovalRuleApproversSetMessage.raml | 1 + .../message/ApprovalRuleCreatedMessage.raml | 1 + .../ApprovalRuleDescriptionSetMessage.raml | 1 + .../message/ApprovalRuleKeySetMessage.raml | 1 + .../message/ApprovalRuleNameSetMessage.raml | 1 + .../ApprovalRulePredicateSetMessage.raml | 1 + .../ApprovalRuleRequestersSetMessage.raml | 1 + .../message/ApprovalRuleStatusSetMessage.raml | 1 + .../message/AssociateRoleCreatedMessage.raml | 2 +- .../message/BusinessUnitCreatedMessage.raml | 3 +- .../message/CartDiscountCreatedMessage.raml | 13 - .../message/CartDiscountDeletedMessage.raml | 9 - .../CartDiscountStoreAddedMessage.raml | 13 - .../CartDiscountStoreRemovedMessage.raml | 13 - .../message/CartDiscountStoresSetMessage.raml | 13 - .../types/message/CategoryCreatedMessage.raml | 2 +- .../types/message/CustomerCreatedMessage.raml | 2 +- .../CustomerEmailTokenCreatedMessage.raml | 2 +- .../message/CustomerEmailVerifiedMessage.raml | 2 +- .../CustomerPasswordTokenCreatedMessage.raml | 2 +- .../CustomerPasswordUpdatedMessage.raml | 4 +- .../message/InventoryEntryCreatedMessage.raml | 2 +- .../InventoryEntryQuantitySetMessage.raml | 2 +- .../types/message/OrderCreatedMessage.raml | 2 +- .../types/message/PaymentCreatedMessage.raml | 2 +- .../types/message/ProductCreatedMessage.raml | 2 +- .../ProductSelectionCreatedMessage.raml | 2 +- .../types/message/QuoteCreatedMessage.raml | 2 +- .../message/QuoteRequestCreatedMessage.raml | 2 +- .../types/message/ReviewCreatedMessage.raml | 2 +- .../message/StagedQuoteCreatedMessage.raml | 2 +- .../StandalonePriceCreatedMessage.raml | 2 +- .../types/message/StoreCreatedMessage.raml | 2 +- .../types/message/StoreDeletedMessage.raml | 2 +- .../ApprovalFlowApprovedMessagePayload.raml | 1 + .../ApprovalFlowCompletedMessagePayload.raml | 1 + .../ApprovalFlowCreatedMessagePayload.raml | 1 + .../ApprovalFlowRejectedMessagePayload.raml | 1 + ...pprovalRuleApproversSetMessagePayload.raml | 1 + .../ApprovalRuleCreatedMessagePayload.raml | 1 + ...rovalRuleDescriptionSetMessagePayload.raml | 1 + .../ApprovalRuleKeySetMessagePayload.raml | 1 + .../ApprovalRuleNameSetMessagePayload.raml | 1 + ...pprovalRulePredicateSetMessagePayload.raml | 1 + ...provalRuleRequestersSetMessagePayload.raml | 1 + .../ApprovalRuleStatusSetMessagePayload.raml | 1 + .../AssociateRoleCreatedMessagePayload.raml | 2 +- .../BusinessUnitCreatedMessagePayload.raml | 3 +- .../CartDiscountCreatedMessagePayload.raml | 13 - .../CartDiscountDeletedMessagePayload.raml | 9 - .../CartDiscountStoreAddedMessagePayload.raml | 13 - ...artDiscountStoreRemovedMessagePayload.raml | 13 - .../CartDiscountStoresSetMessagePayload.raml | 13 - .../CategoryCreatedMessagePayload.raml | 2 +- .../CustomerCreatedMessagePayload.raml | 2 +- ...stomerEmailTokenCreatedMessagePayload.raml | 2 +- .../CustomerEmailVerifiedMessagePayload.raml | 2 +- ...merPasswordTokenCreatedMessagePayload.raml | 2 +- ...CustomerPasswordUpdatedMessagePayload.raml | 4 +- .../InventoryEntryCreatedMessagePayload.raml | 2 +- ...ventoryEntryQuantitySetMessagePayload.raml | 2 +- .../payload/OrderCreatedMessagePayload.raml | 2 +- .../payload/PaymentCreatedMessagePayload.raml | 2 +- .../payload/ProductCreatedMessagePayload.raml | 2 +- ...ProductSelectionCreatedMessagePayload.raml | 2 +- .../payload/QuoteCreatedMessagePayload.raml | 2 +- .../QuoteRequestCreatedMessagePayload.raml | 2 +- .../payload/ReviewCreatedMessagePayload.raml | 2 +- .../StagedQuoteCreatedMessagePayload.raml | 2 +- .../StandalonePriceCreatedMessagePayload.raml | 2 +- .../payload/StoreCreatedMessagePayload.raml | 2 +- .../payload/StoreDeletedMessagePayload.raml | 2 +- api-specs/api/types/order/Order.raml | 1 + api-specs/api/types/order/ShipmentState.raml | 2 +- .../ProductPagedSearchResponse.raml | 26 + .../ProductSearchAndExpression.raml | 7 + .../product-search/ProductSearchAnyValue.raml | 11 + .../ProductSearchAttributeType.raml | 27 + .../ProductSearchCompoundExpression.raml | 4 + .../ProductSearchDateRangeExpression.raml | 7 + .../ProductSearchDateRangeValue.raml | 13 + .../ProductSearchDateTimeRangeExpression.raml | 7 + .../ProductSearchDateTimeRangeValue.raml | 13 + .../ProductSearchErrorResponse.raml | 15 + .../ProductSearchExactExpression.raml | 7 + .../ProductSearchExistsExpression.raml | 7 + .../ProductSearchExistsValue.raml | 7 + .../ProductSearchFilterExpression.raml | 7 + .../ProductSearchFullTextExpression.raml | 7 + .../ProductSearchFullTextValue.raml | 11 + .../product-search/ProductSearchHit.raml | 15 + .../ProductSearchLongRangeExpression.raml | 7 + .../ProductSearchLongRangeValue.raml | 17 + .../ProductSearchMatchType.raml | 7 + .../ProductSearchMatchingVariant.raml | 12 + .../ProductSearchNotExpression.raml | 7 + .../ProductSearchNumberRangeExpression.raml | 7 + .../ProductSearchNumberRangeValue.raml | 17 + .../ProductSearchOrExpression.raml | 7 + .../ProductSearchPrefixExpression.raml | 7 + .../ProductSearchProjectionParams.raml | 42 ++ .../product-search/ProductSearchQuery.raml | 4 + .../ProductSearchQueryExpression.raml | 4 + .../ProductSearchQueryExpressionValue.raml | 12 + .../product-search/ProductSearchRequest.raml | 36 ++ .../product-search/ProductSearchSortMode.raml | 9 + .../ProductSearchSortOrder.raml | 10 + .../product-search/ProductSearchSorting.raml | 20 + ...tSearchSuggestionCompletionExpression.raml | 7 + ...chSuggestionCompletionExpressionValue.raml | 11 + .../ProductSearchSuggestionExpression.raml | 4 + ...roductSearchSuggestionExpressionValue.raml | 4 + .../ProductSearchTimeRangeExpression.raml | 7 + .../ProductSearchTimeRangeValue.raml | 13 + .../ProductSearchWildCardExpression.raml | 7 + .../ProductSearchFacetBucketResult.raml | 8 + .../ProductSearchFacetCountExpression.raml | 8 + .../facets/ProductSearchFacetCountValue.raml | 18 + ...roductSearchFacetDistinctBucketSortBy.raml | 10 + ...archFacetDistinctBucketSortExpression.raml | 11 + .../ProductSearchFacetDistinctExpression.raml | 8 + .../ProductSearchFacetDistinctStartsWith.raml | 11 + .../ProductSearchFacetDistinctValue.raml | 43 ++ .../facets/ProductSearchFacetEnumCount.raml | 10 + .../facets/ProductSearchFacetEnumScope.raml | 10 + .../facets/ProductSearchFacetExpression.raml | 4 + .../ProductSearchFacetRangesExpression.raml | 8 + .../ProductSearchFacetRangesFacetRange.raml | 15 + .../facets/ProductSearchFacetRangesValue.raml | 30 + .../facets/ProductSearchFacetResult.raml | 8 + .../ProductSearchFacetResultBucket.raml | 12 + .../facets/ProductSearchFacetResultCount.raml | 9 + .../ProductSearchFacetResultExpression.raml | 8 + .../facets/ProductSearchFacetScope.raml | 7 + .../product-type/AttributeDefinition.raml | 2 +- .../AttributeReferenceTypeId.raml | 9 - .../updates/ProductUnpublishAction.raml | 2 +- .../api/types/project/OrderSearchStatus.raml | 2 +- .../types/project/ProductSearchStatus.raml | 12 + .../project/SearchIndexingConfiguration.raml | 4 + ...rojectChangeProductSearchStatusAction.raml | 12 + api-specs/api/types/tax-category/TaxRate.raml | 4 +- .../api/types/tax-category/TaxRateDraft.raml | 2 +- .../types/type/CustomFieldReferenceValue.raml | 3 - api-specs/api/types/type/ResourceTypeId.raml | 3 - api-specs/api/types/types.raml | 78 ++- api-specs/checkout/api.raml | 51 +- .../payments/cancelPaymentAction.json | 3 - .../examples/payments/capturePayment.json | 11 - .../payments/capturePaymentAction.json | 7 - .../payments/capturePaymentResponse.json | 1 - .../payments/refundPaymentAction.json | 7 - api-specs/checkout/types/annotations.raml | 2 - api-specs/checkout/types/common.raml | 63 --- .../types/payments/cancelPaymentAction.raml | 15 - .../types/payments/capturePaymentAction.raml | 17 - .../types/payments/error/ErrorObject.raml | 16 - .../types/payments/error/GeneralError.raml | 15 - .../error/MultipleActionsNotAllowedError.raml | 15 - .../payments/error/RequiredFieldError.raml | 19 - .../payments/error/ResourceNotFoundError.raml | 15 - .../checkout/types/payments/payment.raml | 12 - .../types/payments/paymentActionAmount.raml | 8 - .../types/payments/refundPaymentAction.raml | 17 - api-specs/checkout/types/types.raml | 12 - api-specs/connect/types/common.raml | 2 +- .../ConnectorStagedNotPreviewableError.raml | 2 +- ...tUnknownApplicationConfigurationError.raml | 2 +- ...knownApplicationConfigurationKeyError.raml | 2 +- .../DeploymentUnsupportedRegionError.raml | 2 +- api-specs/frontend-api/api.raml | 8 +- .../build-upload-metadata-payload.json | 11 - .../examples/build-upload-success.json | 4 - .../frontend-api/resources/BuildUpload.raml | 13 - api-specs/frontend-api/ruleset.xml | 70 +-- .../frontend-api/types/BuildMetadata.raml | 38 -- api-specs/frontend-api/types/BuildUpload.raml | 20 - .../frontend-api/types/BuildUploadResult.raml | 14 - api-specs/generate-a-postman-collection.md | 1 + api-specs/graphql/schema.sdl | 350 ++++++++---- .../types/change/AddAddressChange.raml | 3 + .../types/change/AddChannelRolesChange.raml | 4 +- .../change/AddLocalizedEnumValueChange.raml | 2 +- .../types/change/AddLocationChange.raml | 3 + .../types/change/AddPlainEnumValueChange.raml | 2 +- .../types/change/AddStateRolesChange.raml | 4 +- .../types/change/ChangeDescriptionChange.raml | 4 +- .../ChangeLocalizedDescriptionChange.raml | 4 +- .../change/ChangeLocalizedNameChange.raml | 4 + .../types/change/ChangeNameChange.raml | 8 + .../types/change/ChangeStateTypeChange.raml | 4 +- .../change/RemoveChannelRolesChange.raml | 4 +- .../types/change/RemoveLocationChange.raml | 3 + .../types/change/RemoveStateRolesChange.raml | 4 +- .../types/change/RemoveTaxRateChange.raml | 3 + .../types/change/SetChannelRolesChange.raml | 4 +- .../types/change/SetDescriptionChange.raml | 8 + .../change/SetLocalizedDescriptionChange.raml | 2 + .../types/change/SetStateRolesChange.raml | 4 +- .../common/AttributeLocalizedEnumValue.raml | 15 - .../types/common/AttributePlainEnumValue.raml | 15 - ...{ChannelRoleEnum.raml => ChannelRole.raml} | 5 +- .../{StateRoleEnum.raml => StateRole.raml} | 4 +- .../{StateTypeEnum.raml => StateType.raml} | 7 +- api-specs/history/types/types.raml | 8 +- api-specs/importapi/api.raml | 3 +- .../importapi/examples/import-summary.json | 12 - api-specs/importapi/types/order-import.raml | 2 +- api-specs/ml/api.raml | 34 ++ .../ml/examples/category-recommendations.json | 34 ++ .../ml/examples/general-recommendations.json | 19 + api-specs/ml/examples/image-search.json | 62 +++ .../ml/examples/missing-data-response.json | 45 ++ api-specs/ml/examples/missing-data-token.json | 4 + .../ml/examples/missing-images-response.json | 30 + .../ml/examples/missing-prices-response.json | 35 ++ .../examples/similar-products-response.json | 45 ++ .../ml/examples/similar-products-token.json | 4 + .../resources/category-recommendations.raml | 36 ++ .../ml/resources/general-recommendations.raml | 39 ++ api-specs/ml/resources/image-search.raml | 46 ++ api-specs/ml/resources/missing-data.raml | 105 ++++ api-specs/ml/resources/similar-products.raml | 26 + api-specs/ml/ruleset.xml | 66 +++ api-specs/ml/securitySchemes/oauth2.raml | 49 ++ .../ml/securitySchemes/oauth2_anonymous.raml | 46 ++ .../ml/securitySchemes/oauth2_password.raml | 46 ++ .../ml/securitySchemes/oauth2_refresh.raml | 46 ++ api-specs/ml/types/annotations.raml | 55 ++ .../ml/types/category-recommendations.raml | 61 +++ api-specs/ml/types/common.raml | 112 ++++ .../ml/types/general-recommendations.raml | 33 ++ api-specs/ml/types/image-search-config.raml | 39 ++ api-specs/ml/types/image-search.raml | 55 ++ api-specs/ml/types/missing-data.raml | 512 ++++++++++++++++++ api-specs/ml/types/similar-products.raml | 201 +++++++ api-specs/readme.md | 2 +- 328 files changed, 3342 insertions(+), 966 deletions(-) delete mode 100644 api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomFieldAction.json delete mode 100644 api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomTypeAction.json create mode 100644 api-specs/api/examples/ProductSearch/product-search-request.example.json create mode 100644 api-specs/api/examples/ProductSearch/product-search.example.json create mode 100644 api-specs/api/examples/Project/ProjectChangeProductSearchStatusAction.json delete mode 100644 api-specs/api/types/approval-flow/ApprovalFlowSetCustomFieldAction.raml delete mode 100644 api-specs/api/types/approval-flow/ApprovalFlowSetCustomTypeAction.raml create mode 100644 api-specs/api/types/error/NotEnabledError.raml create mode 100644 api-specs/api/types/error/graphql/GraphQLNotEnabledError.raml delete mode 100644 api-specs/api/types/message/CartDiscountCreatedMessage.raml delete mode 100644 api-specs/api/types/message/CartDiscountDeletedMessage.raml delete mode 100644 api-specs/api/types/message/CartDiscountStoreAddedMessage.raml delete mode 100644 api-specs/api/types/message/CartDiscountStoreRemovedMessage.raml delete mode 100644 api-specs/api/types/message/CartDiscountStoresSetMessage.raml delete mode 100644 api-specs/api/types/message/payload/CartDiscountCreatedMessagePayload.raml delete mode 100644 api-specs/api/types/message/payload/CartDiscountDeletedMessagePayload.raml delete mode 100644 api-specs/api/types/message/payload/CartDiscountStoreAddedMessagePayload.raml delete mode 100644 api-specs/api/types/message/payload/CartDiscountStoreRemovedMessagePayload.raml delete mode 100644 api-specs/api/types/message/payload/CartDiscountStoresSetMessagePayload.raml create mode 100644 api-specs/api/types/product-search/ProductPagedSearchResponse.raml create mode 100644 api-specs/api/types/product-search/ProductSearchAndExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchAnyValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchAttributeType.raml create mode 100644 api-specs/api/types/product-search/ProductSearchCompoundExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchDateRangeExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchDateRangeValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchDateTimeRangeExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchDateTimeRangeValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchErrorResponse.raml create mode 100644 api-specs/api/types/product-search/ProductSearchExactExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchExistsExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchExistsValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchFilterExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchFullTextExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchFullTextValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchHit.raml create mode 100644 api-specs/api/types/product-search/ProductSearchLongRangeExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchLongRangeValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchMatchType.raml create mode 100644 api-specs/api/types/product-search/ProductSearchMatchingVariant.raml create mode 100644 api-specs/api/types/product-search/ProductSearchNotExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchNumberRangeExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchNumberRangeValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchOrExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchPrefixExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchProjectionParams.raml create mode 100644 api-specs/api/types/product-search/ProductSearchQuery.raml create mode 100644 api-specs/api/types/product-search/ProductSearchQueryExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchQueryExpressionValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchRequest.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSortMode.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSortOrder.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSorting.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpressionValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSuggestionExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchSuggestionExpressionValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchTimeRangeExpression.raml create mode 100644 api-specs/api/types/product-search/ProductSearchTimeRangeValue.raml create mode 100644 api-specs/api/types/product-search/ProductSearchWildCardExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetBucketResult.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetDistinctStartsWith.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetEnumCount.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetEnumScope.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetResultExpression.raml create mode 100644 api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml create mode 100644 api-specs/api/types/project/ProductSearchStatus.raml create mode 100644 api-specs/api/types/project/updates/ProjectChangeProductSearchStatusAction.raml delete mode 100644 api-specs/checkout/examples/payments/cancelPaymentAction.json delete mode 100644 api-specs/checkout/examples/payments/capturePayment.json delete mode 100644 api-specs/checkout/examples/payments/capturePaymentAction.json delete mode 100644 api-specs/checkout/examples/payments/capturePaymentResponse.json delete mode 100644 api-specs/checkout/examples/payments/refundPaymentAction.json delete mode 100644 api-specs/checkout/types/common.raml delete mode 100644 api-specs/checkout/types/payments/cancelPaymentAction.raml delete mode 100644 api-specs/checkout/types/payments/capturePaymentAction.raml delete mode 100644 api-specs/checkout/types/payments/error/ErrorObject.raml delete mode 100644 api-specs/checkout/types/payments/error/GeneralError.raml delete mode 100644 api-specs/checkout/types/payments/error/MultipleActionsNotAllowedError.raml delete mode 100644 api-specs/checkout/types/payments/error/RequiredFieldError.raml delete mode 100644 api-specs/checkout/types/payments/error/ResourceNotFoundError.raml delete mode 100644 api-specs/checkout/types/payments/payment.raml delete mode 100644 api-specs/checkout/types/payments/paymentActionAmount.raml delete mode 100644 api-specs/checkout/types/payments/refundPaymentAction.raml delete mode 100644 api-specs/frontend-api/examples/build-upload-metadata-payload.json delete mode 100644 api-specs/frontend-api/examples/build-upload-success.json delete mode 100644 api-specs/frontend-api/resources/BuildUpload.raml delete mode 100644 api-specs/frontend-api/types/BuildMetadata.raml delete mode 100644 api-specs/frontend-api/types/BuildUpload.raml delete mode 100644 api-specs/frontend-api/types/BuildUploadResult.raml delete mode 100644 api-specs/history/types/common/AttributeLocalizedEnumValue.raml delete mode 100644 api-specs/history/types/common/AttributePlainEnumValue.raml rename api-specs/history/types/common/{ChannelRoleEnum.raml => ChannelRole.raml} (52%) rename api-specs/history/types/common/{StateRoleEnum.raml => StateRole.raml} (51%) rename api-specs/history/types/common/{StateTypeEnum.raml => StateType.raml} (52%) delete mode 100644 api-specs/importapi/examples/import-summary.json create mode 100644 api-specs/ml/api.raml create mode 100644 api-specs/ml/examples/category-recommendations.json create mode 100644 api-specs/ml/examples/general-recommendations.json create mode 100644 api-specs/ml/examples/image-search.json create mode 100644 api-specs/ml/examples/missing-data-response.json create mode 100644 api-specs/ml/examples/missing-data-token.json create mode 100644 api-specs/ml/examples/missing-images-response.json create mode 100644 api-specs/ml/examples/missing-prices-response.json create mode 100644 api-specs/ml/examples/similar-products-response.json create mode 100644 api-specs/ml/examples/similar-products-token.json create mode 100644 api-specs/ml/resources/category-recommendations.raml create mode 100644 api-specs/ml/resources/general-recommendations.raml create mode 100644 api-specs/ml/resources/image-search.raml create mode 100644 api-specs/ml/resources/missing-data.raml create mode 100644 api-specs/ml/resources/similar-products.raml create mode 100644 api-specs/ml/ruleset.xml create mode 100644 api-specs/ml/securitySchemes/oauth2.raml create mode 100644 api-specs/ml/securitySchemes/oauth2_anonymous.raml create mode 100644 api-specs/ml/securitySchemes/oauth2_password.raml create mode 100644 api-specs/ml/securitySchemes/oauth2_refresh.raml create mode 100644 api-specs/ml/types/annotations.raml create mode 100644 api-specs/ml/types/category-recommendations.raml create mode 100644 api-specs/ml/types/common.raml create mode 100644 api-specs/ml/types/general-recommendations.raml create mode 100644 api-specs/ml/types/image-search-config.raml create mode 100644 api-specs/ml/types/image-search.raml create mode 100644 api-specs/ml/types/missing-data.raml create mode 100644 api-specs/ml/types/similar-products.raml diff --git a/api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomFieldAction.json b/api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomFieldAction.json deleted file mode 100644 index 600781b63..000000000 --- a/api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomFieldAction.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "action": "setCustomField", - "name": "ExampleStringTypeField", - "value": "TextString" -} diff --git a/api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomTypeAction.json b/api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomTypeAction.json deleted file mode 100644 index f91f59d9e..000000000 --- a/api-specs/api/examples/ApprovalFlow/ApprovalFlowSetCustomTypeAction.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "action": "setCustomType", - "type": { - "id": "{{type-id}}", - "typeId": "type" - }, - "fields": { - "exampleStringTypeField": "TextString" - } -} diff --git a/api-specs/api/examples/DiscountCode/DiscountCodeSetValidUntilAction.json b/api-specs/api/examples/DiscountCode/DiscountCodeSetValidUntilAction.json index c7f1188ae..3c33bc8f1 100644 --- a/api-specs/api/examples/DiscountCode/DiscountCodeSetValidUntilAction.json +++ b/api-specs/api/examples/DiscountCode/DiscountCodeSetValidUntilAction.json @@ -1,4 +1,4 @@ { "action": "setValidUntil", - "validUntil": "2018-10-12T14:00:00.000Z" + "validFrom": "2018-10-12T14:00:00.000Z" } diff --git a/api-specs/api/examples/ProductSearch/product-search-request.example.json b/api-specs/api/examples/ProductSearch/product-search-request.example.json new file mode 100644 index 000000000..c4a7301ec --- /dev/null +++ b/api-specs/api/examples/ProductSearch/product-search-request.example.json @@ -0,0 +1,33 @@ +{ + "query": { + "and": [ + { + "fullText": { + "field": "customLineItems.name", + "language": "en", + "value": "banana" + } + }, + { + "filter": [ + { + "exact": { + "field": "store.name", + "language": "en", + "value": "fruit_store" + } + } + ] + } + ] + }, + "sort": [ + { + "field": "customLineItems.name", + "language": "en", + "order": "desc" + } + ], + "limit": 50, + "offset": 0 +} diff --git a/api-specs/api/examples/ProductSearch/product-search.example.json b/api-specs/api/examples/ProductSearch/product-search.example.json new file mode 100644 index 000000000..226d07faf --- /dev/null +++ b/api-specs/api/examples/ProductSearch/product-search.example.json @@ -0,0 +1,38 @@ +{ + "total": 148, + "offset": 0, + "limit": 10, + "facets": { + "results": [ + { + "name": "countProducts", + "buckets": [ + { + "key": "white", + "count": 37 + } + ] + }, + { + "name": "countVariants", + "buckets": [ + { + "key": "white", + "count": 301 + } + ] + } + ] + }, + "hits": [ + { + "id": "8fde2af0-6a2f-4603-9aa4-83566f769a7f", + "matchingVariants": [ + { + "id": 1, + "sku": null + } + ] + } + ] +} diff --git a/api-specs/api/examples/Project/ProjectChangeProductSearchStatusAction.json b/api-specs/api/examples/Project/ProjectChangeProductSearchStatusAction.json new file mode 100644 index 000000000..07d35eb7a --- /dev/null +++ b/api-specs/api/examples/Project/ProjectChangeProductSearchStatusAction.json @@ -0,0 +1,4 @@ +{ + "action": "changeProductSearchStatus", + "status": "Activated" +} diff --git a/api-specs/api/examples/approval-flow-update-response.example.json b/api-specs/api/examples/approval-flow-update-response.example.json index 5f1121dab..02755255b 100644 --- a/api-specs/api/examples/approval-flow-update-response.example.json +++ b/api-specs/api/examples/approval-flow-update-response.example.json @@ -23,6 +23,7 @@ { "id": "ff806a85-1457-4cef-929a-79aefe85f02d", "version": 1, + "lastMessageSequenceNumber": 1, "createdAt": "2023-06-12T14:43:45.732Z", "lastModifiedAt": "2023-06-12T14:43:45.732Z", "lastModifiedBy": { @@ -95,4 +96,4 @@ "eligibleApprovers": [], "pendingApprovers": [], "currentTierPendingApprovers": [] -} +} \ No newline at end of file diff --git a/api-specs/api/examples/approval-flow.example.json b/api-specs/api/examples/approval-flow.example.json index 33ae37d59..74d8fa0d7 100644 --- a/api-specs/api/examples/approval-flow.example.json +++ b/api-specs/api/examples/approval-flow.example.json @@ -23,6 +23,7 @@ { "id": "ff806a85-1457-4cef-929a-79aefe85f02d", "version": 1, + "lastMessageSequenceNumber": 1, "createdAt": "2023-06-12T14:43:45.732Z", "lastModifiedAt": "2023-06-12T14:43:45.732Z", "lastModifiedBy": { @@ -157,4 +158,4 @@ } } ] -} +} \ No newline at end of file diff --git a/api-specs/api/examples/approval-flows.example.json b/api-specs/api/examples/approval-flows.example.json index 58aa7277a..6238e4691 100644 --- a/api-specs/api/examples/approval-flows.example.json +++ b/api-specs/api/examples/approval-flows.example.json @@ -29,6 +29,7 @@ { "id": "ff806a85-1457-4cef-929a-79aefe85f02d", "version": 1, + "lastMessageSequenceNumber": 1, "createdAt": "2023-06-12T14:43:45.732Z", "lastModifiedAt": "2023-06-12T14:43:45.732Z", "lastModifiedBy": { @@ -165,4 +166,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/api-specs/api/examples/custom-objects.example.json b/api-specs/api/examples/custom-objects.example.json index 594afcc2d..3acee31b3 100644 --- a/api-specs/api/examples/custom-objects.example.json +++ b/api-specs/api/examples/custom-objects.example.json @@ -7,14 +7,9 @@ { "id": "f584ebbb-3805-43f3-80c8-76f98b2c18b5", "version": 5, - "container": "test-container", + "container": "channel", "key": "ac390383-370f-43f8-a534-db1604cb96a8", - "value": { - "name": "commercetools Composable Commerce", - "slug": "commercetools-composable-commerce", - "lat": 52.523753, - "lng": 13.380434 - }, + "value": "{\"name\":\"commercetools Composable Commerce\",\"slug\":\"commercetools-composable-commerce\",\"lat\":52.523753,\"lng\":13.380434}", "createdAt": "2015-05-28T09:48:35.098Z", "lastModifiedAt": "2015-07-01T15:58:36.930Z" }, diff --git a/api-specs/api/resources/cart-discounts.raml b/api-specs/api/resources/cart-discounts.raml index 736a52e46..8946e6ed7 100644 --- a/api-specs/api/resources/cart-discounts.raml +++ b/api-specs/api/resources/cart-discounts.raml @@ -50,7 +50,6 @@ post: ], }, ] - description: Creating a Cart Discount produces the [CartDiscountCreated](ctp:api:type:CartDiscountCreatedMessage) Message. body: application/json: example: !include ../examples/cart-discount-create.example.json @@ -122,7 +121,6 @@ post: ], }, ] - description: Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. responses: 200: body: @@ -191,7 +189,6 @@ post: ], }, ] - description: Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. responses: 200: body: diff --git a/api-specs/api/resources/in-store.raml b/api-specs/api/resources/in-store.raml index 631877e4b..78ce84e99 100644 --- a/api-specs/api/resources/in-store.raml +++ b/api-specs/api/resources/in-store.raml @@ -2131,12 +2131,10 @@ uriParameters: ] description: | Gets the current or staged representation of a [Product](ctp:api:type:Product) by its key from the specified [Store](ctp:api:type:Store). - If the Store has defined some languages, countries, distribution, supply Channels, and/or Product Selection, + If the Store has defined some languages, countries, distribution or supply Channels, they are used for projections based on [locale](ctp:api:type:ProductProjectionLocales), [price](ctp:api:type:ProductProjectionPrices) and [inventory](ctp:api:type:ProductProjectionInventoryEntries). - If [ProductSelection](ctp:api:type:ProductSelection) is used, it affects the [availability of the Product](/projects/stores#products-available-in-store) in the specified Store. - When used with an API Client that has the `view_published_products:{projectKey}` scope, this endpoint only returns published (current) Product Projections. is: - projectionSelecting @@ -2176,12 +2174,10 @@ uriParameters: ] description: | Gets the current or staged representation of a [Product](ctp:api:type:Product) by its ID from the specified [Store](ctp:api:type:Store). - If the Store has defined some languages, countries, distribution, supply Channels, and/or Product Selection, + If the Store has defined some languages, countries, distribution or supply Channels, they are used for projections based on [locale](ctp:api:type:ProductProjectionLocales), [price](ctp:api:type:ProductProjectionPrices) and [inventory](ctp:api:type:ProductProjectionInventoryEntries). - If [ProductSelection](ctp:api:type:ProductSelection) is used, it affects the [availability of the Product](/projects/stores#products-available-in-store) in the specified Store. - When used with an API Client that has the `view_published_products:{projectKey}` scope, this endpoint only returns published (current) Product Projections. is: - projectionSelecting @@ -2291,8 +2287,6 @@ uriParameters: post: description: | When using the endpoint, the Store specified in the path and the Stores specified in the payload's `stores` field are added to the CartDiscount. - - Creating a Cart Discount produces the [CartDiscountCreated](ctp:api:type:CartDiscountCreatedMessage) Message. securedBy: [ oauth_2_0: @@ -2384,8 +2378,6 @@ uriParameters: delete: description: | To delete a CartDiscount, specify the `manage_cart_discounts:{projectKey}:{storeKey}` scope for all Stores associated with the CartDiscount. - - Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. securedBy: [ oauth_2_0: @@ -2476,8 +2468,6 @@ uriParameters: delete: description: | To delete a CartDiscount, specify the `manage_cart_discounts:{projectKey}:{storeKey}` scope for all Stores associated with the CartDiscount. - - Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. securedBy: [ oauth_2_0: diff --git a/api-specs/api/resources/login.raml b/api-specs/api/resources/login.raml index 1e47c85c5..d9451c959 100644 --- a/api-specs/api/resources/login.raml +++ b/api-specs/api/resources/login.raml @@ -6,7 +6,7 @@ post: description: | Authenticates a global Customer not associated with a Store. For more information, see [Global versus Store-specific Customers](/../api/customers-overview#global-versus-store-specific-customers). - If the Customer is registered in a Store, use the [Authenticate (sign in) Customer in Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/login:POST) method. + If the Customer is registered in a Store, use the [Authenticate (sign in) Customer in Store](/../api/projects/customers#authenticate-sign-in-customer-in-store) method. If an account with the given credentials is not found, an [InvalidCredentials](ctp:api:type:InvalidCredentialsError) error is returned. securedBy: [oauth_2_0: { scopes: ['manage_customers:{projectKey}'] }] diff --git a/api-specs/api/resources/product-selections.raml b/api-specs/api/resources/product-selections.raml index 61d6f7569..59d93a9ca 100644 --- a/api-specs/api/resources/product-selections.raml +++ b/api-specs/api/resources/product-selections.raml @@ -70,7 +70,7 @@ post: delete: securedBy: [oauth_2_0: { scopes: ['manage_product_selections:{projectKey}'] }] - description: Deletion will only succeed if the Product Selection is not assigned to any [Store](ctp:api:type:Store). + description: Deletion will only succeed if the Product Selection is not assigned to any [Store](/../api/projects/stores#store). responses: 200: body: @@ -123,7 +123,7 @@ post: delete: securedBy: [oauth_2_0: { scopes: ['manage_product_selections:{projectKey}'] }] - description: Deletion will only succeed if the Product Selection is not assigned to any [Store](ctp:api:type:Store). + description: Deletion will only succeed if the Product Selection is not assigned to any [Store](/../api/projects/stores#store). responses: 200: body: diff --git a/api-specs/api/resources/products.raml b/api-specs/api/resources/products.raml index 07cfe64a5..46dec981b 100644 --- a/api-specs/api/resources/products.raml +++ b/api-specs/api/resources/products.raml @@ -11,7 +11,17 @@ type: description: | Products themselves are not sellable. Instead, they act as a parent structure for sellable Product Variants. get: - securedBy: [oauth_2_0: { scopes: ['view_products:{projectKey}'] }] + securedBy: + [ + oauth_2_0: + { + scopes: + [ + 'view_products:{projectKey}', + 'view_published_products:{projectKey}', + ], + }, + ] is: - priceSelecting description: |- @@ -212,3 +222,28 @@ post: body: application/json: example: !include ../examples/product-assigned-selections.example.json +/search: + type: base + displayName: Product Search + description: | + This endpoint provides high-performance search queries over Products. Product Search allows searching through all products with a current projection in your Project. + post: + displayName: Search Products + securedBy: [oauth_2_0: { scopes: ['view_published_products:{projectKey}'] }] + body: + application/json: + type: ProductSearchRequest + responses: + 200: + body: + application/json: + example: !include ../examples/ProductSearch/product-search.example.json + type: ProductPagedSearchResponse + head: + securedBy: [oauth_2_0: { scopes: ['project_settings:{projectKey}'] }] + description: Checks whether a search index for the Project's Products exists. + responses: + 200: + description: The index exists and the Search Products endpoint can be used. + 404: + description: The index does not exist and the Search Products endpoint returns Error 404 only. diff --git a/api-specs/api/resources/shipping-methods.raml b/api-specs/api/resources/shipping-methods.raml index 7a5f144eb..d8c9054c1 100644 --- a/api-specs/api/resources/shipping-methods.raml +++ b/api-specs/api/resources/shipping-methods.raml @@ -199,7 +199,7 @@ post: get: displayName: Get ShippingMethods for a cart and location description: | - Retrieves all the ShippingMethods that can ship to the given [Location](ctp:api:type:Location) + Retrieves all the ShippingMethods that can ship to the given [Location](/projects/zones#location) with a `predicate` that matches the given Cart. Each ShippingMethod contains exactly one ShippingRate with the flag `isMatching` set to `true`. This ShippingRate is used when the ShippingMethod is [added to the Cart](ctp:api:type:CartSetShippingMethodAction). @@ -269,7 +269,7 @@ post: get: displayName: Get ShippingMethods for an order edit description: | - Retrieves all the ShippingMethods that can ship to the given [Location](ctp:api:type:Location) for an [OrderEdit](ctp:api:type:OrderEdit). + Retrieves all the ShippingMethods that can ship to the given [Location](/../api/projects/zones#location) for an [OrderEdit](/../api/projects/order-edits). If the OrderEdit preview cannot be generated, an [EditPreviewFailed](ctp:api:type:EditPreviewFailedError) error is returned. securedBy: diff --git a/api-specs/api/ruleset.xml b/api-specs/api/ruleset.xml index 9fc26e849..ad27601ba 100644 --- a/api-specs/api/ruleset.xml +++ b/api-specs/api/ruleset.xml @@ -53,6 +53,7 @@ + diff --git a/api-specs/api/types/approval-flow/ApprovalFlow.raml b/api-specs/api/types/approval-flow/ApprovalFlow.raml index 5b52db7dd..54eae3801 100644 --- a/api-specs/api/types/approval-flow/ApprovalFlow.raml +++ b/api-specs/api/types/approval-flow/ApprovalFlow.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalFlow (docs-uri): https://docs.commercetools.com/api/projects/approvalflows#approvalflow +(beta): true type: BaseResource displayName: ApprovalFlow properties: @@ -70,7 +71,3 @@ properties: type: RuleApprover[] description: | Associate Roles required for approval based on the approver hierarchy tiers defined in `rules` only for the currently active tier(s). - custom?: - type: CustomFields - description: | - Custom Fields on the Approval Flow. diff --git a/api-specs/api/types/approval-flow/ApprovalFlowApproval.raml b/api-specs/api/types/approval-flow/ApprovalFlowApproval.raml index 571002640..ef744ed57 100644 --- a/api-specs/api/types/approval-flow/ApprovalFlowApproval.raml +++ b/api-specs/api/types/approval-flow/ApprovalFlowApproval.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalFlow (docs-uri): https://docs.commercetools.com/api/projects/approvalflows#approvalflowapproval +(beta): true displayName: ApprovalFlowApproval type: object properties: diff --git a/api-specs/api/types/approval-flow/ApprovalFlowRejection.raml b/api-specs/api/types/approval-flow/ApprovalFlowRejection.raml index f23b51321..dcb22fda5 100644 --- a/api-specs/api/types/approval-flow/ApprovalFlowRejection.raml +++ b/api-specs/api/types/approval-flow/ApprovalFlowRejection.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalFlow (docs-uri): https://docs.commercetools.com/api/projects/approvalflows#approvalflowrejection +(beta): true displayName: ApprovalFlowRejection type: object properties: diff --git a/api-specs/api/types/approval-flow/ApprovalFlowSetCustomFieldAction.raml b/api-specs/api/types/approval-flow/ApprovalFlowSetCustomFieldAction.raml deleted file mode 100644 index 9315a57db..000000000 --- a/api-specs/api/types/approval-flow/ApprovalFlowSetCustomFieldAction.raml +++ /dev/null @@ -1,18 +0,0 @@ -#%RAML 1.0 DataType -(package): ApprovalFlow -(docs-uri): https://docs.commercetools.com/api/projects/approvalflows#set-custom-field -type: ApprovalFlowUpdateAction -displayName: ApprovalFlowSetCustomFieldAction -discriminatorValue: setCustomField -example: !include ../../examples/ApprovalFlow/ApprovalFlowSetCustomFieldAction.json -properties: - name: - type: string - description: | - Name of the [Custom Field](ctp:api:type:CustomFields). - value?: - type: CustomFieldValue - description: | - If `value` is absent or `null`, this field will be removed if it exists. - Removing a field that does not exist returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. - If `value` is provided, it is set for the field defined by `name`. diff --git a/api-specs/api/types/approval-flow/ApprovalFlowSetCustomTypeAction.raml b/api-specs/api/types/approval-flow/ApprovalFlowSetCustomTypeAction.raml deleted file mode 100644 index aae675d48..000000000 --- a/api-specs/api/types/approval-flow/ApprovalFlowSetCustomTypeAction.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType -(package): ApprovalFlow -(docs-uri): https://docs.commercetools.com/api/projects/approvalflows#set-custom-type -type: ApprovalFlowUpdateAction -displayName: ApprovalFlowSetCustomTypeAction -discriminatorValue: setCustomType -example: !include ../../examples/ApprovalFlow/ApprovalFlowSetCustomTypeAction.json -properties: - type?: - type: TypeResourceIdentifier - description: | - Defines the [Type](ctp:api:type:Type) that extends the ApprovalFlow with [Custom Fields](ctp:api:type:CustomFields). - If absent, any existing Type and Custom Fields are removed from the ApprovalFlow. - fields?: - type: FieldContainer - description: | - Sets the [Custom Fields](ctp:api:type:CustomFields) fields for the ApprovalFlow. diff --git a/api-specs/api/types/approval-flow/ApprovalFlowStatus.raml b/api-specs/api/types/approval-flow/ApprovalFlowStatus.raml index b6353fe9f..4102412b8 100644 --- a/api-specs/api/types/approval-flow/ApprovalFlowStatus.raml +++ b/api-specs/api/types/approval-flow/ApprovalFlowStatus.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalFlow (docs-uri): https://docs.commercetools.com/api/projects/approvalflows#approvalflowstatus +(beta): true displayName: ApprovalFlowStatus type: string description: | diff --git a/api-specs/api/types/approval-rule/ApprovalRule.raml b/api-specs/api/types/approval-rule/ApprovalRule.raml index a5b310619..c5bc46068 100644 --- a/api-specs/api/types/approval-rule/ApprovalRule.raml +++ b/api-specs/api/types/approval-rule/ApprovalRule.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approvalrule +(beta): true type: BaseResource displayName: ApprovalRule properties: diff --git a/api-specs/api/types/approval-rule/ApprovalRuleDraft.raml b/api-specs/api/types/approval-rule/ApprovalRuleDraft.raml index 234fdafd9..5853b23e6 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleDraft.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleDraft.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approvalruledraft +(beta): true type: object displayName: ApprovalRuleDraft properties: diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetApproversAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetApproversAction.raml index 2b949e3cb..0bae13cf9 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetApproversAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetApproversAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-approvers +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetApproversAction discriminatorValue: setApprovers diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetDescriptionAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetDescriptionAction.raml index fbd53cea5..abe3f27d2 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetDescriptionAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetDescriptionAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-description +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetDescriptionAction discriminatorValue: setDescription diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetKeyAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetKeyAction.raml index 0b347bbdd..21e949b7d 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetKeyAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetKeyAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-key +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetKeyAction discriminatorValue: setKey diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetNameAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetNameAction.raml index 10e36c359..24a48bcc6 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetNameAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetNameAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-name +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetNameAction discriminatorValue: setName diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetPredicateAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetPredicateAction.raml index bc065eac9..1bb155007 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetPredicateAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetPredicateAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-predicate +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetPredicateAction discriminatorValue: setPredicate diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetRequestersAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetRequestersAction.raml index 3a8dd0beb..090fc2d2c 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetRequestersAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetRequestersAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-requesters +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetRequestersAction discriminatorValue: setRequesters diff --git a/api-specs/api/types/approval-rule/ApprovalRuleSetStatusAction.raml b/api-specs/api/types/approval-rule/ApprovalRuleSetStatusAction.raml index 90c822458..618f54cbf 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleSetStatusAction.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleSetStatusAction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#set-status +(beta): true type: ApprovalRuleUpdateAction displayName: ApprovalRuleSetStatusAction discriminatorValue: setStatus diff --git a/api-specs/api/types/approval-rule/ApprovalRuleStatus.raml b/api-specs/api/types/approval-rule/ApprovalRuleStatus.raml index 723d8fe1f..a2f8fd3b9 100644 --- a/api-specs/api/types/approval-rule/ApprovalRuleStatus.raml +++ b/api-specs/api/types/approval-rule/ApprovalRuleStatus.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approvalrulestatus +(beta): true displayName: ApprovalRuleStatus type: string description: | diff --git a/api-specs/api/types/approval-rule/ApproverConjunction.raml b/api-specs/api/types/approval-rule/ApproverConjunction.raml index 46480d0dc..4e201df33 100644 --- a/api-specs/api/types/approval-rule/ApproverConjunction.raml +++ b/api-specs/api/types/approval-rule/ApproverConjunction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approverconjunction +(beta): true displayName: ApproverConjunction type: object properties: diff --git a/api-specs/api/types/approval-rule/ApproverConjunctionDraft.raml b/api-specs/api/types/approval-rule/ApproverConjunctionDraft.raml index f5551915a..f8bcc70e5 100644 --- a/api-specs/api/types/approval-rule/ApproverConjunctionDraft.raml +++ b/api-specs/api/types/approval-rule/ApproverConjunctionDraft.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approverconjunctiondraft +(beta): true displayName: ApproverConjunctionDraft type: object properties: diff --git a/api-specs/api/types/approval-rule/ApproverDisjunction.raml b/api-specs/api/types/approval-rule/ApproverDisjunction.raml index 1baf05d2a..9914e3ac6 100644 --- a/api-specs/api/types/approval-rule/ApproverDisjunction.raml +++ b/api-specs/api/types/approval-rule/ApproverDisjunction.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approverdisjunction +(beta): true displayName: ApproverDisjunction type: object properties: diff --git a/api-specs/api/types/approval-rule/ApproverDisjunctionDraft.raml b/api-specs/api/types/approval-rule/ApproverDisjunctionDraft.raml index 97be0582e..ede08d0e4 100644 --- a/api-specs/api/types/approval-rule/ApproverDisjunctionDraft.raml +++ b/api-specs/api/types/approval-rule/ApproverDisjunctionDraft.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approverdisjunctiondraft +(beta): true displayName: ApproverDisjunctionDraft type: object properties: diff --git a/api-specs/api/types/approval-rule/ApproverHierarchy.raml b/api-specs/api/types/approval-rule/ApproverHierarchy.raml index d030efe67..cad2380c2 100644 --- a/api-specs/api/types/approval-rule/ApproverHierarchy.raml +++ b/api-specs/api/types/approval-rule/ApproverHierarchy.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approverhierarchy +(beta): true displayName: ApproverHierarchy type: object description: | diff --git a/api-specs/api/types/approval-rule/ApproverHierarchyDraft.raml b/api-specs/api/types/approval-rule/ApproverHierarchyDraft.raml index a516763d1..74724b67c 100644 --- a/api-specs/api/types/approval-rule/ApproverHierarchyDraft.raml +++ b/api-specs/api/types/approval-rule/ApproverHierarchyDraft.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#approverhierarchydraft +(beta): true displayName: ApproverHierarchyDraft type: object description: | diff --git a/api-specs/api/types/approval-rule/RuleApprover.raml b/api-specs/api/types/approval-rule/RuleApprover.raml index 5cba1dfef..aba92fc07 100644 --- a/api-specs/api/types/approval-rule/RuleApprover.raml +++ b/api-specs/api/types/approval-rule/RuleApprover.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#ruleapprover +(beta): true displayName: RuleApprover type: object properties: diff --git a/api-specs/api/types/approval-rule/RuleApproverDraft.raml b/api-specs/api/types/approval-rule/RuleApproverDraft.raml index bd278bb02..17c660f60 100644 --- a/api-specs/api/types/approval-rule/RuleApproverDraft.raml +++ b/api-specs/api/types/approval-rule/RuleApproverDraft.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#ruleapproverdraft +(beta): true displayName: RuleApproverDraft type: object properties: diff --git a/api-specs/api/types/approval-rule/RuleRequester.raml b/api-specs/api/types/approval-rule/RuleRequester.raml index eb6dbb242..36836af31 100644 --- a/api-specs/api/types/approval-rule/RuleRequester.raml +++ b/api-specs/api/types/approval-rule/RuleRequester.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#rulerequester +(beta): true displayName: RuleRequester type: object properties: diff --git a/api-specs/api/types/approval-rule/RuleRequesterDraft.raml b/api-specs/api/types/approval-rule/RuleRequesterDraft.raml index 28d37e60f..995e61452 100644 --- a/api-specs/api/types/approval-rule/RuleRequesterDraft.raml +++ b/api-specs/api/types/approval-rule/RuleRequesterDraft.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): ApprovalRule (docs-uri): https://docs.commercetools.com/api/projects/approvalrules#rulerequesterdraft +(beta): true displayName: RuleRequesterDraft type: object properties: diff --git a/api-specs/api/types/business-unit/BusinessUnit.raml b/api-specs/api/types/business-unit/BusinessUnit.raml index 9dfa216d2..ad6b63eac 100644 --- a/api-specs/api/types/business-unit/BusinessUnit.raml +++ b/api-specs/api/types/business-unit/BusinessUnit.raml @@ -106,7 +106,7 @@ properties: inheritedAssociates?: type: InheritedAssociate[] description: | - Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. + Associates that are inherited from a parent Business Unit. This value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. parentUnit?: type: BusinessUnitKeyReference description: | diff --git a/api-specs/api/types/business-unit/BusinessUnitStatus.raml b/api-specs/api/types/business-unit/BusinessUnitStatus.raml index 20c2afd21..fdc84e9b6 100644 --- a/api-specs/api/types/business-unit/BusinessUnitStatus.raml +++ b/api-specs/api/types/business-unit/BusinessUnitStatus.raml @@ -12,6 +12,6 @@ enum: Active: | The Business Unit can be used in Carts, Orders, Quote Requests, and Quotes and can be edited. Inactive: | - The Business Unit cannot be used in Carts, Orders, Quote Requests, and Quotes and can only be edited using the [general endpoint](/../api/associates-overview#through-the-general-endpoints). + The Business Unit cannot be used in Carts, Orders, Quote Requests, and Quotes and can only be edited using the [general endpoint](ctp:api:endpoint:/{projectKey}/me/business-units:POST). Status doesn't affect inheritance. Even if a parent unit is inactive, its children remain active and can inherit role assignments. default: Active diff --git a/api-specs/api/types/business-unit/updates/BusinessUnitSetCustomTypeAction.raml b/api-specs/api/types/business-unit/updates/BusinessUnitSetCustomTypeAction.raml index 4f53fcc19..05dba3f24 100644 --- a/api-specs/api/types/business-unit/updates/BusinessUnitSetCustomTypeAction.raml +++ b/api-specs/api/types/business-unit/updates/BusinessUnitSetCustomTypeAction.raml @@ -11,7 +11,7 @@ properties: type?: type: TypeResourceIdentifier description: | - Defines the [Type](ctp:api:type:Type) that extends the BusinessUnit with [Custom Fields](ctp:api:type:CustomFields). + Defines the [Type](ctp:api:type:Type) that extends the BusinessUnit with [Custom Fields](/../api/projects/custom-fields). If absent, any existing Type and Custom Fields are removed from the BusinessUnit. fields?: type: FieldContainer diff --git a/api-specs/api/types/cart-discount/CartDiscount.raml b/api-specs/api/types/cart-discount/CartDiscount.raml index e6ce0e58e..ee089271c 100644 --- a/api-specs/api/types/cart-discount/CartDiscount.raml +++ b/api-specs/api/types/cart-discount/CartDiscount.raml @@ -70,6 +70,7 @@ properties: The sort order is unambiguous among all CartDiscounts. stores: type: StoreKeyReference[] + (beta): true maxItems: 500 description: | - If a value exists, the Cart Discount applies on [Carts](ctp:api:type:Cart) having a [Store](ctp:api:type:Store) matching any Store defined for this field. diff --git a/api-specs/api/types/cart-discount/CartDiscountDraft.raml b/api-specs/api/types/cart-discount/CartDiscountDraft.raml index 783f121d6..4805483eb 100644 --- a/api-specs/api/types/cart-discount/CartDiscountDraft.raml +++ b/api-specs/api/types/cart-discount/CartDiscountDraft.raml @@ -41,6 +41,7 @@ properties: The sort order must be unambiguous among all CartDiscounts. stores?: type: StoreResourceIdentifier[] + (beta): true maxItems: 500 description: | - If defined, the Cart Discount applies on [Carts](ctp:api:type:Cart) having a [Store](ctp:api:type:Store) matching any Store defined for this field. diff --git a/api-specs/api/types/cart-discount/CartDiscountTotalPriceTarget.raml b/api-specs/api/types/cart-discount/CartDiscountTotalPriceTarget.raml index 6a383ac40..2aa08443c 100644 --- a/api-specs/api/types/cart-discount/CartDiscountTotalPriceTarget.raml +++ b/api-specs/api/types/cart-discount/CartDiscountTotalPriceTarget.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): CartDiscount +(beta): true type: CartDiscountTarget displayName: CartDiscountTotalPriceTarget discriminatorValue: totalPrice diff --git a/api-specs/api/types/cart-discount/updates/CartDiscountAddStoreAction.raml b/api-specs/api/types/cart-discount/updates/CartDiscountAddStoreAction.raml index 4d9aa2048..092ba80bf 100644 --- a/api-specs/api/types/cart-discount/updates/CartDiscountAddStoreAction.raml +++ b/api-specs/api/types/cart-discount/updates/CartDiscountAddStoreAction.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): CartDiscount +(beta): true (docs-uri): https://docs.commercetools.com/api/projects/cartDiscounts#add-store type: CartDiscountUpdateAction displayName: CartDiscountAddStoreAction @@ -7,8 +8,6 @@ discriminatorValue: addStore example: !include ../../../examples/CartDiscount/CartDiscountAddStoreAction.json description: | If a referenced Store does not exist, a [ReferencedResourceNotFound](ctp:api:type:ReferencedResourceNotFoundError) error is returned. - - This action generates a [CartDiscountStoreAdded](ctp:api:type:CartDiscountStoreAddedMessage) Message. properties: store: type: StoreResourceIdentifier diff --git a/api-specs/api/types/cart-discount/updates/CartDiscountRemoveStoreAction.raml b/api-specs/api/types/cart-discount/updates/CartDiscountRemoveStoreAction.raml index 12ac008ea..b8d0c9d0f 100644 --- a/api-specs/api/types/cart-discount/updates/CartDiscountRemoveStoreAction.raml +++ b/api-specs/api/types/cart-discount/updates/CartDiscountRemoveStoreAction.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): CartDiscount +(beta): true (docs-uri): https://docs.commercetools.com/api/projects/cartDiscounts#remove-store type: CartDiscountUpdateAction displayName: CartDiscountRemoveStoreAction @@ -7,8 +8,6 @@ discriminatorValue: removeStore example: !include ../../../examples/CartDiscount/CartDiscountRemoveStoreAction.json description: | If a referenced Store does not exist, a [ReferencedResourceNotFound](ctp:api:type:ReferencedResourceNotFoundError) error is returned. - - This action generates a [CartDiscountStoreRemoved](ctp:api:type:CartDiscountStoreRemovedMessage) Message. properties: store: type: StoreResourceIdentifier diff --git a/api-specs/api/types/cart-discount/updates/CartDiscountSetStoresAction.raml b/api-specs/api/types/cart-discount/updates/CartDiscountSetStoresAction.raml index 977b7fd56..dfc485575 100644 --- a/api-specs/api/types/cart-discount/updates/CartDiscountSetStoresAction.raml +++ b/api-specs/api/types/cart-discount/updates/CartDiscountSetStoresAction.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): CartDiscount +(beta): true (docs-uri): https://docs.commercetools.com/api/projects/cartDiscounts#set-stores type: CartDiscountUpdateAction displayName: CartDiscountSetStoresAction @@ -7,8 +8,6 @@ discriminatorValue: setStores example: !include ../../../examples/CartDiscount/CartDiscountSetStoresAction.json description: | If a referenced Store does not exist, a [ReferencedResourceNotFound](ctp:api:type:ReferencedResourceNotFoundError) error is returned. - - This action generates a [CartDiscountStoresSet](ctp:api:type:CartDiscountStoresSetMessage) Message. properties: stores?: type: StoreResourceIdentifier[] diff --git a/api-specs/api/types/cart/Cart.raml b/api-specs/api/types/cart/Cart.raml index 0d376aad4..6847bd51e 100644 --- a/api-specs/api/types/cart/Cart.raml +++ b/api-specs/api/types/cart/Cart.raml @@ -80,6 +80,7 @@ properties: Sum of the `taxedPrice` field of [ShippingInfo](ctp:api:type:ShippingInfo) across all Shipping Methods. discountOnTotalPrice?: type: DiscountOnTotalPrice + (beta): true description: |- Discounts that apply on the Cart `totalPrice`. taxMode: diff --git a/api-specs/api/types/cart/CartState.raml b/api-specs/api/types/cart/CartState.raml index 195eba994..5aafb5c33 100644 --- a/api-specs/api/types/cart/CartState.raml +++ b/api-specs/api/types/cart/CartState.raml @@ -14,9 +14,9 @@ enum: Active: | The default state where a Cart can be updated and ordered. Merged: | - An anonymous Cart was merged into a Customer's Cart on [sign-in](ctp:api:endpoint:/{projectKey}/login:POST), and no further operations are allowed on the Cart. + An anonymous Cart was merged into a Customer's Cart on [sign-in](/../api/projects/customers#authenticate-sign-in-customer), and no further operations are allowed on the Cart. Ordered: | - A Cart was [ordered](ctp:api:endpoint:/{projectKey}/orders:POST), and no further operations are allowed on the Cart. + A Cart was [ordered](/../api/projects/orders#create-order-from-cart), and no further operations are allowed on the Cart. Frozen: | A Cart is [frozen](ctp:api:type:FrozenCarts). Update actions that can change the price of (Custom) Line Items are not allowed. diff --git a/api-specs/api/types/cart/DiscountOnTotalPrice.raml b/api-specs/api/types/cart/DiscountOnTotalPrice.raml index 4b5d861c3..c0ab26433 100644 --- a/api-specs/api/types/cart/DiscountOnTotalPrice.raml +++ b/api-specs/api/types/cart/DiscountOnTotalPrice.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): Cart +(beta): true (docs-uri): https://docs.commercetools.com/api/projects/carts#discountontotalprice displayName: DiscountOnTotalPrice type: object diff --git a/api-specs/api/types/cart/DiscountedTotalPricePortion.raml b/api-specs/api/types/cart/DiscountedTotalPricePortion.raml index cb232ec4b..a32530dd0 100644 --- a/api-specs/api/types/cart/DiscountedTotalPricePortion.raml +++ b/api-specs/api/types/cart/DiscountedTotalPricePortion.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): Cart +(beta): true (docs-uri): https://docs.commercetools.com/api/projects/carts#discountedtotalpriceportion displayName: DiscountedTotalPricePortion type: object diff --git a/api-specs/api/types/cart/ExternalTaxRateDraft.raml b/api-specs/api/types/cart/ExternalTaxRateDraft.raml index 41f9b8efe..8d6f319ea 100644 --- a/api-specs/api/types/cart/ExternalTaxRateDraft.raml +++ b/api-specs/api/types/cart/ExternalTaxRateDraft.raml @@ -36,4 +36,4 @@ properties: subRates?: type: SubRate[] description: | - For countries (such as the US) where the total tax is a combination of multiple taxes (such as state and local taxes). The total of all subrates must equal the TaxRate `amount`. + For countries (such as the US) where the total tax is a combination of multiple taxes (such as state and local taxes). diff --git a/api-specs/api/types/cart/InventoryMode.raml b/api-specs/api/types/cart/InventoryMode.raml index e1c6815f0..1d70fd08b 100644 --- a/api-specs/api/types/cart/InventoryMode.raml +++ b/api-specs/api/types/cart/InventoryMode.raml @@ -17,10 +17,10 @@ enum: TrackOnly: | Orders are tracked on the Inventory, and ordering a [LineItem](ctp:api:type:LineItem) deducts the available quantity on the respective [InventoryEntry](ctp:api:type:InventoryEntry). - An [Order can be created](ctp:api:endpoint:/{projectKey}/orders:POST) even if the Line Item quantity is zero or negative, but if no matching Inventory Entry exists for the Line Item, an [OutOfStock](ctp:api:type:OutOfStockError) error is returned. + An [Order can be created](/../api/projects/orders#create-order) even if the Line Item quantity is zero or negative, but if no matching Inventory Entry exists for the Line Item, an [OutOfStock](ctp:api:type:OutOfStockError) error is returned. ReserveOnOrder: | Line Items in a Cart are only reserved for the duration of the ordering transaction. - If a Line Item is not available when [creating an Order](ctp:api:endpoint:/{projectKey}/orders:POST), an [OutOfStock](ctp:api:type:OutOfStockError) error is returned. + If a Line Item is not available when [creating an Order](/../api/projects/orders#create-order), an [OutOfStock](ctp:api:type:OutOfStockError) error is returned. This is because the [InventoryEntry](ctp:api:type:InventoryEntry) `availableQuantity` is insufficient (but is still updated) for the ordered Line Item quantity. However, an Order can be created if the [InventoryEntry](ctp:api:type:InventoryEntry) `restockableInDays` is set (including `0`). diff --git a/api-specs/api/types/cart/LineItemMode.raml b/api-specs/api/types/cart/LineItemMode.raml index 074addd1f..9704401d7 100644 --- a/api-specs/api/types/cart/LineItemMode.raml +++ b/api-specs/api/types/cart/LineItemMode.raml @@ -10,7 +10,7 @@ enum: - GiftLineItem (enumDescriptions): Standard: | - The Line Item is added during [Cart creation](ctp:api:endpoint:/{projectKey}/carts:POST) or using the [Add LineItem](ctp:api:type:CartAddLineItemAction) update action. + The Line Item is added during [Cart creation](/../api/projects/carts#create-cart) or using the [Add LineItem](ctp:api:type:CartAddLineItemAction) update action. The Line Item quantity can be changed without restriction. GiftLineItem: | The Line Item is added automatically by a Cart Discount with [CartDiscountValueGiftLineItem](ctp:api:type:CartDiscountValueGiftLineItem). diff --git a/api-specs/api/types/cart/ReplicaCartDraft.raml b/api-specs/api/types/cart/ReplicaCartDraft.raml index 8ccabc01e..1c373c2d6 100644 --- a/api-specs/api/types/cart/ReplicaCartDraft.raml +++ b/api-specs/api/types/cart/ReplicaCartDraft.raml @@ -4,7 +4,7 @@ displayName: ReplicaCartDraft type: object description: | - Used for [replicating an existing Cart](ctp:api:endpoint:/{projectKey}/carts/replicate:POST) or Order. + Used for [replicating an existing Cart](/../api/projects/carts#replicate-cart) or Order. properties: reference: type: CartReference | OrderReference diff --git a/api-specs/api/types/customer/AuthenticationMode.raml b/api-specs/api/types/customer/AuthenticationMode.raml index ef8dac898..c43e630d4 100644 --- a/api-specs/api/types/customer/AuthenticationMode.raml +++ b/api-specs/api/types/customer/AuthenticationMode.raml @@ -2,6 +2,7 @@ (package): Customer displayName: AuthenticationMode type: string +(beta): true enum: - Password - ExternalAuth diff --git a/api-specs/api/types/customer/Customer.raml b/api-specs/api/types/customer/Customer.raml index 2094e2af9..3b77f5748 100644 --- a/api-specs/api/types/customer/Customer.raml +++ b/api-specs/api/types/customer/Customer.raml @@ -138,6 +138,7 @@ properties: - If any Stores are specified, the Customer can only log in using the [Password Flow for Customers in a Store](/../api/authorization#password-flow-for-customers-in-a-store) for those specific Stores. authenticationMode: type: AuthenticationMode + (beta): true description: | Indicates whether the `password` is required for the Customer. default: Password diff --git a/api-specs/api/types/customer/updates/CustomerSetAuthenticationModeAction.raml b/api-specs/api/types/customer/updates/CustomerSetAuthenticationModeAction.raml index f4492f70a..e05f84a91 100644 --- a/api-specs/api/types/customer/updates/CustomerSetAuthenticationModeAction.raml +++ b/api-specs/api/types/customer/updates/CustomerSetAuthenticationModeAction.raml @@ -2,6 +2,7 @@ (package): Customer (docs-uri): https://docs.commercetools.com/api/projects/customers#set-authentication-mode type: CustomerUpdateAction +(beta): true displayName: CustomerSetAuthenticationModeAction discriminatorValue: setAuthenticationMode example: !include ../../../examples/Customer/CustomerSetAuthenticationModeAction.json diff --git a/api-specs/api/types/error/AttributeDefinitionAlreadyExistsError.raml b/api-specs/api/types/error/AttributeDefinitionAlreadyExistsError.raml index 37d5078a8..0fa2a80ad 100644 --- a/api-specs/api/types/error/AttributeDefinitionAlreadyExistsError.raml +++ b/api-specs/api/types/error/AttributeDefinitionAlreadyExistsError.raml @@ -6,7 +6,7 @@ discriminatorValue: AttributeDefinitionAlreadyExists description: | Returned when the `name` of the [AttributeDefinition](ctp:api:type:AttributeDefinition) conflicts with an existing Attribute. - The error is returned as a failed response to the [Create ProductType](ctp:api:endpoint:/{projectKey}/product-types:POST) request or [Change AttributeDefinition Name](ctp:api:type:ProductTypeChangeAttributeNameAction) update action. + The error is returned as a failed response to the [Create ProductType](/../api/projects/productTypes#create-producttype) request or [Change AttributeDefinition Name](ctp:api:type:ProductTypeChangeAttributeNameAction) update action. properties: code: type: string diff --git a/api-specs/api/types/error/AttributeDefinitionTypeConflictError.raml b/api-specs/api/types/error/AttributeDefinitionTypeConflictError.raml index 993f1eebb..4054af461 100644 --- a/api-specs/api/types/error/AttributeDefinitionTypeConflictError.raml +++ b/api-specs/api/types/error/AttributeDefinitionTypeConflictError.raml @@ -6,7 +6,7 @@ discriminatorValue: AttributeDefinitionTypeConflict description: | Returned when the `type` is different for an AttributeDefinition using the same `name` in multiple Product Types. - The error is returned as a failed response to the [Create ProductType](ctp:api:endpoint:/{projectKey}/product-types:POST) request. + The error is returned as a failed response to the [Create ProductType](/../api/projects/productTypes#create-producttype) request. properties: code: type: string diff --git a/api-specs/api/types/error/DuplicateStandalonePriceScopeError.raml b/api-specs/api/types/error/DuplicateStandalonePriceScopeError.raml index be394f03a..0cf0b41dc 100644 --- a/api-specs/api/types/error/DuplicateStandalonePriceScopeError.raml +++ b/api-specs/api/types/error/DuplicateStandalonePriceScopeError.raml @@ -7,7 +7,7 @@ description: | Returned when the given Price scope conflicts with the Price scope of an existing Standalone Price. Every Standalone Price associated with the same SKU must have a distinct combination of currency, country, Customer Group, Channel, and validity periods (`validFrom` and `validUntil`). - The error is returned as a failed response to the [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + The error is returned as a failed response to the [Create StandalonePrice](/../api/projects/standalone-prices#create-standaloneprice) request. properties: code: type: string diff --git a/api-specs/api/types/error/EditPreviewFailedError.raml b/api-specs/api/types/error/EditPreviewFailedError.raml index b96419fd4..ec0559bfd 100644 --- a/api-specs/api/types/error/EditPreviewFailedError.raml +++ b/api-specs/api/types/error/EditPreviewFailedError.raml @@ -6,7 +6,7 @@ discriminatorValue: EditPreviewFailed description: | Returned when a preview to find an appropriate Shipping Method for an OrderEdit could not be generated. - The error is returned as a failed response to the [Get Shipping Methods for an OrderEdit](ctp:api:endpoint:/{projectKey}/shipping-methods/matching-orderedit:GET) request. + The error is returned as a failed response to the [Get Shipping Methods for an OrderEdit](/../api/projects/shippingMethods#for-an-orderedit) request. properties: code: type: string diff --git a/api-specs/api/types/error/InvalidCredentialsError.raml b/api-specs/api/types/error/InvalidCredentialsError.raml index 5b9645d56..657725d62 100644 --- a/api-specs/api/types/error/InvalidCredentialsError.raml +++ b/api-specs/api/types/error/InvalidCredentialsError.raml @@ -8,8 +8,8 @@ description: | The error is returned as a failed response to: - - [Authenticate a global Customer (Sign-in)](ctp:api:endpoint:/{projectKey}/login:POST) and [Authenticate Customer (Sign-in) in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/login:POST) requests on Customers. - - [Authenticating Customer (Sign-in)](ctp:api:endpoint:/{projectKey}/me/login:POST) and [Authenticate Customer (Sign-in) in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/me/login:POST) requests on My Customer Profile. + - [Authenticate a global Customer (Sign-in)](/../api/projects/customers#authenticate-sign-in-customer) and [Authenticate Customer (Sign-in) in a Store](/../api/projects/customers#authenticate-sign-in-customer-in-store) requests on Customers. + - [Authenticating Customer (Sign-in)](/../api/projects/me-profile#authenticate-sign-in-customer) and [Authenticate Customer (Sign-in) in a Store](/../api/projects/me-profile#authenticate-sign-in-customer-in-store) requests on My Customer Profile. properties: code: type: string diff --git a/api-specs/api/types/error/InvalidCurrentPasswordError.raml b/api-specs/api/types/error/InvalidCurrentPasswordError.raml index 9e8ec7b13..4feec6d43 100644 --- a/api-specs/api/types/error/InvalidCurrentPasswordError.raml +++ b/api-specs/api/types/error/InvalidCurrentPasswordError.raml @@ -8,8 +8,8 @@ description: | The error is returned as a failed response to: - - [Change Customer Password](ctp:api:endpoint:/{projectKey}/customers/password:POST) and [Change Customer Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) requests on Customers. - - [Change Customer Password](ctp:api:endpoint:/{projectKey}/me/password:POST) and [Change Customer Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/me/password:POST) requests on My Customer Profile. + - [Change Customer Password](/../api/projects/customers#change-password-of-customer) and [Change Customer Password in a Store](/../api/projects/customers#change-password-of-customer-in-store) requests on Customers. + - [Change Customer Password](/../api/projects/me-profile#change-password-of-customer) and [Change Customer Password in a Store](/../api/projects/me-profile#change-password-of-customer-in-store) requests on My Customer Profile. properties: code: type: string diff --git a/api-specs/api/types/error/MaxStoreReferencesReachedError.raml b/api-specs/api/types/error/MaxStoreReferencesReachedError.raml index 639706c75..7b69504c6 100644 --- a/api-specs/api/types/error/MaxStoreReferencesReachedError.raml +++ b/api-specs/api/types/error/MaxStoreReferencesReachedError.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): Error +(beta): true type: ErrorObject displayName: MaxStoreReferencesReachedError discriminatorValue: MaxStoreReferencesReached diff --git a/api-specs/api/types/error/MissingRoleOnChannelError.raml b/api-specs/api/types/error/MissingRoleOnChannelError.raml index 9b77e256a..2f5e4e649 100644 --- a/api-specs/api/types/error/MissingRoleOnChannelError.raml +++ b/api-specs/api/types/error/MissingRoleOnChannelError.raml @@ -7,12 +7,12 @@ description: | Returned when one of the following states occur: - [Channel](ctp:api:type:Channel) is added or set on a [Store](ctp:api:type:Store) with missing Channel `roles`. - - [Standalone Price](ctp:api:type:StandalonePrice) references a Channel that does not contain the `ProductDistribution` role. + - [Standalone Price](/../api/projects/standalone-prices#create-standaloneprice) references a Channel that does not contain the `ProductDistribution` role. The error is returned as a failed response to: - [Add Distribution Channel](ctp:api:type:StoreAddDistributionChannelAction), [Set Distribution Channel](ctp:api:type:StoreSetDistributionChannelsAction), [Add Supply Channel](ctp:api:type:StoreAddSupplyChannelAction), and [Set Supply Channel](ctp:api:type:StoreSetSupplyChannelsAction) update actions. - - [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + - [Create a Standalone Price](/../api/projects/standalone-prices#create-standaloneprice) request. properties: code: type: string diff --git a/api-specs/api/types/error/NoMatchingProductDiscountFoundError.raml b/api-specs/api/types/error/NoMatchingProductDiscountFoundError.raml index 8e04f7ad0..8fe2319db 100644 --- a/api-specs/api/types/error/NoMatchingProductDiscountFoundError.raml +++ b/api-specs/api/types/error/NoMatchingProductDiscountFoundError.raml @@ -6,7 +6,7 @@ discriminatorValue: NoMatchingProductDiscountFound description: | Returned when a Product Discount could not be found that could be applied to the Price of a Product Variant. - The error is returned as a failed response to the [Get Matching ProductDiscount](ctp:api:endpoint:/{projectKey}/product-discounts/matching:POST) request. + The error is returned as a failed response to the [Get Matching ProductDiscount](/../api/projects/productDiscounts#get-matching-productdiscount) request. properties: code: type: string diff --git a/api-specs/api/types/error/NotEnabledError.raml b/api-specs/api/types/error/NotEnabledError.raml new file mode 100644 index 000000000..3ca1edb84 --- /dev/null +++ b/api-specs/api/types/error/NotEnabledError.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 DataType +(package): Error +type: ErrorObject +displayName: NotEnabledError +discriminatorValue: NotEnabled +description: | + Returned when the [Project-specific category recommendations feature](/../api/projects/categoryRecommendations#project-specific-category-recommendations) is not enabled for the Project. +properties: + code: + type: string + message: + type: string + description: | + `"The category recommendations API is not yet enabled for your project."` diff --git a/api-specs/api/types/error/OverlappingStandalonePriceValidityError.raml b/api-specs/api/types/error/OverlappingStandalonePriceValidityError.raml index 8d720b35a..3e57603ac 100644 --- a/api-specs/api/types/error/OverlappingStandalonePriceValidityError.raml +++ b/api-specs/api/types/error/OverlappingStandalonePriceValidityError.raml @@ -7,7 +7,7 @@ description: | Returned when a given Price validity period conflicts with an existing one. Every Standalone Price associated with the same SKU and with the same combination of currency, country, Customer Group, and Channel, must have non-overlapping validity periods (`validFrom` and `validUntil`). - The error is returned as a failed response to the [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + The error is returned as a failed response to the [Create StandalonePrice](/../api/projects/standalone-prices#create-standaloneprice) request. properties: code: type: string diff --git a/api-specs/api/types/error/StoreCartDiscountsLimitReachedError.raml b/api-specs/api/types/error/StoreCartDiscountsLimitReachedError.raml index e08789358..c610ce815 100644 --- a/api-specs/api/types/error/StoreCartDiscountsLimitReachedError.raml +++ b/api-specs/api/types/error/StoreCartDiscountsLimitReachedError.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): Error +(beta): true type: ErrorObject displayName: StoreCartDiscountsLimitReachedError discriminatorValue: StoreCartDiscountsLimitReached diff --git a/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionAlreadyExistsError.raml b/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionAlreadyExistsError.raml index bb6008590..a5e0f7e4f 100644 --- a/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionAlreadyExistsError.raml +++ b/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionAlreadyExistsError.raml @@ -6,7 +6,7 @@ discriminatorValue: AttributeDefinitionAlreadyExists description: | Returned when the `name` of the [AttributeDefinition](ctp:api:type:AttributeDefinition) conflicts with an existing Attribute. - The error is returned as a failed response to the [Create ProductType](ctp:api:endpoint:/{projectKey}/product-types:POST) request or [Change AttributeDefinition Name](ctp:api:type:ProductTypeChangeAttributeNameAction) update action. + The error is returned as a failed response to the [Create ProductType](/../api/projects/productTypes#create-producttype) request or [Change AttributeDefinition Name](ctp:api:type:ProductTypeChangeAttributeNameAction) update action. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionTypeConflictError.raml b/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionTypeConflictError.raml index 71cb3e43a..68ed9f10e 100644 --- a/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionTypeConflictError.raml +++ b/api-specs/api/types/error/graphql/GraphQLAttributeDefinitionTypeConflictError.raml @@ -6,7 +6,7 @@ discriminatorValue: AttributeDefinitionTypeConflict description: | Returned when the `type` is different for an AttributeDefinition using the same `name` in multiple Product Types. - The error is returned as a failed response to the [Create ProductType](ctp:api:endpoint:/{projectKey}/product-types:POST) request. + The error is returned as a failed response to the [Create ProductType](/../api/projects/productTypes#create-producttype) request. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLDuplicateStandalonePriceScopeError.raml b/api-specs/api/types/error/graphql/GraphQLDuplicateStandalonePriceScopeError.raml index 908c79e1f..204d5adda 100644 --- a/api-specs/api/types/error/graphql/GraphQLDuplicateStandalonePriceScopeError.raml +++ b/api-specs/api/types/error/graphql/GraphQLDuplicateStandalonePriceScopeError.raml @@ -7,7 +7,7 @@ description: | Returned when the given Price scope conflicts with the Price scope of an existing Standalone Price. Every Standalone Price associated with the same SKU must have a distinct combination of currency, country, Customer Group, Channel, and validity periods (`validFrom` and `validUntil`). - The error is returned as a failed response to the [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + The error is returned as a failed response to the [Create StandalonePrice](/../api/projects/standalone-prices#create-standaloneprice) request. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLEditPreviewFailedError.raml b/api-specs/api/types/error/graphql/GraphQLEditPreviewFailedError.raml index fd03d7160..a3120e2a1 100644 --- a/api-specs/api/types/error/graphql/GraphQLEditPreviewFailedError.raml +++ b/api-specs/api/types/error/graphql/GraphQLEditPreviewFailedError.raml @@ -6,7 +6,7 @@ discriminatorValue: EditPreviewFailed description: | Returned when a preview to find an appropriate Shipping Method for an OrderEdit could not be generated. - The error is returned as a failed response to the [Get Shipping Methods for an OrderEdit](ctp:api:endpoint:/{projectKey}/shipping-methods/matching-orderedit:GET) request. + The error is returned as a failed response to the [Get Shipping Methods for an OrderEdit](/../api/projects/shippingMethods#for-an-orderedit) request. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLInvalidCredentialsError.raml b/api-specs/api/types/error/graphql/GraphQLInvalidCredentialsError.raml index f7c6d6264..a5e723e4d 100644 --- a/api-specs/api/types/error/graphql/GraphQLInvalidCredentialsError.raml +++ b/api-specs/api/types/error/graphql/GraphQLInvalidCredentialsError.raml @@ -8,8 +8,8 @@ description: | The error is returned as a failed response to: - - [Authenticate a global Customer (Sign-in)](ctp:api:endpoint:/{projectKey}/login:POST) and [Authenticate Customer (Sign-in) in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/login:POST) requests on Customers. - - [Authenticating Customer (Sign-in)](ctp:api:endpoint:/{projectKey}/me/login:POST) and [Authenticate Customer (Sign-in) in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/me/login:POST) requests on My Customer Profile. + - [Authenticate a global Customer (Sign-in)](/../api/projects/customers#authenticate-sign-in-customer) and [Authenticate Customer (Sign-in) in a Store](/../api/projects/customers#authenticate-sign-in-customer-in-store) requests on Customers. + - [Authenticating Customer (Sign-in)](/../api/projects/me-profile#authenticate-sign-in-customer) and [Authenticate Customer (Sign-in) in a Store](/../api/projects/me-profile#authenticate-sign-in-customer-in-store) requests on My Customer Profile. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLInvalidCurrentPasswordError.raml b/api-specs/api/types/error/graphql/GraphQLInvalidCurrentPasswordError.raml index 1ef02069b..8f25c72af 100644 --- a/api-specs/api/types/error/graphql/GraphQLInvalidCurrentPasswordError.raml +++ b/api-specs/api/types/error/graphql/GraphQLInvalidCurrentPasswordError.raml @@ -8,8 +8,8 @@ description: | The error is returned as a failed response to: - - [Change Customer Password](ctp:api:endpoint:/{projectKey}/customers/password:POST) and [Change Customer Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) requests on Customers. - - [Change Customer Password](ctp:api:endpoint:/{projectKey}/me/password:POST) and [Change Customer Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/me/password:POST) requests on My Customer Profile. + - [Change Customer Password](/../api/projects/customers#change-password-of-customer) and [Change Customer Password in a Store](/../api/projects/customers#change-password-of-customer-in-store) requests on Customers. + - [Change Customer Password](/../api/projects/me-profile#change-password-of-customer) and [Change Customer Password in a Store](/../api/projects/me-profile#change-password-of-customer-in-store) requests on My Customer Profile. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLMaxStoreReferencesReachedError.raml b/api-specs/api/types/error/graphql/GraphQLMaxStoreReferencesReachedError.raml index e57fcd6cc..1215e9a1a 100644 --- a/api-specs/api/types/error/graphql/GraphQLMaxStoreReferencesReachedError.raml +++ b/api-specs/api/types/error/graphql/GraphQLMaxStoreReferencesReachedError.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): Error +(beta): true type: GraphQLErrorObject displayName: GraphQLMaxStoreReferencesReachedError discriminatorValue: MaxStoreReferencesReached diff --git a/api-specs/api/types/error/graphql/GraphQLMissingRoleOnChannelError.raml b/api-specs/api/types/error/graphql/GraphQLMissingRoleOnChannelError.raml index f55ca6b5b..fa56b9780 100644 --- a/api-specs/api/types/error/graphql/GraphQLMissingRoleOnChannelError.raml +++ b/api-specs/api/types/error/graphql/GraphQLMissingRoleOnChannelError.raml @@ -7,12 +7,12 @@ description: | Returned when one of the following states occur: - [Channel](ctp:api:type:Channel) is added or set on a [Store](ctp:api:type:Store) with missing Channel `roles`. - - [Standalone Price](ctp:api:type:StandalonePrice) references a Channel that does not contain the `ProductDistribution` role. + - [Standalone Price](/../api/projects/standalone-prices#create-standaloneprice) references a Channel that does not contain the `ProductDistribution` role. The error is returned as a failed response to: - [Add Distribution Channel](ctp:api:type:StoreAddDistributionChannelAction), [Set Distribution Channel](ctp:api:type:StoreSetDistributionChannelsAction), [Add Supply Channel](ctp:api:type:StoreAddSupplyChannelAction), and [Set Supply Channel](ctp:api:type:StoreSetSupplyChannelsAction) update actions. - - [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + - [Create a Standalone Price](/../api/projects/standalone-prices#create-standaloneprice) request. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLNoMatchingProductDiscountFoundError.raml b/api-specs/api/types/error/graphql/GraphQLNoMatchingProductDiscountFoundError.raml index b191eed8f..8bac5ee62 100644 --- a/api-specs/api/types/error/graphql/GraphQLNoMatchingProductDiscountFoundError.raml +++ b/api-specs/api/types/error/graphql/GraphQLNoMatchingProductDiscountFoundError.raml @@ -6,7 +6,7 @@ discriminatorValue: NoMatchingProductDiscountFound description: | Returned when a Product Discount could not be found that could be applied to the Price of a Product Variant. - The error is returned as a failed response to the [Get Matching ProductDiscount](ctp:api:endpoint:/{projectKey}/product-discounts/matching:POST) request. + The error is returned as a failed response to the [Get Matching ProductDiscount](/../api/projects/productDiscounts#get-matching-productdiscount) request. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLNotEnabledError.raml b/api-specs/api/types/error/graphql/GraphQLNotEnabledError.raml new file mode 100644 index 000000000..5a5759525 --- /dev/null +++ b/api-specs/api/types/error/graphql/GraphQLNotEnabledError.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 DataType +(package): Error +type: GraphQLErrorObject +displayName: GraphQLNotEnabledError +discriminatorValue: NotEnabled +description: | + Returned when the [Project-specific category recommendations feature](/../api/projects/categoryRecommendations#project-specific-category-recommendations) is not enabled for the Project. +properties: + code: + type: string diff --git a/api-specs/api/types/error/graphql/GraphQLOverlappingStandalonePriceValidityError.raml b/api-specs/api/types/error/graphql/GraphQLOverlappingStandalonePriceValidityError.raml index 9c834b319..dc6ed3925 100644 --- a/api-specs/api/types/error/graphql/GraphQLOverlappingStandalonePriceValidityError.raml +++ b/api-specs/api/types/error/graphql/GraphQLOverlappingStandalonePriceValidityError.raml @@ -7,7 +7,7 @@ description: | Returned when a given Price validity period conflicts with an existing one. Every Standalone Price associated with the same SKU and with the same combination of currency, country, Customer Group, and Channel, must have non-overlapping validity periods (`validFrom` and `validUntil`). - The error is returned as a failed response to the [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + The error is returned as a failed response to the [Create StandalonePrice](/../api/projects/standalone-prices#create-standaloneprice) request. properties: code: type: string diff --git a/api-specs/api/types/error/graphql/GraphQLStoreCartDiscountsLimitReachedError.raml b/api-specs/api/types/error/graphql/GraphQLStoreCartDiscountsLimitReachedError.raml index 24c795c6c..c74e86bd1 100644 --- a/api-specs/api/types/error/graphql/GraphQLStoreCartDiscountsLimitReachedError.raml +++ b/api-specs/api/types/error/graphql/GraphQLStoreCartDiscountsLimitReachedError.raml @@ -1,5 +1,6 @@ #%RAML 1.0 DataType (package): Error +(beta): true type: GraphQLErrorObject displayName: GraphQLStoreCartDiscountsLimitReachedError discriminatorValue: StoreCartDiscountsLimitReached diff --git a/api-specs/api/types/message/ApprovalFlowApprovedMessage.raml b/api-specs/api/types/message/ApprovalFlowApprovedMessage.raml index a6ce57265..d8348372b 100644 --- a/api-specs/api/types/message/ApprovalFlowApprovedMessage.raml +++ b/api-specs/api/types/message/ApprovalFlowApprovedMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalFlowApprovedMessage discriminatorValue: ApprovalFlowApproved description: | diff --git a/api-specs/api/types/message/ApprovalFlowCompletedMessage.raml b/api-specs/api/types/message/ApprovalFlowCompletedMessage.raml index d8829423a..e706d4b93 100644 --- a/api-specs/api/types/message/ApprovalFlowCompletedMessage.raml +++ b/api-specs/api/types/message/ApprovalFlowCompletedMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalFlowCompletedMessage discriminatorValue: ApprovalFlowCompleted description: | diff --git a/api-specs/api/types/message/ApprovalFlowCreatedMessage.raml b/api-specs/api/types/message/ApprovalFlowCreatedMessage.raml index 9b24208cd..9ec0e21df 100644 --- a/api-specs/api/types/message/ApprovalFlowCreatedMessage.raml +++ b/api-specs/api/types/message/ApprovalFlowCreatedMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalFlowCreatedMessage discriminatorValue: ApprovalFlowCreated description: | diff --git a/api-specs/api/types/message/ApprovalFlowRejectedMessage.raml b/api-specs/api/types/message/ApprovalFlowRejectedMessage.raml index ddcf8bca0..020ebbd04 100644 --- a/api-specs/api/types/message/ApprovalFlowRejectedMessage.raml +++ b/api-specs/api/types/message/ApprovalFlowRejectedMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalFlowRejectedMessage discriminatorValue: ApprovalFlowRejected description: | diff --git a/api-specs/api/types/message/ApprovalRuleApproversSetMessage.raml b/api-specs/api/types/message/ApprovalRuleApproversSetMessage.raml index c1d343835..d256cdf64 100644 --- a/api-specs/api/types/message/ApprovalRuleApproversSetMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleApproversSetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleApproversSetMessage discriminatorValue: ApprovalRuleApproversSet description: | diff --git a/api-specs/api/types/message/ApprovalRuleCreatedMessage.raml b/api-specs/api/types/message/ApprovalRuleCreatedMessage.raml index 8cfed2690..03531cafb 100644 --- a/api-specs/api/types/message/ApprovalRuleCreatedMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleCreatedMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleCreatedMessage discriminatorValue: ApprovalRuleCreated description: | diff --git a/api-specs/api/types/message/ApprovalRuleDescriptionSetMessage.raml b/api-specs/api/types/message/ApprovalRuleDescriptionSetMessage.raml index f808a5159..f3f670035 100644 --- a/api-specs/api/types/message/ApprovalRuleDescriptionSetMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleDescriptionSetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleDescriptionSetMessage discriminatorValue: ApprovalRuleDescriptionSet description: | diff --git a/api-specs/api/types/message/ApprovalRuleKeySetMessage.raml b/api-specs/api/types/message/ApprovalRuleKeySetMessage.raml index bc7cecbec..84e441107 100644 --- a/api-specs/api/types/message/ApprovalRuleKeySetMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleKeySetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleKeySetMessage discriminatorValue: ApprovalRuleKeySet description: | diff --git a/api-specs/api/types/message/ApprovalRuleNameSetMessage.raml b/api-specs/api/types/message/ApprovalRuleNameSetMessage.raml index 2ea7de8cf..a345ddd90 100644 --- a/api-specs/api/types/message/ApprovalRuleNameSetMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleNameSetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleNameSetMessage discriminatorValue: ApprovalRuleNameSet description: | diff --git a/api-specs/api/types/message/ApprovalRulePredicateSetMessage.raml b/api-specs/api/types/message/ApprovalRulePredicateSetMessage.raml index c1821424d..f57bf6eeb 100644 --- a/api-specs/api/types/message/ApprovalRulePredicateSetMessage.raml +++ b/api-specs/api/types/message/ApprovalRulePredicateSetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRulePredicateSetMessage discriminatorValue: ApprovalRulePredicateSet description: | diff --git a/api-specs/api/types/message/ApprovalRuleRequestersSetMessage.raml b/api-specs/api/types/message/ApprovalRuleRequestersSetMessage.raml index a73d0ae04..44fea4c1b 100644 --- a/api-specs/api/types/message/ApprovalRuleRequestersSetMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleRequestersSetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleRequestersSetMessage discriminatorValue: ApprovalRuleRequestersSet description: | diff --git a/api-specs/api/types/message/ApprovalRuleStatusSetMessage.raml b/api-specs/api/types/message/ApprovalRuleStatusSetMessage.raml index fb9167d81..674443b68 100644 --- a/api-specs/api/types/message/ApprovalRuleStatusSetMessage.raml +++ b/api-specs/api/types/message/ApprovalRuleStatusSetMessage.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: Message +(beta): true displayName: ApprovalRuleStatusSetMessage discriminatorValue: ApprovalRuleStatusSet description: | diff --git a/api-specs/api/types/message/AssociateRoleCreatedMessage.raml b/api-specs/api/types/message/AssociateRoleCreatedMessage.raml index b70e0f054..c9063988e 100644 --- a/api-specs/api/types/message/AssociateRoleCreatedMessage.raml +++ b/api-specs/api/types/message/AssociateRoleCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: AssociateRoleCreatedMessage discriminatorValue: AssociateRoleCreated description: | - Generated after a successful [Create AssociateRole](ctp:api:endpoint:/{projectKey}/associate-roles:POST) request. + Generated after a successful [Create AssociateRole](/projects/associate-roles#create-associaterole) request. properties: associateRole: type: AssociateRole diff --git a/api-specs/api/types/message/BusinessUnitCreatedMessage.raml b/api-specs/api/types/message/BusinessUnitCreatedMessage.raml index 5a2c3f59e..ee80d6835 100644 --- a/api-specs/api/types/message/BusinessUnitCreatedMessage.raml +++ b/api-specs/api/types/message/BusinessUnitCreatedMessage.raml @@ -1,11 +1,10 @@ #%RAML 1.0 DataType (package): Message -(docs-uri): https://docs.commercetools.com/http-api-projects-messages.html#business-unit-created type: Message displayName: BusinessUnitCreatedMessage discriminatorValue: BusinessUnitCreated description: | - Generated after a successful [Create BusinessUnit](ctp:api:endpoint:/{projectKey}/business-units:POST) request. + Generated after a successful [Create BusinessUnit](/projects/business-units#create-businessunit) request. properties: businessUnit: type: BusinessUnit diff --git a/api-specs/api/types/message/CartDiscountCreatedMessage.raml b/api-specs/api/types/message/CartDiscountCreatedMessage.raml deleted file mode 100644 index 5ddadf31f..000000000 --- a/api-specs/api/types/message/CartDiscountCreatedMessage.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-created -type: Message -displayName: CartDiscountCreatedMessage -discriminatorValue: CartDiscountCreated -description: | - Generated after a successful [Create CartDiscount](ctp:api:endpoint:/{projectKey}/cart-discounts:POST) request. -properties: - cartDiscount: - type: CartDiscount - description: | - The [Cart Discount](ctp:api:type:CartDiscount) that was created. diff --git a/api-specs/api/types/message/CartDiscountDeletedMessage.raml b/api-specs/api/types/message/CartDiscountDeletedMessage.raml deleted file mode 100644 index 4ea46e6c9..000000000 --- a/api-specs/api/types/message/CartDiscountDeletedMessage.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-deleted -type: Message -displayName: CartDiscountDeletedMessage -discriminatorValue: CartDiscountDeleted -description: | - Generated after a successful [Delete CartDiscount](ctp:api:endpoint:/{projectKey}/cart-discounts/{id}:DELETE) request. -properties: diff --git a/api-specs/api/types/message/CartDiscountStoreAddedMessage.raml b/api-specs/api/types/message/CartDiscountStoreAddedMessage.raml deleted file mode 100644 index beca4e382..000000000 --- a/api-specs/api/types/message/CartDiscountStoreAddedMessage.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-store-added -type: Message -displayName: CartDiscountStoreAddedMessage -discriminatorValue: CartDiscountStoreAdded -description: | - Generated after a successful [Add Store](ctp:api:type:CartDiscountAddStoreAction) update action. -properties: - store: - type: StoreKeyReference - description: | - The [Store](ctp:api:type:Store) that was added to the [Cart Discount](ctp:api:type:CartDiscount). diff --git a/api-specs/api/types/message/CartDiscountStoreRemovedMessage.raml b/api-specs/api/types/message/CartDiscountStoreRemovedMessage.raml deleted file mode 100644 index e43f6027c..000000000 --- a/api-specs/api/types/message/CartDiscountStoreRemovedMessage.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-store-removed -type: Message -displayName: CartDiscountStoreRemovedMessage -discriminatorValue: CartDiscountStoreRemoved -description: | - Generated after a successful [Remove Store](ctp:api:type:CartDiscountRemoveStoreAction) update action. -properties: - store: - type: StoreKeyReference - description: | - The [Store](ctp:api:type:Store) that was removed from the [Cart Discount](ctp:api:type:CartDiscount). diff --git a/api-specs/api/types/message/CartDiscountStoresSetMessage.raml b/api-specs/api/types/message/CartDiscountStoresSetMessage.raml deleted file mode 100644 index 06196731e..000000000 --- a/api-specs/api/types/message/CartDiscountStoresSetMessage.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-stores-set -type: Message -displayName: CartDiscountStoresSetMessage -discriminatorValue: CartDiscountStoresSet -description: | - Generated after a successful [Set Stores](ctp:api:type:CartDiscountSetStoresAction) update action. -properties: - stores: - type: StoreKeyReference[] - description: | - [Stores](ctp:api:type:Store) of the [Cart Discount](ctp:api:type:CartDiscount) after the [Set Stores](ctp:api:type:CartDiscountSetStoresAction) update action. diff --git a/api-specs/api/types/message/CategoryCreatedMessage.raml b/api-specs/api/types/message/CategoryCreatedMessage.raml index c1d810484..ca34ff81b 100644 --- a/api-specs/api/types/message/CategoryCreatedMessage.raml +++ b/api-specs/api/types/message/CategoryCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: CategoryCreatedMessage discriminatorValue: CategoryCreated description: | - Generated after a successful [Create Category](ctp:api:endpoint:/{projectKey}/categories:POST) request. + Generated after a successful [Create Category](/../api/projects/categories#create-category) request. properties: category: type: Category diff --git a/api-specs/api/types/message/CustomerCreatedMessage.raml b/api-specs/api/types/message/CustomerCreatedMessage.raml index c381526a0..b4df83f49 100644 --- a/api-specs/api/types/message/CustomerCreatedMessage.raml +++ b/api-specs/api/types/message/CustomerCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: CustomerCreatedMessage discriminatorValue: CustomerCreated description: | - Generated after a successful [Create Customer](ctp:api:endpoint:/{projectKey}/customers:POST) request. + Generated after a successful [Create Customer](/../api/projects/customers#create-sign-up-customer) request. properties: customer: type: Customer diff --git a/api-specs/api/types/message/CustomerEmailTokenCreatedMessage.raml b/api-specs/api/types/message/CustomerEmailTokenCreatedMessage.raml index 9bb819e00..cc2e33c9d 100644 --- a/api-specs/api/types/message/CustomerEmailTokenCreatedMessage.raml +++ b/api-specs/api/types/message/CustomerEmailTokenCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: CustomerEmailTokenCreatedMessage discriminatorValue: CustomerEmailTokenCreated description: | - Generated after a successful [Create email token for Customer](ctp:api:endpoint:/{projectKey}/customers/email-token:POST) request. The `resource` property of the Message is a [CustomerEmailTokenReference](ctp:api:type:CustomerEmailTokenReference). + Generated after a successful [Create email token for Customer](/../api/projects/customers#create-email-token-for-customer) request. The `resource` property of the Message is a [CustomerEmailTokenReference](ctp:api:type:CustomerEmailTokenReference). properties: customerId: type: string diff --git a/api-specs/api/types/message/CustomerEmailVerifiedMessage.raml b/api-specs/api/types/message/CustomerEmailVerifiedMessage.raml index 215b22a4f..f015bc540 100644 --- a/api-specs/api/types/message/CustomerEmailVerifiedMessage.raml +++ b/api-specs/api/types/message/CustomerEmailVerifiedMessage.raml @@ -5,4 +5,4 @@ type: Message displayName: CustomerEmailVerifiedMessage discriminatorValue: CustomerEmailVerified description: | - Generated after a successful [Verify Customer's Email](ctp:api:endpoint:/{projectKey}/customers/email/confirm:POST) request. + Generated after a successful [Verify Customer's Email](/../api/projects/customers#verify-email-of-customer) request. diff --git a/api-specs/api/types/message/CustomerPasswordTokenCreatedMessage.raml b/api-specs/api/types/message/CustomerPasswordTokenCreatedMessage.raml index c64939cfc..313bec7d9 100644 --- a/api-specs/api/types/message/CustomerPasswordTokenCreatedMessage.raml +++ b/api-specs/api/types/message/CustomerPasswordTokenCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: CustomerPasswordTokenCreatedMessage discriminatorValue: CustomerPasswordTokenCreated description: | - Generated after a successful [Create password reset token for Customer](ctp:api:endpoint:/{projectKey}/customers/password-token:POST) request. The `resource` property of the Message is a [CustomerPasswordTokenReference](ctp:api:type:CustomerPasswordTokenReference). + Generated after a successful [Create password reset token for Customer](/../api/projects/customers#create-password-reset-token-for-customer) request. The `resource` property of the Message is a [CustomerPasswordTokenReference](ctp:api:type:CustomerPasswordTokenReference). properties: customerId: type: string diff --git a/api-specs/api/types/message/CustomerPasswordUpdatedMessage.raml b/api-specs/api/types/message/CustomerPasswordUpdatedMessage.raml index 20eeb6cef..291b14ef6 100644 --- a/api-specs/api/types/message/CustomerPasswordUpdatedMessage.raml +++ b/api-specs/api/types/message/CustomerPasswordUpdatedMessage.raml @@ -5,9 +5,9 @@ type: Message displayName: CustomerPasswordUpdatedMessage discriminatorValue: CustomerPasswordUpdated description: | - Generated after a successful [Reset Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST), [Reset Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password/reset:POST), [Change Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password:POST), or [Change Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) request. This Message is also produced during equivalent requests to the [My Customer Profile](/../api/projects/me-profile) endpoint. + Generated after a successful [Reset Customer's Password](/../api/projects/customers#reset-password-of-customer), [Reset Customer's Password in a Store](/../api/projects/customers#reset-password-of-customer-in-store), [Change Customer's Password](/../api/projects/customers#change-password-of-customer), or [Change Customer's Password in a Store](/../api/projects/customers#change-password-of-customer-in-store) request. This Message is also produced during equivalent requests to the [My Customer Profile](/../api/projects/me-profile) endpoint. properties: reset: type: boolean description: | - Whether the Customer's password was updated during the [Reset password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST) or [Change password](ctp:api:endpoint:/{projectKey}/customers/password:POST) flow. + Whether the Customer's password was updated during the [Reset password](/../api/projects/customers#password-reset-of-customer) or [Change password](/../api/projects/customers#change-password-of-customer) flow. diff --git a/api-specs/api/types/message/InventoryEntryCreatedMessage.raml b/api-specs/api/types/message/InventoryEntryCreatedMessage.raml index fbd052726..f96044c8b 100644 --- a/api-specs/api/types/message/InventoryEntryCreatedMessage.raml +++ b/api-specs/api/types/message/InventoryEntryCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: InventoryEntryCreatedMessage discriminatorValue: InventoryEntryCreated description: | - Generated after a successful [Create InventoryEntry](ctp:api:endpoint:/{projectKey}/inventory:POST) request. + Generated after a successful [Create InventoryEntry](/../api/projects/inventory#create-inventoryentry) request. properties: inventoryEntry: type: InventoryEntry diff --git a/api-specs/api/types/message/InventoryEntryQuantitySetMessage.raml b/api-specs/api/types/message/InventoryEntryQuantitySetMessage.raml index be097ccf6..b03f59ca2 100644 --- a/api-specs/api/types/message/InventoryEntryQuantitySetMessage.raml +++ b/api-specs/api/types/message/InventoryEntryQuantitySetMessage.raml @@ -6,7 +6,7 @@ displayName: InventoryEntryQuantitySetMessage discriminatorValue: InventoryEntryQuantitySet description: | Generated after a successful [Add Quantity](ctp:api:type:InventoryEntryAddQuantityAction), [Remove Quantity](ctp:api:type:InventoryEntryRemoveQuantityAction) or [Change Quantity](ctp:api:type:InventoryEntryChangeQuantityAction) update action. - Inventory changes as a result of [Order creation](ctp:api:endpoint:/{projectKey}/orders:POST) do not trigger this message. + Inventory changes as a result of [Order creation](/../api/projects/orders#create-order) do not trigger this message. properties: oldQuantityOnStock: type: number diff --git a/api-specs/api/types/message/OrderCreatedMessage.raml b/api-specs/api/types/message/OrderCreatedMessage.raml index 24100b6b8..ed0faa915 100644 --- a/api-specs/api/types/message/OrderCreatedMessage.raml +++ b/api-specs/api/types/message/OrderCreatedMessage.raml @@ -5,7 +5,7 @@ type: OrderMessage displayName: OrderCreatedMessage discriminatorValue: OrderCreated description: | - Generated after a successful [Create Order](ctp:api:endpoint:/{projectKey}/orders:POST) request. + Generated after a successful [Create Order](/../api/projects/orders#create-order) request. properties: order: type: Order diff --git a/api-specs/api/types/message/PaymentCreatedMessage.raml b/api-specs/api/types/message/PaymentCreatedMessage.raml index e276d372e..53ba8de92 100644 --- a/api-specs/api/types/message/PaymentCreatedMessage.raml +++ b/api-specs/api/types/message/PaymentCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: PaymentCreatedMessage discriminatorValue: PaymentCreated description: | - Generated after a successful [Create Payment](ctp:api:endpoint:/{projectKey}/payments:POST) request. + Generated after a successful [Create Payment](/../api/projects/payments#create-payment) request. properties: payment: type: Payment diff --git a/api-specs/api/types/message/ProductCreatedMessage.raml b/api-specs/api/types/message/ProductCreatedMessage.raml index ed5a0b1e9..6f9f11cf9 100644 --- a/api-specs/api/types/message/ProductCreatedMessage.raml +++ b/api-specs/api/types/message/ProductCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: ProductCreatedMessage discriminatorValue: ProductCreated description: | - Generated after a successful [Create Product](ctp:api:endpoint:/{projectKey}/products:POST) request. + Generated after a successful [Create Product](/../api/projects/products#create-product) request. properties: productProjection: type: ProductProjection diff --git a/api-specs/api/types/message/ProductSelectionCreatedMessage.raml b/api-specs/api/types/message/ProductSelectionCreatedMessage.raml index b12ab2ba4..4011eaa39 100644 --- a/api-specs/api/types/message/ProductSelectionCreatedMessage.raml +++ b/api-specs/api/types/message/ProductSelectionCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: ProductSelectionCreatedMessage discriminatorValue: ProductSelectionCreated description: | - Generated after a successful [Create Product Selection](ctp:api:endpoint:/{projectKey}/product-selections:POST) request. + Generated after a successful [Create Product Selection](/../api/projects/product-selections#create-productselection) request. properties: productSelection: type: ProductSelection diff --git a/api-specs/api/types/message/QuoteCreatedMessage.raml b/api-specs/api/types/message/QuoteCreatedMessage.raml index 8266d3314..adab94009 100644 --- a/api-specs/api/types/message/QuoteCreatedMessage.raml +++ b/api-specs/api/types/message/QuoteCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: QuoteCreatedMessage discriminatorValue: QuoteCreated description: | - Generated after a successful [Create Quote](ctp:api:endpoint:/{projectKey}/quotes:POST) request. + Generated after a successful [Create Quote](/../api/projects/quotes#create-quote) request. properties: quote: type: Quote diff --git a/api-specs/api/types/message/QuoteRequestCreatedMessage.raml b/api-specs/api/types/message/QuoteRequestCreatedMessage.raml index e3fc38653..401caa4ae 100644 --- a/api-specs/api/types/message/QuoteRequestCreatedMessage.raml +++ b/api-specs/api/types/message/QuoteRequestCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: QuoteRequestCreatedMessage discriminatorValue: QuoteRequestCreated description: | - Generated after a successful [Create QuoteRequest](ctp:api:endpoint:/{projectKey}/quote-requests:POST) request. + Generated after a successful [Create QuoteRequest](/../api/projects/quote-requests#create-quoterequest) request. properties: quoteRequest: type: QuoteRequest diff --git a/api-specs/api/types/message/ReviewCreatedMessage.raml b/api-specs/api/types/message/ReviewCreatedMessage.raml index cda81e4ee..44c66c1dd 100644 --- a/api-specs/api/types/message/ReviewCreatedMessage.raml +++ b/api-specs/api/types/message/ReviewCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: ReviewCreatedMessage discriminatorValue: ReviewCreated description: | - Generated after a successful [Create Review](ctp:api:endpoint:/{projectKey}/reviews:POST) request. + Generated after a successful [Create Review](/../api/projects/reviews#create-review) request. properties: review: type: Review diff --git a/api-specs/api/types/message/StagedQuoteCreatedMessage.raml b/api-specs/api/types/message/StagedQuoteCreatedMessage.raml index 117990fa6..6060e1869 100644 --- a/api-specs/api/types/message/StagedQuoteCreatedMessage.raml +++ b/api-specs/api/types/message/StagedQuoteCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: StagedQuoteCreatedMessage discriminatorValue: StagedQuoteCreated description: | - Generated after a successful [Create StagedQuote](ctp:api:endpoint:/{projectKey}/staged-quotes:POST) request. + Generated after a successful [Create StagedQuote](/../api/projects/staged-quotes#create-stagedquote) request. properties: stagedQuote: type: StagedQuote diff --git a/api-specs/api/types/message/StandalonePriceCreatedMessage.raml b/api-specs/api/types/message/StandalonePriceCreatedMessage.raml index 203bdb4a4..e2a08d787 100644 --- a/api-specs/api/types/message/StandalonePriceCreatedMessage.raml +++ b/api-specs/api/types/message/StandalonePriceCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: StandalonePriceCreatedMessage discriminatorValue: StandalonePriceCreated description: | - Generated after a successful [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + Generated after a successful [Create StandalonePrice](/../api/projects/standalone-prices#create-standaloneprice) request. properties: standalonePrice: type: StandalonePrice diff --git a/api-specs/api/types/message/StoreCreatedMessage.raml b/api-specs/api/types/message/StoreCreatedMessage.raml index 1bb17e72e..44629ac62 100644 --- a/api-specs/api/types/message/StoreCreatedMessage.raml +++ b/api-specs/api/types/message/StoreCreatedMessage.raml @@ -5,7 +5,7 @@ type: Message displayName: StoreCreatedMessage discriminatorValue: StoreCreated description: | - Generated after a successful [Create Store](ctp:api:endpoint:/{projectKey}/stores:POST) request. + Generated after a successful [Create Store](/../api/projects/stores#create-store) request. properties: name?: type: LocalizedString diff --git a/api-specs/api/types/message/StoreDeletedMessage.raml b/api-specs/api/types/message/StoreDeletedMessage.raml index 9e33d01d1..c531d44be 100644 --- a/api-specs/api/types/message/StoreDeletedMessage.raml +++ b/api-specs/api/types/message/StoreDeletedMessage.raml @@ -5,4 +5,4 @@ type: Message displayName: StoreDeletedMessage discriminatorValue: StoreDeleted description: | - Generated after a successful [Delete Store](/../api/projects/stores#delete-store) request. + Generated after a successful [Delete Store](/../api/projects/quote-requests#delete-quoterequest) request. diff --git a/api-specs/api/types/message/payload/ApprovalFlowApprovedMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalFlowApprovedMessagePayload.raml index 407665b5c..b64191ddd 100644 --- a/api-specs/api/types/message/payload/ApprovalFlowApprovedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalFlowApprovedMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalFlowApprovedMessagePayload discriminatorValue: ApprovalFlowApproved description: | diff --git a/api-specs/api/types/message/payload/ApprovalFlowCompletedMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalFlowCompletedMessagePayload.raml index 6aea6c88b..69069a5dc 100644 --- a/api-specs/api/types/message/payload/ApprovalFlowCompletedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalFlowCompletedMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalFlowCompletedMessagePayload discriminatorValue: ApprovalFlowCompleted description: | diff --git a/api-specs/api/types/message/payload/ApprovalFlowCreatedMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalFlowCreatedMessagePayload.raml index 5597162fe..807c99b92 100644 --- a/api-specs/api/types/message/payload/ApprovalFlowCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalFlowCreatedMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalFlowCreatedMessagePayload discriminatorValue: ApprovalFlowCreated description: | diff --git a/api-specs/api/types/message/payload/ApprovalFlowRejectedMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalFlowRejectedMessagePayload.raml index 577fab509..6a56aebb7 100644 --- a/api-specs/api/types/message/payload/ApprovalFlowRejectedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalFlowRejectedMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalFlowRejectedMessagePayload discriminatorValue: ApprovalFlowRejected description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleApproversSetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleApproversSetMessagePayload.raml index afbe2e2d6..1426aaee4 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleApproversSetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleApproversSetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleApproversSetMessagePayload discriminatorValue: ApprovalRuleApproversSet description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleCreatedMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleCreatedMessagePayload.raml index 5f70def88..20226111c 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleCreatedMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleCreatedMessagePayload discriminatorValue: ApprovalRuleCreated description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleDescriptionSetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleDescriptionSetMessagePayload.raml index bbda2c345..d826009e9 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleDescriptionSetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleDescriptionSetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleDescriptionSetMessagePayload discriminatorValue: ApprovalRuleDescriptionSet description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleKeySetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleKeySetMessagePayload.raml index d97d3fbf3..273543d69 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleKeySetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleKeySetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleKeySetMessagePayload discriminatorValue: ApprovalRuleKeySet description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleNameSetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleNameSetMessagePayload.raml index e5cece8d8..77139ab38 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleNameSetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleNameSetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleNameSetMessagePayload discriminatorValue: ApprovalRuleNameSet description: | diff --git a/api-specs/api/types/message/payload/ApprovalRulePredicateSetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRulePredicateSetMessagePayload.raml index ad2ed2aef..ed452554b 100644 --- a/api-specs/api/types/message/payload/ApprovalRulePredicateSetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRulePredicateSetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRulePredicateSetMessagePayload discriminatorValue: ApprovalRulePredicateSet description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleRequestersSetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleRequestersSetMessagePayload.raml index ace4fbf13..0c4d11705 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleRequestersSetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleRequestersSetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleRequestersSetMessagePayload discriminatorValue: ApprovalRuleRequestersSet description: | diff --git a/api-specs/api/types/message/payload/ApprovalRuleStatusSetMessagePayload.raml b/api-specs/api/types/message/payload/ApprovalRuleStatusSetMessagePayload.raml index f7d44abad..d6130cf67 100644 --- a/api-specs/api/types/message/payload/ApprovalRuleStatusSetMessagePayload.raml +++ b/api-specs/api/types/message/payload/ApprovalRuleStatusSetMessagePayload.raml @@ -1,6 +1,7 @@ #%RAML 1.0 DataType (package): Message type: MessagePayload +(beta): true displayName: ApprovalRuleStatusSetMessagePayload discriminatorValue: ApprovalRuleStatusSet description: | diff --git a/api-specs/api/types/message/payload/AssociateRoleCreatedMessagePayload.raml b/api-specs/api/types/message/payload/AssociateRoleCreatedMessagePayload.raml index dab02f1b4..fd465afc2 100644 --- a/api-specs/api/types/message/payload/AssociateRoleCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/AssociateRoleCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: AssociateRoleCreatedMessagePayload discriminatorValue: AssociateRoleCreated description: | - Generated after a successful [Create AssociateRole](ctp:api:endpoint:/{projectKey}/associate-roles:POST) request. + Generated after a successful [Create AssociateRole](/projects/associate-roles#create-associaterole) request. properties: associateRole: type: AssociateRole diff --git a/api-specs/api/types/message/payload/BusinessUnitCreatedMessagePayload.raml b/api-specs/api/types/message/payload/BusinessUnitCreatedMessagePayload.raml index 575957f9e..e61a8aae7 100644 --- a/api-specs/api/types/message/payload/BusinessUnitCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/BusinessUnitCreatedMessagePayload.raml @@ -1,11 +1,10 @@ #%RAML 1.0 DataType (package): Message -(docs-uri): https://docs.commercetools.com/http-api-projects-messages.html#business-unit-created type: MessagePayload displayName: BusinessUnitCreatedMessagePayload discriminatorValue: BusinessUnitCreated description: | - Generated after a successful [Create BusinessUnit](ctp:api:endpoint:/{projectKey}/business-units:POST) request. + Generated after a successful [Create BusinessUnit](/projects/business-units#create-businessunit) request. properties: businessUnit: type: BusinessUnit diff --git a/api-specs/api/types/message/payload/CartDiscountCreatedMessagePayload.raml b/api-specs/api/types/message/payload/CartDiscountCreatedMessagePayload.raml deleted file mode 100644 index ac0911df0..000000000 --- a/api-specs/api/types/message/payload/CartDiscountCreatedMessagePayload.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-created -type: MessagePayload -displayName: CartDiscountCreatedMessagePayload -discriminatorValue: CartDiscountCreated -description: | - Generated after a successful [Create CartDiscount](ctp:api:endpoint:/{projectKey}/cart-discounts:POST) request. -properties: - cartDiscount: - type: CartDiscount - description: | - The [Cart Discount](ctp:api:type:CartDiscount) that was created. diff --git a/api-specs/api/types/message/payload/CartDiscountDeletedMessagePayload.raml b/api-specs/api/types/message/payload/CartDiscountDeletedMessagePayload.raml deleted file mode 100644 index 4348293e3..000000000 --- a/api-specs/api/types/message/payload/CartDiscountDeletedMessagePayload.raml +++ /dev/null @@ -1,9 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-deleted -type: MessagePayload -displayName: CartDiscountDeletedMessagePayload -discriminatorValue: CartDiscountDeleted -description: | - Generated after a successful [Delete CartDiscount](ctp:api:endpoint:/{projectKey}/cart-discounts/{id}:DELETE) request. -properties: diff --git a/api-specs/api/types/message/payload/CartDiscountStoreAddedMessagePayload.raml b/api-specs/api/types/message/payload/CartDiscountStoreAddedMessagePayload.raml deleted file mode 100644 index 159c1e808..000000000 --- a/api-specs/api/types/message/payload/CartDiscountStoreAddedMessagePayload.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-store-added -type: MessagePayload -displayName: CartDiscountStoreAddedMessagePayload -discriminatorValue: CartDiscountStoreAdded -description: | - Generated after a successful [Add Store](ctp:api:type:CartDiscountAddStoreAction) update action. -properties: - store: - type: StoreKeyReference - description: | - The [Store](ctp:api:type:Store) that was added to the [Cart Discount](ctp:api:type:CartDiscount). diff --git a/api-specs/api/types/message/payload/CartDiscountStoreRemovedMessagePayload.raml b/api-specs/api/types/message/payload/CartDiscountStoreRemovedMessagePayload.raml deleted file mode 100644 index c36776a0c..000000000 --- a/api-specs/api/types/message/payload/CartDiscountStoreRemovedMessagePayload.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-store-removed -type: MessagePayload -displayName: CartDiscountStoreRemovedMessagePayload -discriminatorValue: CartDiscountStoreRemoved -description: | - Generated after a successful [Remove Store](ctp:api:type:CartDiscountRemoveStoreAction) update action. -properties: - store: - type: StoreKeyReference - description: | - The [Store](ctp:api:type:Store) that was removed from the [Cart Discount](ctp:api:type:CartDiscount). diff --git a/api-specs/api/types/message/payload/CartDiscountStoresSetMessagePayload.raml b/api-specs/api/types/message/payload/CartDiscountStoresSetMessagePayload.raml deleted file mode 100644 index ac463c040..000000000 --- a/api-specs/api/types/message/payload/CartDiscountStoresSetMessagePayload.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 DataType -(package): Message -(docs-uri): https://docs.commercetools.com/api/projects/messages#cart-discount-stores-set -type: MessagePayload -displayName: CartDiscountStoresSetMessagePayload -discriminatorValue: CartDiscountStoresSet -description: | - Generated after a successful [Set Stores](ctp:api:type:CartDiscountSetStoresAction) update action. -properties: - stores: - type: StoreKeyReference[] - description: | - [Stores](ctp:api:type:Store) of the [Cart Discount](ctp:api:type:CartDiscount) after the [Set Stores](ctp:api:type:CartDiscountSetStoresAction) update action. diff --git a/api-specs/api/types/message/payload/CategoryCreatedMessagePayload.raml b/api-specs/api/types/message/payload/CategoryCreatedMessagePayload.raml index bbeb101fe..2e843a7b8 100644 --- a/api-specs/api/types/message/payload/CategoryCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/CategoryCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: CategoryCreatedMessagePayload discriminatorValue: CategoryCreated description: | - Generated after a successful [Create Category](ctp:api:endpoint:/{projectKey}/categories:POST) request. + Generated after a successful [Create Category](/../api/projects/categories#create-category) request. properties: category: type: Category diff --git a/api-specs/api/types/message/payload/CustomerCreatedMessagePayload.raml b/api-specs/api/types/message/payload/CustomerCreatedMessagePayload.raml index e0aacd25e..89e3c1b25 100644 --- a/api-specs/api/types/message/payload/CustomerCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/CustomerCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: CustomerCreatedMessagePayload discriminatorValue: CustomerCreated description: | - Generated after a successful [Create Customer](ctp:api:endpoint:/{projectKey}/customers:POST) request. + Generated after a successful [Create Customer](/../api/projects/customers#create-sign-up-customer) request. properties: customer: type: Customer diff --git a/api-specs/api/types/message/payload/CustomerEmailTokenCreatedMessagePayload.raml b/api-specs/api/types/message/payload/CustomerEmailTokenCreatedMessagePayload.raml index 619288b7d..5bb2d5ee9 100644 --- a/api-specs/api/types/message/payload/CustomerEmailTokenCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/CustomerEmailTokenCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: CustomerEmailTokenCreatedMessagePayload discriminatorValue: CustomerEmailTokenCreated description: | - Generated after a successful [Create email token for Customer](ctp:api:endpoint:/{projectKey}/customers/email-token:POST) request. The `resource` property of the Message is a [CustomerEmailTokenReference](ctp:api:type:CustomerEmailTokenReference). + Generated after a successful [Create email token for Customer](/../api/projects/customers#create-email-token-for-customer) request. The `resource` property of the Message is a [CustomerEmailTokenReference](ctp:api:type:CustomerEmailTokenReference). properties: customerId: type: string diff --git a/api-specs/api/types/message/payload/CustomerEmailVerifiedMessagePayload.raml b/api-specs/api/types/message/payload/CustomerEmailVerifiedMessagePayload.raml index 5e7be8279..b7a385322 100644 --- a/api-specs/api/types/message/payload/CustomerEmailVerifiedMessagePayload.raml +++ b/api-specs/api/types/message/payload/CustomerEmailVerifiedMessagePayload.raml @@ -5,4 +5,4 @@ type: MessagePayload displayName: CustomerEmailVerifiedMessagePayload discriminatorValue: CustomerEmailVerified description: | - Generated after a successful [Verify Customer's Email](ctp:api:endpoint:/{projectKey}/customers/email/confirm:POST) request. + Generated after a successful [Verify Customer's Email](/../api/projects/customers#verify-email-of-customer) request. diff --git a/api-specs/api/types/message/payload/CustomerPasswordTokenCreatedMessagePayload.raml b/api-specs/api/types/message/payload/CustomerPasswordTokenCreatedMessagePayload.raml index ff790501c..826d660c2 100644 --- a/api-specs/api/types/message/payload/CustomerPasswordTokenCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/CustomerPasswordTokenCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: CustomerPasswordTokenCreatedMessagePayload discriminatorValue: CustomerPasswordTokenCreated description: | - Generated after a successful [Create password reset token for Customer](ctp:api:endpoint:/{projectKey}/customers/password-token:POST) request. The `resource` property of the Message is a [CustomerPasswordTokenReference](ctp:api:type:CustomerPasswordTokenReference). + Generated after a successful [Create password reset token for Customer](/../api/projects/customers#create-password-reset-token-for-customer) request. The `resource` property of the Message is a [CustomerPasswordTokenReference](ctp:api:type:CustomerPasswordTokenReference). properties: customerId: type: string diff --git a/api-specs/api/types/message/payload/CustomerPasswordUpdatedMessagePayload.raml b/api-specs/api/types/message/payload/CustomerPasswordUpdatedMessagePayload.raml index b3defa9e4..e7dfbdca8 100644 --- a/api-specs/api/types/message/payload/CustomerPasswordUpdatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/CustomerPasswordUpdatedMessagePayload.raml @@ -5,9 +5,9 @@ type: MessagePayload displayName: CustomerPasswordUpdatedMessagePayload discriminatorValue: CustomerPasswordUpdated description: | - Generated after a successful [Reset Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST), [Reset Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password/reset:POST), [Change Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password:POST), or [Change Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) request. This Message is also produced during equivalent requests to the [My Customer Profile](/../api/projects/me-profile) endpoint. + Generated after a successful [Reset Customer's Password](/../api/projects/customers#reset-password-of-customer), [Reset Customer's Password in a Store](/../api/projects/customers#reset-password-of-customer-in-store), [Change Customer's Password](/../api/projects/customers#change-password-of-customer), or [Change Customer's Password in a Store](/../api/projects/customers#change-password-of-customer-in-store) request. This Message is also produced during equivalent requests to the [My Customer Profile](/../api/projects/me-profile) endpoint. properties: reset: type: boolean description: | - Whether the Customer's password was updated during the [Reset password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST) or [Change password](ctp:api:endpoint:/{projectKey}/customers/password:POST) flow. + Whether the Customer's password was updated during the [Reset password](/../api/projects/customers#password-reset-of-customer) or [Change password](/../api/projects/customers#change-password-of-customer) flow. diff --git a/api-specs/api/types/message/payload/InventoryEntryCreatedMessagePayload.raml b/api-specs/api/types/message/payload/InventoryEntryCreatedMessagePayload.raml index b7e930fc7..928f919e7 100644 --- a/api-specs/api/types/message/payload/InventoryEntryCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/InventoryEntryCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: InventoryEntryCreatedMessagePayload discriminatorValue: InventoryEntryCreated description: | - Generated after a successful [Create InventoryEntry](ctp:api:endpoint:/{projectKey}/inventory:POST) request. + Generated after a successful [Create InventoryEntry](/../api/projects/inventory#create-inventoryentry) request. properties: inventoryEntry: type: InventoryEntry diff --git a/api-specs/api/types/message/payload/InventoryEntryQuantitySetMessagePayload.raml b/api-specs/api/types/message/payload/InventoryEntryQuantitySetMessagePayload.raml index d225f9c07..3dc1d1f48 100644 --- a/api-specs/api/types/message/payload/InventoryEntryQuantitySetMessagePayload.raml +++ b/api-specs/api/types/message/payload/InventoryEntryQuantitySetMessagePayload.raml @@ -6,7 +6,7 @@ displayName: InventoryEntryQuantitySetMessagePayload discriminatorValue: InventoryEntryQuantitySet description: | Generated after a successful [Add Quantity](ctp:api:type:InventoryEntryAddQuantityAction), [Remove Quantity](ctp:api:type:InventoryEntryRemoveQuantityAction) or [Change Quantity](ctp:api:type:InventoryEntryChangeQuantityAction) update action. - Inventory changes as a result of [Order creation](ctp:api:endpoint:/{projectKey}/orders:POST) do not trigger this message. + Inventory changes as a result of [Order creation](/../api/projects/orders#create-order) do not trigger this message. properties: oldQuantityOnStock: type: number diff --git a/api-specs/api/types/message/payload/OrderCreatedMessagePayload.raml b/api-specs/api/types/message/payload/OrderCreatedMessagePayload.raml index 639ed02db..918f92772 100644 --- a/api-specs/api/types/message/payload/OrderCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/OrderCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: OrderMessagePayload displayName: OrderCreatedMessagePayload discriminatorValue: OrderCreated description: | - Generated after a successful [Create Order](ctp:api:endpoint:/{projectKey}/orders:POST) request. + Generated after a successful [Create Order](/../api/projects/orders#create-order) request. properties: order: type: Order diff --git a/api-specs/api/types/message/payload/PaymentCreatedMessagePayload.raml b/api-specs/api/types/message/payload/PaymentCreatedMessagePayload.raml index 7d787facc..ea8acae0c 100644 --- a/api-specs/api/types/message/payload/PaymentCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/PaymentCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: PaymentCreatedMessagePayload discriminatorValue: PaymentCreated description: | - Generated after a successful [Create Payment](ctp:api:endpoint:/{projectKey}/payments:POST) request. + Generated after a successful [Create Payment](/../api/projects/payments#create-payment) request. properties: payment: type: Payment diff --git a/api-specs/api/types/message/payload/ProductCreatedMessagePayload.raml b/api-specs/api/types/message/payload/ProductCreatedMessagePayload.raml index 7b11f3977..9393c7ea2 100644 --- a/api-specs/api/types/message/payload/ProductCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ProductCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: ProductCreatedMessagePayload discriminatorValue: ProductCreated description: | - Generated after a successful [Create Product](ctp:api:endpoint:/{projectKey}/products:POST) request. + Generated after a successful [Create Product](/../api/projects/products#create-product) request. properties: productProjection: type: ProductProjection diff --git a/api-specs/api/types/message/payload/ProductSelectionCreatedMessagePayload.raml b/api-specs/api/types/message/payload/ProductSelectionCreatedMessagePayload.raml index 08eb4c84c..b78d6d230 100644 --- a/api-specs/api/types/message/payload/ProductSelectionCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ProductSelectionCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: ProductSelectionCreatedMessagePayload discriminatorValue: ProductSelectionCreated description: | - Generated after a successful [Create Product Selection](ctp:api:endpoint:/{projectKey}/product-selections:POST) request. + Generated after a successful [Create Product Selection](/../api/projects/product-selections#create-productselection) request. properties: productSelection: type: ProductSelection diff --git a/api-specs/api/types/message/payload/QuoteCreatedMessagePayload.raml b/api-specs/api/types/message/payload/QuoteCreatedMessagePayload.raml index 1f2411462..63e40b4ce 100644 --- a/api-specs/api/types/message/payload/QuoteCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/QuoteCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: QuoteCreatedMessagePayload discriminatorValue: QuoteCreated description: | - Generated after a successful [Create Quote](ctp:api:endpoint:/{projectKey}/quotes:POST) request. + Generated after a successful [Create Quote](/../api/projects/quotes#create-quote) request. properties: quote: type: Quote diff --git a/api-specs/api/types/message/payload/QuoteRequestCreatedMessagePayload.raml b/api-specs/api/types/message/payload/QuoteRequestCreatedMessagePayload.raml index 2a8c24bf5..dbffda4b5 100644 --- a/api-specs/api/types/message/payload/QuoteRequestCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/QuoteRequestCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: QuoteRequestCreatedMessagePayload discriminatorValue: QuoteRequestCreated description: | - Generated after a successful [Create QuoteRequest](ctp:api:endpoint:/{projectKey}/quote-requests:POST) request. + Generated after a successful [Create QuoteRequest](/../api/projects/quote-requests#create-quoterequest) request. properties: quoteRequest: type: QuoteRequest diff --git a/api-specs/api/types/message/payload/ReviewCreatedMessagePayload.raml b/api-specs/api/types/message/payload/ReviewCreatedMessagePayload.raml index 98e0cfa9d..4994f6354 100644 --- a/api-specs/api/types/message/payload/ReviewCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/ReviewCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: ReviewCreatedMessagePayload discriminatorValue: ReviewCreated description: | - Generated after a successful [Create Review](ctp:api:endpoint:/{projectKey}/reviews:POST) request. + Generated after a successful [Create Review](/../api/projects/reviews#create-review) request. properties: review: type: Review diff --git a/api-specs/api/types/message/payload/StagedQuoteCreatedMessagePayload.raml b/api-specs/api/types/message/payload/StagedQuoteCreatedMessagePayload.raml index 81ca68da4..bc936e624 100644 --- a/api-specs/api/types/message/payload/StagedQuoteCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/StagedQuoteCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: StagedQuoteCreatedMessagePayload discriminatorValue: StagedQuoteCreated description: | - Generated after a successful [Create StagedQuote](ctp:api:endpoint:/{projectKey}/staged-quotes:POST) request. + Generated after a successful [Create StagedQuote](/../api/projects/staged-quotes#create-stagedquote) request. properties: stagedQuote: type: StagedQuote diff --git a/api-specs/api/types/message/payload/StandalonePriceCreatedMessagePayload.raml b/api-specs/api/types/message/payload/StandalonePriceCreatedMessagePayload.raml index 9ea870e2d..b0a425943 100644 --- a/api-specs/api/types/message/payload/StandalonePriceCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/StandalonePriceCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: StandalonePriceCreatedMessagePayload discriminatorValue: StandalonePriceCreated description: | - Generated after a successful [Create StandalonePrice](ctp:api:endpoint:/{projectKey}/standalone-prices:POST) request. + Generated after a successful [Create StandalonePrice](/../api/projects/standalone-prices#create-standaloneprice) request. properties: standalonePrice: type: StandalonePrice diff --git a/api-specs/api/types/message/payload/StoreCreatedMessagePayload.raml b/api-specs/api/types/message/payload/StoreCreatedMessagePayload.raml index b24db4af2..448ec541d 100644 --- a/api-specs/api/types/message/payload/StoreCreatedMessagePayload.raml +++ b/api-specs/api/types/message/payload/StoreCreatedMessagePayload.raml @@ -5,7 +5,7 @@ type: MessagePayload displayName: StoreCreatedMessagePayload discriminatorValue: StoreCreated description: | - Generated after a successful [Create Store](ctp:api:endpoint:/{projectKey}/stores:POST) request. + Generated after a successful [Create Store](/../api/projects/stores#create-store) request. properties: name?: type: LocalizedString diff --git a/api-specs/api/types/message/payload/StoreDeletedMessagePayload.raml b/api-specs/api/types/message/payload/StoreDeletedMessagePayload.raml index 1daace82a..6d6c85fd9 100644 --- a/api-specs/api/types/message/payload/StoreDeletedMessagePayload.raml +++ b/api-specs/api/types/message/payload/StoreDeletedMessagePayload.raml @@ -5,4 +5,4 @@ type: MessagePayload displayName: StoreDeletedMessagePayload discriminatorValue: StoreDeleted description: | - Generated after a successful [Delete Store](/../api/projects/stores#delete-store) request. + Generated after a successful [Delete Store](/../api/projects/quote-requests#delete-quoterequest) request. diff --git a/api-specs/api/types/order/Order.raml b/api-specs/api/types/order/Order.raml index a4ff2460e..10b590b5a 100644 --- a/api-specs/api/types/order/Order.raml +++ b/api-specs/api/types/order/Order.raml @@ -78,6 +78,7 @@ properties: Sum of the `taxedPrice` field of [ShippingInfo](ctp:api:type:ShippingInfo) across all Shipping Methods. discountOnTotalPrice?: type: DiscountOnTotalPrice + (beta): true description: |- Discounts that apply on the total price of the Order. taxMode?: diff --git a/api-specs/api/types/order/ShipmentState.raml b/api-specs/api/types/order/ShipmentState.raml index a0e626630..2203a2b5a 100644 --- a/api-specs/api/types/order/ShipmentState.raml +++ b/api-specs/api/types/order/ShipmentState.raml @@ -3,7 +3,7 @@ (docs-uri): https://docs.commercetools.com/api/projects/orders#shipmentstate type: string description: | - Indicates the shipment status of the Order. + Indicates the shipment status of the Parcel. enum: - Shipped - Delivered diff --git a/api-specs/api/types/product-search/ProductPagedSearchResponse.raml b/api-specs/api/types/product-search/ProductPagedSearchResponse.raml new file mode 100644 index 000000000..8164e1615 --- /dev/null +++ b/api-specs/api/types/product-search/ProductPagedSearchResponse.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductPagedSearchResponse +type: object +properties: + total: + type: number + format: int64 + description: Total number of results matching the query. + offset?: + type: number + format: int32 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + limit?: + type: number + format: int32 + maximum: 100 + description: | + Number of [results requested](/../api/general-concepts#limit). + facets?: + type: ProductSearchFacetResult + description: Results of faceting. + hits: + type: ProductSearchHit[] + description: Actual results. diff --git a/api-specs/api/types/product-search/ProductSearchAndExpression.raml b/api-specs/api/types/product-search/ProductSearchAndExpression.raml new file mode 100644 index 000000000..e7d38d5d6 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchAndExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchCompoundExpression +displayName: ProductSearchAndExpression +properties: + and: + type: ProductSearchQuery[] diff --git a/api-specs/api/types/product-search/ProductSearchAnyValue.raml b/api-specs/api/types/product-search/ProductSearchAnyValue.raml new file mode 100644 index 000000000..387c07b9b --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchAnyValue.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchAnyValue +properties: + value: + type: any + language?: + type: Locale + caseInsensitive?: + type: boolean diff --git a/api-specs/api/types/product-search/ProductSearchAttributeType.raml b/api-specs/api/types/product-search/ProductSearchAttributeType.raml new file mode 100644 index 000000000..1e0e86898 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchAttributeType.raml @@ -0,0 +1,27 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchAttributeType +type: string +enum: + - boolean + - text + - ltext + - enum + - lenum + - number + - money + - date + - datetime + - time + - reference + - set_boolean + - set_text + - set_ltext + - set_enum + - set_lenum + - set_number + - set_money + - set_date + - set_datetime + - set_time + - set_reference diff --git a/api-specs/api/types/product-search/ProductSearchCompoundExpression.raml b/api-specs/api/types/product-search/ProductSearchCompoundExpression.raml new file mode 100644 index 000000000..f1f9a2ba8 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchCompoundExpression.raml @@ -0,0 +1,4 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQuery +displayName: ProductSearchCompoundExpression diff --git a/api-specs/api/types/product-search/ProductSearchDateRangeExpression.raml b/api-specs/api/types/product-search/ProductSearchDateRangeExpression.raml new file mode 100644 index 000000000..055a9f99d --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchDateRangeExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchDateRangeExpression +properties: + range: + type: ProductSearchDateRangeValue diff --git a/api-specs/api/types/product-search/ProductSearchDateRangeValue.raml b/api-specs/api/types/product-search/ProductSearchDateRangeValue.raml new file mode 100644 index 000000000..d772a72c4 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchDateRangeValue.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchDateRangeValue +properties: + gte?: + type: date-only + gt?: + type: date-only + lte?: + type: date-only + lt?: + type: date-only diff --git a/api-specs/api/types/product-search/ProductSearchDateTimeRangeExpression.raml b/api-specs/api/types/product-search/ProductSearchDateTimeRangeExpression.raml new file mode 100644 index 000000000..77d8651c1 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchDateTimeRangeExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchDateTimeRangeExpression +properties: + range: + type: ProductSearchDateTimeRangeValue diff --git a/api-specs/api/types/product-search/ProductSearchDateTimeRangeValue.raml b/api-specs/api/types/product-search/ProductSearchDateTimeRangeValue.raml new file mode 100644 index 000000000..59aad2707 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchDateTimeRangeValue.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchDateTimeRangeValue +properties: + gte?: + type: datetime + gt?: + type: datetime + lte?: + type: datetime + lt?: + type: datetime diff --git a/api-specs/api/types/product-search/ProductSearchErrorResponse.raml b/api-specs/api/types/product-search/ProductSearchErrorResponse.raml new file mode 100644 index 000000000..1f3b1bd33 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchErrorResponse.raml @@ -0,0 +1,15 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ErrorResponse +displayName: ProductSearchErrorResponse +properties: + statusCode: + description: The http status code of the response. + type: integer + message: + description: Describes the error. + type: string + errors?: + description: | + The errors that caused this error response. + type: ErrorObject[] diff --git a/api-specs/api/types/product-search/ProductSearchExactExpression.raml b/api-specs/api/types/product-search/ProductSearchExactExpression.raml new file mode 100644 index 000000000..5d6ae10b3 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchExactExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchExactExpression +properties: + exact: + type: ProductSearchAnyValue diff --git a/api-specs/api/types/product-search/ProductSearchExistsExpression.raml b/api-specs/api/types/product-search/ProductSearchExistsExpression.raml new file mode 100644 index 000000000..c6e03f2d9 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchExistsExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchExistsExpression +properties: + exists: + type: ProductSearchExistsValue diff --git a/api-specs/api/types/product-search/ProductSearchExistsValue.raml b/api-specs/api/types/product-search/ProductSearchExistsValue.raml new file mode 100644 index 000000000..f96e93bbc --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchExistsValue.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchExistsValue +properties: + language?: + type: Locale diff --git a/api-specs/api/types/product-search/ProductSearchFilterExpression.raml b/api-specs/api/types/product-search/ProductSearchFilterExpression.raml new file mode 100644 index 000000000..85e1b6a55 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchFilterExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchCompoundExpression +displayName: ProductSearchFilterExpression +properties: + filter: + type: ProductSearchQueryExpression[] diff --git a/api-specs/api/types/product-search/ProductSearchFullTextExpression.raml b/api-specs/api/types/product-search/ProductSearchFullTextExpression.raml new file mode 100644 index 000000000..be4e81940 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchFullTextExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchFullTextExpression +properties: + fullText: + type: ProductSearchFullTextValue diff --git a/api-specs/api/types/product-search/ProductSearchFullTextValue.raml b/api-specs/api/types/product-search/ProductSearchFullTextValue.raml new file mode 100644 index 000000000..7a1095bd6 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchFullTextValue.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchFullTextValue +properties: + value: + type: any + language?: + type: Locale + mustMatch?: + type: ProductSearchMatchType diff --git a/api-specs/api/types/product-search/ProductSearchHit.raml b/api-specs/api/types/product-search/ProductSearchHit.raml new file mode 100644 index 000000000..3ed7fa13f --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchHit.raml @@ -0,0 +1,15 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchHit +type: object +properties: + id: + (identifier): true + type: string + description: Unique identifier of the Product. + productProjection?: + type: ProductProjection + description: Contains Product Projection data for Products matching the `projection` field in the Search Products request. + matchingVariants?: + type: ProductSearchMatchingVariant[] + description: Contains a list of identifiers (id and SKU) of the matching variants. diff --git a/api-specs/api/types/product-search/ProductSearchLongRangeExpression.raml b/api-specs/api/types/product-search/ProductSearchLongRangeExpression.raml new file mode 100644 index 000000000..0c8f8594e --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchLongRangeExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchLongRangeExpression +properties: + range: + type: ProductSearchLongRangeValue diff --git a/api-specs/api/types/product-search/ProductSearchLongRangeValue.raml b/api-specs/api/types/product-search/ProductSearchLongRangeValue.raml new file mode 100644 index 000000000..c110021f0 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchLongRangeValue.raml @@ -0,0 +1,17 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchLongRangeValue +properties: + gte?: + type: number + format: int64 + gt?: + type: number + format: int64 + lte?: + type: number + format: int64 + lt?: + type: number + format: int64 diff --git a/api-specs/api/types/product-search/ProductSearchMatchType.raml b/api-specs/api/types/product-search/ProductSearchMatchType.raml new file mode 100644 index 000000000..833af05fe --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchMatchType.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch + +type: string +enum: + - any + - all diff --git a/api-specs/api/types/product-search/ProductSearchMatchingVariant.raml b/api-specs/api/types/product-search/ProductSearchMatchingVariant.raml new file mode 100644 index 000000000..eebfdb131 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchMatchingVariant.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchMatchingVariant +type: object +properties: + id: + type: number + format: int32 + description: Unique identifier of the variant. + sku?: + type: string + description: SKU of the matching variant. diff --git a/api-specs/api/types/product-search/ProductSearchNotExpression.raml b/api-specs/api/types/product-search/ProductSearchNotExpression.raml new file mode 100644 index 000000000..efa8df8aa --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchNotExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchCompoundExpression +displayName: ProductSearchNotExpression +properties: + not: + type: ProductSearchQuery[] diff --git a/api-specs/api/types/product-search/ProductSearchNumberRangeExpression.raml b/api-specs/api/types/product-search/ProductSearchNumberRangeExpression.raml new file mode 100644 index 000000000..1b751f542 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchNumberRangeExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchNumberRangeExpression +properties: + range: + type: ProductSearchNumberRangeValue diff --git a/api-specs/api/types/product-search/ProductSearchNumberRangeValue.raml b/api-specs/api/types/product-search/ProductSearchNumberRangeValue.raml new file mode 100644 index 000000000..ca343914a --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchNumberRangeValue.raml @@ -0,0 +1,17 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchNumberRangeValue +properties: + gte?: + type: number + format: float + gt?: + type: number + format: float + lte?: + type: number + format: float + lt?: + type: number + format: float diff --git a/api-specs/api/types/product-search/ProductSearchOrExpression.raml b/api-specs/api/types/product-search/ProductSearchOrExpression.raml new file mode 100644 index 000000000..bfce52b0e --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchOrExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchCompoundExpression +displayName: ProductSearchOrExpression +properties: + or: + type: ProductSearchQuery[] diff --git a/api-specs/api/types/product-search/ProductSearchPrefixExpression.raml b/api-specs/api/types/product-search/ProductSearchPrefixExpression.raml new file mode 100644 index 000000000..bb7c71a6a --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchPrefixExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchPrefixExpression +properties: + prefix: + type: ProductSearchAnyValue diff --git a/api-specs/api/types/product-search/ProductSearchProjectionParams.raml b/api-specs/api/types/product-search/ProductSearchProjectionParams.raml new file mode 100644 index 000000000..2000a91d5 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchProjectionParams.raml @@ -0,0 +1,42 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchProjectionParams +properties: + expand?: + type: Expansion + description: | + Expands a `value` of type [Reference](ctp:api:type:Reference). + In case the referenced object does not exist, the API returns the non-expanded reference. + staged?: + type: boolean + description: | + Set to `true` to retrieve the [staged](ctp:api:type:CurrentStaged) Product Projection + priceCurrency?: + type: CurrencyCode + description: | + The currency used for [Price selection](/projects/products#price-selection). + priceCountry?: + type: CountryCode + description: | + The country used for [Price selection](/projects/products#price-selection). Can only be used **in conjunction with** the `priceCurrency` parameter. + priceCustomerGroup?: + type: string + description: | + `id` of an existing [CustomerGroup](ctp:api:type:CustomerGroup) used for [Price selection](ctp:api:type:ProductPriceSelection). Can only be used **in conjunction with** the `priceCurrency` parameter. + priceChannel?: + type: string + description: | + `id` of an existing [Channel](ctp:api:type:Channel) used for [Price selection](ctp:api:type:ProductPriceSelection). Can only be used **in conjunction with** the `priceCurrency` parameter. + localeProjection?: + type: Locale[] + description: | + Used for [locale-based projection](ctp:api:type:ProductProjectionLocales). + storeProjection?: + type: string + description: | + `key` of an existing [Store](ctp:api:type:Store). + If the Store has defined some languages, countries, distribution or supply Channels, + they are used for projections based on [locale](ctp:api:type:ProductProjectionLocales), [price](ctp:api:type:ProductProjectionPrices) + and [inventory](ctp:api:type:ProductProjectionInventoryEntries). + If the Store has defined [Product Selections](ctp:api:type:ProductSelection), they have no effect on the results of this query. diff --git a/api-specs/api/types/product-search/ProductSearchQuery.raml b/api-specs/api/types/product-search/ProductSearchQuery.raml new file mode 100644 index 000000000..07b17e313 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchQuery.raml @@ -0,0 +1,4 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchQuery diff --git a/api-specs/api/types/product-search/ProductSearchQueryExpression.raml b/api-specs/api/types/product-search/ProductSearchQueryExpression.raml new file mode 100644 index 000000000..8fd727b58 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchQueryExpression.raml @@ -0,0 +1,4 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQuery +displayName: ProductSearchQueryExpression diff --git a/api-specs/api/types/product-search/ProductSearchQueryExpressionValue.raml b/api-specs/api/types/product-search/ProductSearchQueryExpressionValue.raml new file mode 100644 index 000000000..ea17ecbe6 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchQueryExpressionValue.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchQueryExpressionValue +properties: + field: + type: string + boost?: + format: double + type: number + attributeType?: + type: ProductSearchAttributeType diff --git a/api-specs/api/types/product-search/ProductSearchRequest.raml b/api-specs/api/types/product-search/ProductSearchRequest.raml new file mode 100644 index 000000000..3e83d4dbe --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchRequest.raml @@ -0,0 +1,36 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchRequest +# example: !include ../../examples/ProductSearch/product-search-request.example.json +properties: + query?: + type: ProductSearchQuery + description: The Product search query. + postFilter?: + type: ProductSearchQuery + sort?: + type: ProductSearchSorting[] + description: Controls how results to your query are sorted. If not provided, the results are sorted by relevance in descending order. + limit?: + type: number + format: int32 + default: 20 + maximum: 100 + description: The maximum number of search results to be returned. + offset?: + type: number + format: int32 + default: 0 + maximum: 10000 + description: The number of search results to be skipped in the response for pagination. + markMatchingVariants?: + type: boolean + default: false + description: The search can return Products where not all Product Variants match the search criteria. If `true`, the response will include a field called `matchingVariants` that contains the `sku` of Product Variants that match the search query. If the query does not specify any variant-level criteria, `matchingVariants` will be null signifying that all Product Variants are a match. + + projection?: + type: ProductSearchProjectionParams + description: Contains Product Projection query parameters. Used to fetch matching Product Projection data of products matching the search query. If not included, Product Projection integration is not used. + facets?: + type: ProductSearchFacetExpression[] diff --git a/api-specs/api/types/product-search/ProductSearchSortMode.raml b/api-specs/api/types/product-search/ProductSearchSortMode.raml new file mode 100644 index 000000000..fed62a0ec --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSortMode.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch + +type: string +enum: + - min + - max + - avg + - sum diff --git a/api-specs/api/types/product-search/ProductSearchSortOrder.raml b/api-specs/api/types/product-search/ProductSearchSortOrder.raml new file mode 100644 index 000000000..59e8036c8 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSortOrder.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 DataType +(package): ProductSearch + +type: string +enum: + - asc + - desc +(enumDescriptions): + asc: Sort results in ascending order. + desc: Sort results in descending order. diff --git a/api-specs/api/types/product-search/ProductSearchSorting.raml b/api-specs/api/types/product-search/ProductSearchSorting.raml new file mode 100644 index 000000000..8657c234f --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSorting.raml @@ -0,0 +1,20 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchSorting +properties: + field: + type: string + language?: + type: Locale + order: + type: ProductSearchSortOrder + mode?: + type: ProductSearchSortMode + attributeType?: + type: ProductSearchAttributeType + filter?: + type: ProductSearchQueryExpression + # TODO: is this needed? What are the use cases? + internal?: + type: boolean diff --git a/api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpression.raml b/api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpression.raml new file mode 100644 index 000000000..aebb163ff --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchSuggestionExpression +displayName: ProductSearchSuggestionCompletionExpression +properties: + completion: + type: ProductSearchSuggestionCompletionExpressionValue diff --git a/api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpressionValue.raml b/api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpressionValue.raml new file mode 100644 index 000000000..01ee376f5 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSuggestionCompletionExpressionValue.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchSuggestionExpressionValue +displayName: ProductSearchSuggestionCompletionExpressionValue +properties: + name: + type: string + field: + type: string + prefix: + type: string diff --git a/api-specs/api/types/product-search/ProductSearchSuggestionExpression.raml b/api-specs/api/types/product-search/ProductSearchSuggestionExpression.raml new file mode 100644 index 000000000..08747b923 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSuggestionExpression.raml @@ -0,0 +1,4 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchSuggestionExpression diff --git a/api-specs/api/types/product-search/ProductSearchSuggestionExpressionValue.raml b/api-specs/api/types/product-search/ProductSearchSuggestionExpressionValue.raml new file mode 100644 index 000000000..4f5c08ce5 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchSuggestionExpressionValue.raml @@ -0,0 +1,4 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchSuggestionExpressionValue diff --git a/api-specs/api/types/product-search/ProductSearchTimeRangeExpression.raml b/api-specs/api/types/product-search/ProductSearchTimeRangeExpression.raml new file mode 100644 index 000000000..03700f4ca --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchTimeRangeExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchTimeRangeExpression +properties: + range: + type: ProductSearchTimeRangeValue diff --git a/api-specs/api/types/product-search/ProductSearchTimeRangeValue.raml b/api-specs/api/types/product-search/ProductSearchTimeRangeValue.raml new file mode 100644 index 000000000..a6feb2641 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchTimeRangeValue.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpressionValue +displayName: ProductSearchTimeRangeValue +properties: + gte?: + type: time-only + gt?: + type: time-only + lte?: + type: time-only + lt?: + type: time-only diff --git a/api-specs/api/types/product-search/ProductSearchWildCardExpression.raml b/api-specs/api/types/product-search/ProductSearchWildCardExpression.raml new file mode 100644 index 000000000..a63b71dd1 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchWildCardExpression.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchQueryExpression +displayName: ProductSearchWildCardExpression +properties: + wildcard: + type: ProductSearchAnyValue diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetBucketResult.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetBucketResult.raml new file mode 100644 index 000000000..254dc3dd0 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetBucketResult.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetBucketResult +type: ProductSearchFacetResultExpression +properties: + buckets: + type: ProductSearchFacetResultBucket[] + description: Contains results of the facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml new file mode 100644 index 000000000..fa64aa90e --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchFacetExpression +displayName: ProductSearchFacetCountExpression +properties: + count: + type: ProductSearchFacetCountValue + description: Definition of the count facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml new file mode 100644 index 000000000..a44b890b2 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml @@ -0,0 +1,18 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetCountValue +properties: + name: + type: string + scope?: + type: ProductSearchFacetEnumScope + description: Whether the facet must consider only the Products resulting from the search (`query`) or all the Products (`all`). + default: query + filter?: + type: ProductSearchQuery + description: Additional filtering expression to apply to the search result before calculating the facet. + level?: + type: ProductSearchFacetEnumCount + default: products + description: Specify whether to count Products (`products`) or Product Variants (`variants`). diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml new file mode 100644 index 000000000..9be792f1a --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 DataType +(package): ProductSearch + +type: string +enum: + - count + - key +(enumDescriptions): + count: Sort buckets by the count value. + key: Sort buckets by the bucket key. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml new file mode 100644 index 000000000..a95857dc4 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetDistinctBucketSortExpression +properties: + by: + type: ProductSearchFacetDistinctBucketSortBy + description: Defines whether to sort by bucket count or key. + order: + type: ProductSearchSortOrder + description: Defines the sorting order. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml new file mode 100644 index 000000000..cf81dfe8e --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchFacetExpression +displayName: ProductSearchFacetDistinctExpression +properties: + distinct: + type: ProductSearchFacetDistinctValue + description: Definition of the distinct facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctStartsWith.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctStartsWith.raml new file mode 100644 index 000000000..fceaeb059 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctStartsWith.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetDistinctStartsWith +properties: + value: + type: string + description: Text to match against the start of the target value. + caseInsensitive: + type: boolean + description: If `true`, the `value` is not case sensitive. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml new file mode 100644 index 000000000..f2ae56a4d --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml @@ -0,0 +1,43 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetDistinctValue +properties: + name: + type: string + description: Name of the count facet. + scope?: + type: ProductSearchFacetEnumScope + default: query + description: Whether the facet must consider only the Products resulting from the search (`query`) or all the Products (`all`). + filter?: + type: ProductSearchQuery + description: Additional filtering expression to apply to the search result before calculating the facet. + count?: + type: ProductSearchFacetEnumCount + default: products + description: Specify whether to count Products (`products`) or Product Variants (`variants`). + field: + type: string + description: The field to facet on. Can be any searchable field on the [Product](ctp:api:type:Product). + includes?: + type: string[] + description: Specify which bucket keys the facets results should include. + startsWith?: + type: ProductSearchFacetDistinctStartsWith + description: Filter bucket keys in the facet results by the start of the key. + sort?: + type: ProductSearchFacetDistinctBucketSortExpression + description: Define how the buckets are sorted. + size?: + type: number + format: int32 + description: Maximum number of buckets to return. + language?: + type: Locale + attributeType?: + type: ProductSearchAttributeType + description: If the `field` is an Attribute, this must be the Attribute type. + missing?: + type: string + description: Default value to use if the specified field is not present on some Products. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetEnumCount.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetEnumCount.raml new file mode 100644 index 000000000..e6f1b10bd --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetEnumCount.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetEnumCount +type: string +enum: + - products + - variants +(enumDescriptions): + products: The query should count Products. + variants: The query should count Product Variants. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetEnumScope.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetEnumScope.raml new file mode 100644 index 000000000..bcd9a753b --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetEnumScope.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetEnumScope +type: string +enum: + - all + - query +(enumDescriptions): + all: Count all Products (or Product Variants) without considering the search query. + query: Only count the Products (or Product Variants) that matches the search query. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml new file mode 100644 index 000000000..ce33d3da0 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml @@ -0,0 +1,4 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetExpression diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml new file mode 100644 index 000000000..e25c53b17 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchFacetExpression +displayName: ProductSearchFacetRangesExpression +properties: + ranges: + type: ProductSearchFacetRangesValue + description: Definition of the ranges facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml new file mode 100644 index 000000000..4740863f0 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml @@ -0,0 +1,15 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetRangesFacetRange +description: Values for `from` and `to` must be a number or [DateTime](ctp:api:type:DateTime). +properties: + from?: + type: any + description: Starting value of the bucket (inclusive). + to?: + type: any + description: Ending value of the bucket (non-inclusive). + key?: + type: string + description: Key to assign the bucket. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml new file mode 100644 index 000000000..3d876eb62 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml @@ -0,0 +1,30 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +displayName: ProductSearchFacetRangesValue +properties: + name: + type: string + description: Name to assign the ranges facet. + scope?: + type: ProductSearchFacetEnumScope + default: query + description: Whether the facet must consider only the Products resulting from the search (`query`) or all the Products (`all`). + filter?: + type: ProductSearchQuery + description: Additional filtering expression to apply to the search result before calculating the facet. + count?: + type: ProductSearchFacetEnumCount + default: products + description: Specify whether to count Products (`products`) or Product Variants (`variants`). + field: + type: string + description: The field to facet on. Can be any searchable field on the [Product](ctp:api:type:Product). + ranges: + type: ProductSearchFacetRangesFacetRange[] + description: Define ranges for the facet. + language?: + type: Locale + attributeType?: + type: ProductSearchAttributeType + description: If the `field` is an Attribute, this must be the Attribute type. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml new file mode 100644 index 000000000..e4ad217ca --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResult +type: object +properties: + results: + type: ProductSearchFacetResultExpression[] + description: Results of the facets. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml new file mode 100644 index 000000000..577c0b54e --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResultBucket +type: object +properties: + key: + type: string + description: Key of the bucket. + count: + type: number + format: int32 + description: Number of values in the bucket. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml new file mode 100644 index 000000000..bdf337f4d --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResultCount +type: ProductSearchFacetResultExpression +properties: + value: + type: number + format: int64 + description: Number of Products (or Product Variants) matching the query. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResultExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResultExpression.raml new file mode 100644 index 000000000..23af6937d --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResultExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResultExpression +type: object +properties: + name: + type: string + description: Name of the facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml new file mode 100644 index 000000000..e1269ae57 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml @@ -0,0 +1,7 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetScope +type: string +enum: + - all + - query diff --git a/api-specs/api/types/product-type/AttributeDefinition.raml b/api-specs/api/types/product-type/AttributeDefinition.raml index 939372f90..304beddaa 100644 --- a/api-specs/api/types/product-type/AttributeDefinition.raml +++ b/api-specs/api/types/product-type/AttributeDefinition.raml @@ -41,5 +41,5 @@ properties: Which exact features are available with this flag depends on the specific [AttributeType](ctp:api:type:AttributeType). The maximum size of a searchable field is **restricted** by the [Field content size limit](/../api/limits#field-content-size). - This constraint is enforced at both [Product creation](ctp:api:endpoint:/{projectKey}/products:POST) and [Product update](/../api/projects/products#update-product). + This constraint is enforced at both [Product creation](/../api/projects/products#create-product) and [Product update](/../api/projects/products#update-product). If the length of the input exceeds the maximum size, an [InvalidField](ctp:api:type:InvalidFieldError) error is returned. diff --git a/api-specs/api/types/product-type/AttributeReferenceTypeId.raml b/api-specs/api/types/product-type/AttributeReferenceTypeId.raml index 16d726e87..06f7ce231 100644 --- a/api-specs/api/types/product-type/AttributeReferenceTypeId.raml +++ b/api-specs/api/types/product-type/AttributeReferenceTypeId.raml @@ -6,10 +6,7 @@ type: string description: | Name of the resource type that the value should reference. Supported resource type identifiers: enum: - - associate-role - - business-unit - cart - - cart-discount - category - channel - customer @@ -22,14 +19,8 @@ enum: - state - zone (enumDescriptions): - associate-role: | - References a [AssociateRole](ctp:api:type:AssociateRole). - business-unit: | - References a [BusinessUnit](ctp:api:type:BusinessUnit). cart: | References a [Cart](ctp:api:type:Cart). - cart-discount: | - References a [CartDiscount](ctp:api:type:CartDiscount). category: | References a [Category](ctp:api:type:Category). channel: | diff --git a/api-specs/api/types/product/updates/ProductUnpublishAction.raml b/api-specs/api/types/product/updates/ProductUnpublishAction.raml index 3d7a75ef2..bc4d87ee2 100644 --- a/api-specs/api/types/product/updates/ProductUnpublishAction.raml +++ b/api-specs/api/types/product/updates/ProductUnpublishAction.raml @@ -6,6 +6,6 @@ displayName: ProductUnpublishAction discriminatorValue: unpublish example: !include ../../../examples/Product/ProductUnpublishAction.json description: | - Removes the current [projection](/../api/projects/productProjections#current--staged) of the Product. The staged projection is unaffected. To retrieve unpublished Products, the `staged` parameter must be set to `false` when [querying](ctp:api:endpoint:/{projectKey}/product-projections:GET)/[searching](/projects/products-search#product-projection-search) Product Projections. Produces the [ProductUnpublished](ctp:api:type:ProductUnpublishedMessage) Message. + Removes the current [projection](/../api/projects/productProjections#current--staged) of the Product. The staged projection is unaffected. To retrieve unpublished Products, the `staged` parameter must be set to `false` when [querying](/projects/productProjections#query-productprojections)/[searching](/projects/products-search#product-projection-search) Product Projections. Produces the [ProductUnpublished](ctp:api:type:ProductUnpublishedMessage) Message. Unpublished Products cannot be added to a Cart. However, if a Cart contains Line Items for Products that were added before the Product was unpublished, the Cart is unaffected and can still be used to create an Order. To prevent this, in addition to unpublishing the Product you should remove the Prices from the Product using [Remove Price](ctp:api:type:ProductRemovePriceAction) for Embedded Prices or [Delete StandalonePrice](/projects/standalone-prices#delete-standaloneprice) for Standalone Prices. diff --git a/api-specs/api/types/project/OrderSearchStatus.raml b/api-specs/api/types/project/OrderSearchStatus.raml index e693d7909..36b59525f 100644 --- a/api-specs/api/types/project/OrderSearchStatus.raml +++ b/api-specs/api/types/project/OrderSearchStatus.raml @@ -5,7 +5,7 @@ type: string displayName: OrderSearchStatus description: Specifies the status of the [Order Search](/../api/projects/order-search) index. (enumDescriptions): - Activated: indicates that the [Search Orders](ctp:api:endpoint:/{projectKey}/orders/search:POST) endpoint is fully operational. + Activated: indicates that the [Search Orders](/../api/projects/order-search#search-orders) endpoint is fully operational. Deactivated: indicates that the Order Search feature is currently not active, but can be activated by [update action](#change-order-search-status). enum: - Activated diff --git a/api-specs/api/types/project/ProductSearchStatus.raml b/api-specs/api/types/project/ProductSearchStatus.raml new file mode 100644 index 000000000..e0046b18a --- /dev/null +++ b/api-specs/api/types/project/ProductSearchStatus.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): Project +type: string +(beta): true +displayName: ProductSearchStatus +description: Specifies the status of the [Product Search](/../api/projects/product-search) index. +(enumDescriptions): + Activated: indicates that the [Search Products](/../api/projects/product-search#search-products) endpoint is fully operational. + Deactivated: indicates that the Product Search feature is currently not active, but can be activated by [update action](#change-product-search-status). +enum: + - Activated + - Deactivated diff --git a/api-specs/api/types/project/SearchIndexingConfiguration.raml b/api-specs/api/types/project/SearchIndexingConfiguration.raml index 602c0fbca..0a3447962 100644 --- a/api-specs/api/types/project/SearchIndexingConfiguration.raml +++ b/api-specs/api/types/project/SearchIndexingConfiguration.raml @@ -8,6 +8,10 @@ properties: products?: type: SearchIndexingConfigurationValues description: Configuration for the [Product Projection Search](/../api/projects/products-search) and [Product Suggestions](/../api/projects/products-suggestions) endpoints. + productsNew?: + type: SearchIndexingConfigurationValues + (beta): true + description: Configuration for the [Product Search](/../api/projects/product-search) feature. orders?: type: SearchIndexingConfigurationValues (beta): true diff --git a/api-specs/api/types/project/updates/ProjectChangeProductSearchStatusAction.raml b/api-specs/api/types/project/updates/ProjectChangeProductSearchStatusAction.raml new file mode 100644 index 000000000..24f1442c4 --- /dev/null +++ b/api-specs/api/types/project/updates/ProjectChangeProductSearchStatusAction.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): Project +(docs-uri): https://docs.commercetools.com/api/projects/project#change-product-search-status +type: ProjectUpdateAction +(beta): true +displayName: ProjectChangeProductSearchStatusAction +discriminatorValue: changeProductSearchStatus +example: !include ../../../examples/Project/ProjectChangeProductSearchStatusAction.json +properties: + status: + type: ProductSearchStatus + description: Activates or deactivates the [Product Search](/../api/projects/product-search) feature. Activation will trigger building a search index for the Products in the Project. diff --git a/api-specs/api/types/tax-category/TaxRate.raml b/api-specs/api/types/tax-category/TaxRate.raml index 00dedc637..c210e6d80 100644 --- a/api-specs/api/types/tax-category/TaxRate.raml +++ b/api-specs/api/types/tax-category/TaxRate.raml @@ -26,7 +26,7 @@ properties: minimum: 0 maximum: 1 description: | - Tax rate. If subrates are used, the amount is the sum of all rates in `subRates`. + Tax rate. If subrates are used, the amount must be the sum of all subrates. includedInPrice: type: boolean description: | @@ -42,4 +42,4 @@ properties: subRates?: type: SubRate[] description: | - Used to calculate the [taxPortions](/../api/projects/carts#taxedprice) field in a Cart or Order. It is useful if the total tax of a country (such as the US) is a combination of multiple taxes (such as state and local taxes). The total of all subrates equals the TaxRate `amount`. + Used to calculate the [taxPortions](/../api/projects/carts#taxedprice) field in a Cart or Order. It is useful if the total tax of a country (such as the US) is a combination of multiple taxes (such as state and local taxes). diff --git a/api-specs/api/types/tax-category/TaxRateDraft.raml b/api-specs/api/types/tax-category/TaxRateDraft.raml index f4ee512a4..01052d775 100644 --- a/api-specs/api/types/tax-category/TaxRateDraft.raml +++ b/api-specs/api/types/tax-category/TaxRateDraft.raml @@ -29,7 +29,7 @@ properties: subRates?: type: SubRate[] description: | - Used to calculate the [taxPortions](/../api/projects/carts#taxedprice) field in a Cart or Order. It is useful if the total tax of a country (such as the US) is a combination of multiple taxes (such as state and local taxes). The total of all subrates must equal the TaxRate `amount`. + Used to calculate the [taxPortions](/../api/projects/carts#taxedprice) field in a Cart or Order. It is useful if the total tax of a country (such as the US) is a combination of multiple taxes (such as state and local taxes). key?: type: string description: | diff --git a/api-specs/api/types/type/CustomFieldReferenceValue.raml b/api-specs/api/types/type/CustomFieldReferenceValue.raml index 8d90356e2..a356fb0e3 100644 --- a/api-specs/api/types/type/CustomFieldReferenceValue.raml +++ b/api-specs/api/types/type/CustomFieldReferenceValue.raml @@ -5,7 +5,6 @@ type: string description: | Defines which resource type a [CustomFieldReferenceType](ctp:api:type:CustomFieldReferenceType) can reference. enum: - - approval-flow - associate-role - business-unit - cart @@ -21,8 +20,6 @@ enum: - shipping-method - zone (enumDescriptions): - approval-flow: | - [ApprovalFlow](ctp:api:type:ApprovalFlow) associate-role: | [AssociateRole](ctp:api:type:AssociateRole) business-unit: | diff --git a/api-specs/api/types/type/ResourceTypeId.raml b/api-specs/api/types/type/ResourceTypeId.raml index 788e7a154..93b992dcd 100644 --- a/api-specs/api/types/type/ResourceTypeId.raml +++ b/api-specs/api/types/type/ResourceTypeId.raml @@ -7,7 +7,6 @@ description: | enum: - address - asset - - approval-flow - associate-role - business-unit - cart-discount @@ -42,8 +41,6 @@ enum: [Address](ctp:api:type:Address) on [BusinessUnit](ctp:api:type:BusinessUnit), [Cart](ctp:api:type:Cart), [Order](ctp:api:type:Order), [OrderEdit](ctp:api:type:OrderEdit), [Customer](ctp:api:type:Customer), and [Channel](ctp:api:type:Channel) asset: | [Asset](ctp:api:type:Asset) on [Category](ctp:api:type:Category) and [ProductVariant](ctp:api:type:ProductVariant) - approval-flow: | - [ApprovalFlow](ctp:api:type:ApprovalFlow) associate-role: | [AssociateRole](ctp:api:type:AssociateRole) business-unit: | diff --git a/api-specs/api/types/types.raml b/api-specs/api/types/types.raml index 0983f73db..be3053d25 100644 --- a/api-specs/api/types/types.raml +++ b/api-specs/api/types/types.raml @@ -10,8 +10,6 @@ ApprovalFlowApproveAction: !include approval-flow/ApprovalFlowApproveAction.raml ApprovalFlowPagedQueryResponse: !include approval-flow/ApprovalFlowPagedQueryResponse.raml ApprovalFlowRejectAction: !include approval-flow/ApprovalFlowRejectAction.raml ApprovalFlowRejection: !include approval-flow/ApprovalFlowRejection.raml -ApprovalFlowSetCustomFieldAction: !include approval-flow/ApprovalFlowSetCustomFieldAction.raml -ApprovalFlowSetCustomTypeAction: !include approval-flow/ApprovalFlowSetCustomTypeAction.raml ApprovalFlowStatus: !include approval-flow/ApprovalFlowStatus.raml ApprovalFlowUpdate: !include approval-flow/ApprovalFlowUpdate.raml ApprovalFlowUpdateAction: !include approval-flow/ApprovalFlowUpdateAction.raml @@ -531,6 +529,7 @@ MissingRoleOnChannelError: !include error/MissingRoleOnChannelError.raml MissingTaxRateForCountryError: !include error/MissingTaxRateForCountryError.raml MoneyOverflowError: !include error/MoneyOverflowError.raml NoMatchingProductDiscountFoundError: !include error/NoMatchingProductDiscountFoundError.raml +NotEnabledError: !include error/NotEnabledError.raml ObjectNotFoundError: !include error/ObjectNotFoundError.raml OutOfStockError: !include error/OutOfStockError.raml OverCapacityError: !include error/OverCapacityError.raml @@ -610,6 +609,7 @@ GraphQLMissingRoleOnChannelError: !include error/graphql/GraphQLMissingRoleOnCha GraphQLMissingTaxRateForCountryError: !include error/graphql/GraphQLMissingTaxRateForCountryError.raml GraphQLMoneyOverflowError: !include error/graphql/GraphQLMoneyOverflowError.raml GraphQLNoMatchingProductDiscountFoundError: !include error/graphql/GraphQLNoMatchingProductDiscountFoundError.raml +GraphQLNotEnabledError: !include error/graphql/GraphQLNotEnabledError.raml GraphQLObjectNotFoundError: !include error/graphql/GraphQLObjectNotFoundError.raml GraphQLOutOfStockError: !include error/graphql/GraphQLOutOfStockError.raml GraphQLOverCapacityError: !include error/graphql/GraphQLOverCapacityError.raml @@ -858,11 +858,6 @@ BusinessUnitStoreAddedMessage: !include message/BusinessUnitStoreAddedMessage.ra BusinessUnitStoreModeChangedMessage: !include message/BusinessUnitStoreModeChangedMessage.raml BusinessUnitStoreRemovedMessage: !include message/BusinessUnitStoreRemovedMessage.raml BusinessUnitStoresSetMessage: !include message/BusinessUnitStoresSetMessage.raml -CartDiscountCreatedMessage: !include message/CartDiscountCreatedMessage.raml -CartDiscountDeletedMessage: !include message/CartDiscountDeletedMessage.raml -CartDiscountStoreAddedMessage: !include message/CartDiscountStoreAddedMessage.raml -CartDiscountStoreRemovedMessage: !include message/CartDiscountStoreRemovedMessage.raml -CartDiscountStoresSetMessage: !include message/CartDiscountStoresSetMessage.raml CategoryCreatedMessage: !include message/CategoryCreatedMessage.raml CategorySlugChangedMessage: !include message/CategorySlugChangedMessage.raml ContainerAndKey: !include message/ContainerAndKey.raml @@ -1097,11 +1092,6 @@ BusinessUnitStoreAddedMessagePayload: !include message/payload/BusinessUnitStore BusinessUnitStoreModeChangedMessagePayload: !include message/payload/BusinessUnitStoreModeChangedMessagePayload.raml BusinessUnitStoreRemovedMessagePayload: !include message/payload/BusinessUnitStoreRemovedMessagePayload.raml BusinessUnitStoresSetMessagePayload: !include message/payload/BusinessUnitStoresSetMessagePayload.raml -CartDiscountCreatedMessagePayload: !include message/payload/CartDiscountCreatedMessagePayload.raml -CartDiscountDeletedMessagePayload: !include message/payload/CartDiscountDeletedMessagePayload.raml -CartDiscountStoreAddedMessagePayload: !include message/payload/CartDiscountStoreAddedMessagePayload.raml -CartDiscountStoreRemovedMessagePayload: !include message/payload/CartDiscountStoreRemovedMessagePayload.raml -CartDiscountStoresSetMessagePayload: !include message/payload/CartDiscountStoresSetMessagePayload.raml CategoryCreatedMessagePayload: !include message/payload/CategoryCreatedMessagePayload.raml CategorySlugChangedMessagePayload: !include message/payload/CategorySlugChangedMessagePayload.raml CustomLineItemStateTransitionMessagePayload: !include message/payload/CustomLineItemStateTransitionMessagePayload.raml @@ -1598,6 +1588,68 @@ ProductDiscountSetValidFromAction: !include product-discount/updates/ProductDisc # yamllint disable-line rule:line-length ProductDiscountSetValidFromAndUntilAction: !include product-discount/updates/ProductDiscountSetValidFromAndUntilAction.raml ProductDiscountSetValidUntilAction: !include product-discount/updates/ProductDiscountSetValidUntilAction.raml +ProductPagedSearchResponse: !include product-search/ProductPagedSearchResponse.raml +ProductSearchAndExpression: !include product-search/ProductSearchAndExpression.raml +ProductSearchAnyValue: !include product-search/ProductSearchAnyValue.raml +ProductSearchAttributeType: !include product-search/ProductSearchAttributeType.raml +ProductSearchCompoundExpression: !include product-search/ProductSearchCompoundExpression.raml +ProductSearchDateRangeExpression: !include product-search/ProductSearchDateRangeExpression.raml +ProductSearchDateRangeValue: !include product-search/ProductSearchDateRangeValue.raml +ProductSearchDateTimeRangeExpression: !include product-search/ProductSearchDateTimeRangeExpression.raml +ProductSearchDateTimeRangeValue: !include product-search/ProductSearchDateTimeRangeValue.raml +ProductSearchErrorResponse: !include product-search/ProductSearchErrorResponse.raml +ProductSearchExactExpression: !include product-search/ProductSearchExactExpression.raml +ProductSearchExistsExpression: !include product-search/ProductSearchExistsExpression.raml +ProductSearchExistsValue: !include product-search/ProductSearchExistsValue.raml +ProductSearchFilterExpression: !include product-search/ProductSearchFilterExpression.raml +ProductSearchFullTextExpression: !include product-search/ProductSearchFullTextExpression.raml +ProductSearchFullTextValue: !include product-search/ProductSearchFullTextValue.raml +ProductSearchHit: !include product-search/ProductSearchHit.raml +ProductSearchLongRangeExpression: !include product-search/ProductSearchLongRangeExpression.raml +ProductSearchLongRangeValue: !include product-search/ProductSearchLongRangeValue.raml +ProductSearchMatchType: !include product-search/ProductSearchMatchType.raml +ProductSearchMatchingVariant: !include product-search/ProductSearchMatchingVariant.raml +ProductSearchNotExpression: !include product-search/ProductSearchNotExpression.raml +ProductSearchNumberRangeExpression: !include product-search/ProductSearchNumberRangeExpression.raml +ProductSearchNumberRangeValue: !include product-search/ProductSearchNumberRangeValue.raml +ProductSearchOrExpression: !include product-search/ProductSearchOrExpression.raml +ProductSearchPrefixExpression: !include product-search/ProductSearchPrefixExpression.raml +ProductSearchProjectionParams: !include product-search/ProductSearchProjectionParams.raml +ProductSearchQuery: !include product-search/ProductSearchQuery.raml +ProductSearchQueryExpression: !include product-search/ProductSearchQueryExpression.raml +ProductSearchQueryExpressionValue: !include product-search/ProductSearchQueryExpressionValue.raml +ProductSearchRequest: !include product-search/ProductSearchRequest.raml +ProductSearchSortMode: !include product-search/ProductSearchSortMode.raml +ProductSearchSortOrder: !include product-search/ProductSearchSortOrder.raml +ProductSearchSorting: !include product-search/ProductSearchSorting.raml +ProductSearchSuggestionCompletionExpression: !include product-search/ProductSearchSuggestionCompletionExpression.raml +# yamllint disable-line rule:line-length +ProductSearchSuggestionCompletionExpressionValue: !include product-search/ProductSearchSuggestionCompletionExpressionValue.raml +ProductSearchSuggestionExpression: !include product-search/ProductSearchSuggestionExpression.raml +ProductSearchSuggestionExpressionValue: !include product-search/ProductSearchSuggestionExpressionValue.raml +ProductSearchTimeRangeExpression: !include product-search/ProductSearchTimeRangeExpression.raml +ProductSearchTimeRangeValue: !include product-search/ProductSearchTimeRangeValue.raml +ProductSearchWildCardExpression: !include product-search/ProductSearchWildCardExpression.raml +ProductSearchFacetBucketResult: !include product-search/facets/ProductSearchFacetBucketResult.raml +ProductSearchFacetCountExpression: !include product-search/facets/ProductSearchFacetCountExpression.raml +ProductSearchFacetCountValue: !include product-search/facets/ProductSearchFacetCountValue.raml +ProductSearchFacetDistinctBucketSortBy: !include product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml +# yamllint disable-line rule:line-length +ProductSearchFacetDistinctBucketSortExpression: !include product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml +ProductSearchFacetDistinctExpression: !include product-search/facets/ProductSearchFacetDistinctExpression.raml +ProductSearchFacetDistinctStartsWith: !include product-search/facets/ProductSearchFacetDistinctStartsWith.raml +ProductSearchFacetDistinctValue: !include product-search/facets/ProductSearchFacetDistinctValue.raml +ProductSearchFacetEnumCount: !include product-search/facets/ProductSearchFacetEnumCount.raml +ProductSearchFacetEnumScope: !include product-search/facets/ProductSearchFacetEnumScope.raml +ProductSearchFacetExpression: !include product-search/facets/ProductSearchFacetExpression.raml +ProductSearchFacetRangesExpression: !include product-search/facets/ProductSearchFacetRangesExpression.raml +ProductSearchFacetRangesFacetRange: !include product-search/facets/ProductSearchFacetRangesFacetRange.raml +ProductSearchFacetRangesValue: !include product-search/facets/ProductSearchFacetRangesValue.raml +ProductSearchFacetResult: !include product-search/facets/ProductSearchFacetResult.raml +ProductSearchFacetResultBucket: !include product-search/facets/ProductSearchFacetResultBucket.raml +ProductSearchFacetResultCount: !include product-search/facets/ProductSearchFacetResultCount.raml +ProductSearchFacetResultExpression: !include product-search/facets/ProductSearchFacetResultExpression.raml +ProductSearchFacetScope: !include product-search/facets/ProductSearchFacetScope.raml AssignedProductReference: !include product-selection/AssignedProductReference.raml AssignedProductSelection: !include product-selection/AssignedProductSelection.raml AssignedProductSelectionPagedQueryResponse: !include product-selection/AssignedProductSelectionPagedQueryResponse.raml @@ -1785,6 +1837,7 @@ CartValueType: !include project/CartValueType.raml CartsConfiguration: !include project/CartsConfiguration.raml ExternalOAuth: !include project/ExternalOAuth.raml OrderSearchStatus: !include project/OrderSearchStatus.raml +ProductSearchStatus: !include project/ProductSearchStatus.raml Project: !include project/Project.raml ProjectUpdate: !include project/ProjectUpdate.raml ProjectUpdateAction: !include project/ProjectUpdateAction.raml @@ -1807,6 +1860,7 @@ ProjectChangeNameAction: !include project/updates/ProjectChangeNameAction.raml ProjectChangeOrderSearchStatusAction: !include project/updates/ProjectChangeOrderSearchStatusAction.raml # yamllint disable-line rule:line-length ProjectChangeProductSearchIndexingEnabledAction: !include project/updates/ProjectChangeProductSearchIndexingEnabledAction.raml +ProjectChangeProductSearchStatusAction: !include project/updates/ProjectChangeProductSearchStatusAction.raml # yamllint disable-line rule:line-length ProjectChangeShoppingListsConfigurationAction: !include project/updates/ProjectChangeShoppingListsConfigurationAction.raml # yamllint disable-line rule:line-length diff --git a/api-specs/checkout/api.raml b/api-specs/checkout/api.raml index a3e9879cc..60901aa85 100644 --- a/api-specs/checkout/api.raml +++ b/api-specs/checkout/api.raml @@ -3,7 +3,6 @@ title: commercetools Checkout API uses: annotations: types/annotations.raml - common: types/common.raml (annotations.products): - Checkout version: v1 @@ -16,8 +15,9 @@ baseUriParameters: enum: - europe-west1.gcp - us-central1.gcp + - australia-southeast1 description: | - [Region](ctp:checkout:type:Region) in which the Checkout application is [hosted](/installing-checkout#regions-and-hosts). + Region (annotations.serviceRegions): - uri: https://checkout.us-central1.gcp.commercetools.com/ region: us-central1 @@ -27,48 +27,9 @@ baseUriParameters: region: europe-west1 provider: gcp name: Europe (Google Cloud, Belgium) + - uri: https://checkout.australia-southeast1.gcp.commercetools.com + region: australia-southeast1 + provider: gcp + name: Australia (Google Cloud, Sydney) types: !include types/types.raml - -securitySchemes: - oauth_2_0: !include security-schemes/oauth2.raml -securedBy: [oauth_2_0] - -traits: - secured_by_manage_payments: - securedBy: - [oauth_2_0: { scopes: ['manage_checkout_payment_intents:{projectKey}'] }] - -/{projectKey}: - (annotations.methodName): withProjectKey - uriParameters: - projectKey: - type: string - description: Identifier of your Checkout entity and `key` of your [Project](/../api/projects/project#project). - /payment-intents: - /{paymentId}: - (annotations.methodName): withPaymentId - uriParameters: - paymentId: - type: string - description: | - `id` of the [Payment](/../api/projects/payments). - post: - is: - - secured_by_manage_payments - body: - type: Payment - example: !include ./examples/payments/capturePayment.json - description: | - Specific Error Codes: - - [MultipleActionsNotAllowed](ctp:checkout:type:MultipleActionsNotAllowedError) - - [RequiredField](ctp:checkout:type:RequiredFieldError) - - [ResourceNotFound](ctp:checkout:type:ResourceNotFoundError) - responses: - 200: - body: - example: !include ../checkout/examples/payments/capturePaymentResponse.json - 400: - description: The request was invalid. - body: - type: ErrorResponse diff --git a/api-specs/checkout/examples/payments/cancelPaymentAction.json b/api-specs/checkout/examples/payments/cancelPaymentAction.json deleted file mode 100644 index e630f38b9..000000000 --- a/api-specs/checkout/examples/payments/cancelPaymentAction.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "action": "cancelPayment" -} diff --git a/api-specs/checkout/examples/payments/capturePayment.json b/api-specs/checkout/examples/payments/capturePayment.json deleted file mode 100644 index 6ec86e51b..000000000 --- a/api-specs/checkout/examples/payments/capturePayment.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "actions": [ - { - "action": "capturePayment", - "amount": { - "centAmount": 10000, - "currencyCode": "EUR" - } - } - ] -} diff --git a/api-specs/checkout/examples/payments/capturePaymentAction.json b/api-specs/checkout/examples/payments/capturePaymentAction.json deleted file mode 100644 index 5daa0341a..000000000 --- a/api-specs/checkout/examples/payments/capturePaymentAction.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "action": "capturePayment", - "amount": { - "centAmount": 10000, - "currencyCode": "EUR" - } -} diff --git a/api-specs/checkout/examples/payments/capturePaymentResponse.json b/api-specs/checkout/examples/payments/capturePaymentResponse.json deleted file mode 100644 index 0967ef424..000000000 --- a/api-specs/checkout/examples/payments/capturePaymentResponse.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/api-specs/checkout/examples/payments/refundPaymentAction.json b/api-specs/checkout/examples/payments/refundPaymentAction.json deleted file mode 100644 index d7da448c6..000000000 --- a/api-specs/checkout/examples/payments/refundPaymentAction.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "action": "refundPayment", - "amount": { - "centAmount": 10000, - "currencyCode": "EUR" - } -} diff --git a/api-specs/checkout/types/annotations.raml b/api-specs/checkout/types/annotations.raml index b93c1d8e1..e1b200b07 100644 --- a/api-specs/checkout/types/annotations.raml +++ b/api-specs/checkout/types/annotations.raml @@ -12,8 +12,6 @@ annotationTypes: allowedTargets: - Library type: string - beta: - type: boolean enumDescriptions: description: | Allows to describe the values of an enum type. diff --git a/api-specs/checkout/types/common.raml b/api-specs/checkout/types/common.raml deleted file mode 100644 index 9f51cf29f..000000000 --- a/api-specs/checkout/types/common.raml +++ /dev/null @@ -1,63 +0,0 @@ -#%RAML 1.0 Library -usage: Common data types. -(annotations.package): common -(annotations.beta): true - -uses: - annotations: annotations.raml - -types: - Region: - description: | - The Region in which the Checkout application is [hosted](/../checkout/installing-checkout#regions-and-hosts). - enum: - - europe-west1.gcp - - us-central1.gcp - (annotations.enumDescriptions): - europe-west1.gcp: | - for Europe (Google Cloud, Belgium) - us-central1.gcp: | - for North America (Google Cloud, Iowa) - Amount: - description: | - The amount related to a [payment action](ctp:checkout:type:PaymentAction). - properties: - centAmount: - type: integer - description: | - Amount in the smallest indivisible unit of a currency, such as: - - * Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as `500`). - * The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as `5`). - currencyCode: - type: string - description: | - Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). - pattern: ^[A-Z]{3}$ - PaymentOperation: - type: string - description: | - The possible values for a [payment action](ctp:checkout:type:PaymentAction). - (annotations.enumDescriptions): - capturePayment: | - [Captures](ctp:checkout:type:CapturePaymentAction) the given [Payment](/../api/projects/payments#payment) amount. - refundPayment: | - [Refunds](ctp:checkout:type:RefundPaymentAction) the given Payment amount. - cancelPayment: | - [Cancels](ctp:checkout:type:CancelPaymentAction) an authorized Payment. - enum: - - capturePayment - - refundPayment - - cancelPayment - PaymentAction: - description: | - Depending on the action specified, Checkout requests the [Payment Service Provider](/../checkout/configuring-checkout#supported-payment-service-providers) to capture, refund, or cancel the authorization for the given Payment. - properties: - action: - type: PaymentOperation - description: | - Action to execute for the given Payment. - amount?: - type: Amount - description: | - Amount to be captured or refunded. diff --git a/api-specs/checkout/types/payments/cancelPaymentAction.raml b/api-specs/checkout/types/payments/cancelPaymentAction.raml deleted file mode 100644 index d4294687c..000000000 --- a/api-specs/checkout/types/payments/cancelPaymentAction.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): Payments -(annotations.beta): true -type: object -displayName: CancelPaymentAction -discriminator: action -discriminatorValue: cancelPayment -example: !include ../../../checkout/examples/payments/cancelPaymentAction.json -description: | - Requests to [cancel the authorization](/payments-lifecycle#authorization-cancellation) for a Payment. Checkout will cancel the [Payment](/../api/projects/payments#payment) and will request the PSP to proceed with the financial process to cancel the authorization. - - You cannot request to cancel the authorization for a Payment that has already been [captured](/payments-lifecycle#payment-capture). -properties: - action: - type: string diff --git a/api-specs/checkout/types/payments/capturePaymentAction.raml b/api-specs/checkout/types/payments/capturePaymentAction.raml deleted file mode 100644 index 9860bab34..000000000 --- a/api-specs/checkout/types/payments/capturePaymentAction.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): Payments -(annotations.beta): true -type: object -displayName: CapturePaymentAction -discriminator: action -discriminatorValue: capturePayment -example: !include ../../../checkout/examples/payments/capturePaymentAction.json -description: | - Requests to [capture](/payments-lifecycle#payment-capture) the given amount from the customer. Checkout will request the PSP to proceed with the financial process to capture the amount. -properties: - action: - type: string - amount: - description: | - Amount to be captured. It must be less than or equal to the [authorized](/payments-lifecycle#authorization) amount. - type: common.Amount diff --git a/api-specs/checkout/types/payments/error/ErrorObject.raml b/api-specs/checkout/types/payments/error/ErrorObject.raml deleted file mode 100644 index fd8f621d0..000000000 --- a/api-specs/checkout/types/payments/error/ErrorObject.raml +++ /dev/null @@ -1,16 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): error -(annotations.beta): true -type: object -displayName: ErrorObject -discriminator: code -description: This is the representation of a single error. -properties: - code: - type: string - description: | - Error identifier. - message: - type: string - description: | - Plain text description of the cause of the error. diff --git a/api-specs/checkout/types/payments/error/GeneralError.raml b/api-specs/checkout/types/payments/error/GeneralError.raml deleted file mode 100644 index 96678c1c0..000000000 --- a/api-specs/checkout/types/payments/error/GeneralError.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): error -(annotations.beta): true -type: ErrorObject -displayName: GeneralError -discriminatorValue: General -description: | - Returned when a server-side problem occurs. If you encounter this error, report it using the [Support Portal](https://commercetools.atlassian.net/servicedesk/customer/portal/30). -properties: - code: - type: string - message: - type: string - description: | - Description about any known details of the problem, for example, `"Write operations are temporarily unavailable"`. diff --git a/api-specs/checkout/types/payments/error/MultipleActionsNotAllowedError.raml b/api-specs/checkout/types/payments/error/MultipleActionsNotAllowedError.raml deleted file mode 100644 index 17266846a..000000000 --- a/api-specs/checkout/types/payments/error/MultipleActionsNotAllowedError.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): error -(annotations.beta): true -type: ErrorObject -displayName: MultipleActionsNotAllowedError -discriminatorValue: MultipleActionsNotAllowed -description: | - Returned when `actions` in the request body contains more than one object. -properties: - code: - type: string - message: - type: string - description: | - `"Actions accepts only one action at time. Array size must be 1."` diff --git a/api-specs/checkout/types/payments/error/RequiredFieldError.raml b/api-specs/checkout/types/payments/error/RequiredFieldError.raml deleted file mode 100644 index fcd6ffc1d..000000000 --- a/api-specs/checkout/types/payments/error/RequiredFieldError.raml +++ /dev/null @@ -1,19 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): error -(annotations.beta): true -type: ErrorObject -displayName: RequiredFieldError -discriminatorValue: RequiredField -description: | - Returned when a value is not defined for a required field. -properties: - code: - type: string - message: - type: string - description: | - `"A value is required for field $field."` - field: - type: string - description: | - Name of the field missing the value. diff --git a/api-specs/checkout/types/payments/error/ResourceNotFoundError.raml b/api-specs/checkout/types/payments/error/ResourceNotFoundError.raml deleted file mode 100644 index 61ecc9e34..000000000 --- a/api-specs/checkout/types/payments/error/ResourceNotFoundError.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): error -(annotations.beta): true -type: ErrorObject -displayName: ResourceNotFoundError -discriminatorValue: ResourceNotFound -description: | - Returned when the resource addressed by the request URL does not exist. -properties: - code: - type: string - message: - type: string - description: | - `"The Resource with ID $resourceId was not found."` diff --git a/api-specs/checkout/types/payments/payment.raml b/api-specs/checkout/types/payments/payment.raml deleted file mode 100644 index 4afc009fb..000000000 --- a/api-specs/checkout/types/payments/payment.raml +++ /dev/null @@ -1,12 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): Payments -(annotations.beta): true -type: object -displayName: Payment -properties: - actions: - type: common.PaymentAction[] - minItems: 1 - maxItems: 1 - description: | - Action to execute for the given Payment. diff --git a/api-specs/checkout/types/payments/paymentActionAmount.raml b/api-specs/checkout/types/payments/paymentActionAmount.raml deleted file mode 100644 index fb4f7e9dc..000000000 --- a/api-specs/checkout/types/payments/paymentActionAmount.raml +++ /dev/null @@ -1,8 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): Payments -(annotations.beta): true -type: object -displayName: Amount -properties: - centAmount: number - currencyCode: string diff --git a/api-specs/checkout/types/payments/refundPaymentAction.raml b/api-specs/checkout/types/payments/refundPaymentAction.raml deleted file mode 100644 index baff7427a..000000000 --- a/api-specs/checkout/types/payments/refundPaymentAction.raml +++ /dev/null @@ -1,17 +0,0 @@ -#%RAML 1.0 DataType -(annotations.package): Payments -(annotations.beta): true -type: object -displayName: RefundPaymentAction -discriminator: action -discriminatorValue: refundPayment -example: !include ../../../checkout/examples/payments/refundPaymentAction.json -description: | - Requests to [refund](/payments-lifecycle#refund) the given amount to the customer. Checkout will request the PSP to proceed with the financial process to refund the amount. -properties: - action: - type: string - amount?: - description: | - Amount to be refunded. It must be less than or equal to the [captured](/payments-lifecycle#payment-capture) amount. - type: common.Amount diff --git a/api-specs/checkout/types/types.raml b/api-specs/checkout/types/types.raml index bcba09ba3..57b3404d0 100644 --- a/api-specs/checkout/types/types.raml +++ b/api-specs/checkout/types/types.raml @@ -1,4 +1,3 @@ -# Responses ResponseMessage: !include responses/ResponseMessage.raml AdyenBadConfig: !include responses/AdyenBadConfig.raml AdyenInitError: !include responses/AdyenInitError.raml @@ -25,14 +24,3 @@ UnavailableLocale: !include responses/UnavailableLocale.raml DeprecatedFields: !include responses/DeprecatedFields.raml OrderCreationError: !include responses/OrderCreationError.raml CartWithExistingPayment: !include responses/CartWithExistingPayment.raml -# payments -CapturePaymentAction: !include payments/capturePaymentAction.raml -RefundPaymentAction: !include payments/refundPaymentAction.raml -CancelPaymentAction: !include payments/cancelPaymentAction.raml -Payment: !include payments/payment.raml -# Payment Errors -ErrorObject: !include payments/error/ErrorObject.raml -GeneralError: !include payments/error/GeneralError.raml -MultipleActionsNotAllowedError: !include payments/error/MultipleActionsNotAllowedError.raml -RequiredFieldError: !include payments/error/RequiredFieldError.raml -ResourceNotFoundError: !include payments/error/ResourceNotFoundError.raml diff --git a/api-specs/connect/types/common.raml b/api-specs/connect/types/common.raml index 49e02efc5..b1e9311e0 100644 --- a/api-specs/connect/types/common.raml +++ b/api-specs/connect/types/common.raml @@ -199,7 +199,7 @@ types: staged?: type: boolean default: false - description: If `true`, the previewable [ConnectorStaged](ctp:connect:type:ConnectorStaged) will be referenced instead of the published Connector. The `isPreviewable` field of the [ConnectorStaged](ctp:connect:type:ConnectorStaged) must be `true` to reference a previewable ConnectorStaged. + description: If `true`, the previewable [ConnectorStaged](ctp:connect:type:ConnectorStaged) will be referenced instead of the certified Connector. The `isPreviewable` field of the [ConnectorStaged](ctp:connect:type:ConnectorStaged) must be `true` to reference a previewable ConnectorStaged. version: type: number format: int64 diff --git a/api-specs/connect/types/error/ConnectorStagedNotPreviewableError.raml b/api-specs/connect/types/error/ConnectorStagedNotPreviewableError.raml index 92ae4dd1c..bb9204c17 100644 --- a/api-specs/connect/types/error/ConnectorStagedNotPreviewableError.raml +++ b/api-specs/connect/types/error/ConnectorStagedNotPreviewableError.raml @@ -6,7 +6,7 @@ discriminatorValue: ConnectorStagedNotPreviewable description: | Returned when a ConnectorStaged to be deployed is not previewable. - The error is returned as a failed response to the [Create a Deployment](ctp:connect:endpoint:/{projectKey}/deployments:POST) request. + The error is returned as a failed response to the [Create a Deployment](deployments#create-deployment) request. properties: code: type: string diff --git a/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationError.raml b/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationError.raml index 95a7595a0..3432643fb 100644 --- a/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationError.raml +++ b/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationError.raml @@ -6,7 +6,7 @@ discriminatorValue: DeploymentUnknownApplicationConfiguration description: | Returned when the Deployment contains configuration values that are not defined in the Connect application's connect.yaml file. - The error is returned as a failed response to the [Redeploy](ctp:connect:type:DeploymentRedeploy) update action and [Create a Deployment](ctp:connect:endpoint:/{projectKey}/deployments:POST) request. + The error is returned as a failed response to the [Redeploy](ctp:connect:type:DeploymentRedeploy) update action and [Create a Deployment](deployments#create-deployment) request. properties: code: type: string diff --git a/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationKeyError.raml b/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationKeyError.raml index cef489e9d..7da2b9d16 100644 --- a/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationKeyError.raml +++ b/api-specs/connect/types/error/DeploymentUnknownApplicationConfigurationKeyError.raml @@ -6,7 +6,7 @@ discriminatorValue: DeploymentUnknownApplicationConfigurationKey description: | Returned when the Deployment contains a configuration key that is not defined in the Connect application's connect.yaml file. - The error is returned as a failed response to the [Redeploy](ctp:connect:type:DeploymentRedeploy) update action and [Create a Deployment](ctp:connect:endpoint:/{projectKey}/deployments:POST) request. + The error is returned as a failed response to the [Redeploy](ctp:connect:type:DeploymentRedeploy) update action and [Create a Deployment](deployments#create-deployment) request. properties: code: type: string diff --git a/api-specs/connect/types/error/DeploymentUnsupportedRegionError.raml b/api-specs/connect/types/error/DeploymentUnsupportedRegionError.raml index d7b74d356..5f0a3e4b1 100644 --- a/api-specs/connect/types/error/DeploymentUnsupportedRegionError.raml +++ b/api-specs/connect/types/error/DeploymentUnsupportedRegionError.raml @@ -6,7 +6,7 @@ discriminatorValue: DeploymentUnsupportedRegion description: | Returned when the Deployment region is not supported. - The error is returned as a failed response to the [Create a Deployment](ctp:connect:endpoint:/{projectKey}/deployments:POST) request. + The error is returned as a failed response to the [Create a Deployment](deployments#create-deployment) request. properties: code: type: string diff --git a/api-specs/frontend-api/api.raml b/api-specs/frontend-api/api.raml index 96fbdbe18..f269d6c5f 100644 --- a/api-specs/frontend-api/api.raml +++ b/api-specs/frontend-api/api.raml @@ -50,9 +50,7 @@ types: Tastic: !include types/Tastic.raml TasticConfiguration: !include types/TasticConfiguration.raml ViewData: !include types/ViewData.raml - BuildUpload: !include types/BuildUpload.raml - BuildMetadata: !include types/BuildMetadata.raml - BuildUploadResult: !include types/BuildUploadResult.raml + traits: right-header: headers: @@ -84,7 +82,3 @@ traits: /preview: !include resources/FrontasticPreview.raml /action: !include resources/FrontasticAction.raml /data-source: !include resources/FrontasticDataSource.raml - -/api: - /build: - /upload: !include resources/BuildUpload.raml diff --git a/api-specs/frontend-api/examples/build-upload-metadata-payload.json b/api-specs/frontend-api/examples/build-upload-metadata-payload.json deleted file mode 100644 index ac9dffe27..000000000 --- a/api-specs/frontend-api/examples/build-upload-metadata-payload.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "branch": "main", - "revision": "a594ac3df6506a04e041de2b2d7ca5bf813fd602", - "versionNumber": "2023.07.18.13.28", - "nodeJsVersion": 18, - "buildSuccessful": true, - "buildTime": "2023-11-21T08:14:31.830Z", - "buildDuration": 300, - "buildLog": "Build started...\nDependencies installed...\nBuild completed successfully!", - "deploy": true -} diff --git a/api-specs/frontend-api/examples/build-upload-success.json b/api-specs/frontend-api/examples/build-upload-success.json deleted file mode 100644 index d5a75207a..000000000 --- a/api-specs/frontend-api/examples/build-upload-success.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "message": "Upload successful.", - "status": "success" -} diff --git a/api-specs/frontend-api/resources/BuildUpload.raml b/api-specs/frontend-api/resources/BuildUpload.raml deleted file mode 100644 index 9ec8f328a..000000000 --- a/api-specs/frontend-api/resources/BuildUpload.raml +++ /dev/null @@ -1,13 +0,0 @@ -#%RAML 1.0 ResourceType - -post: - description: Uploads your backend builds from your custom CI environment to the Studio. - body: - multipart/form-data: - type: BuildUpload - responses: - 200: - body: - application/json: - type: object - example: !include ../examples/build-upload-success.json diff --git a/api-specs/frontend-api/ruleset.xml b/api-specs/frontend-api/ruleset.xml index f48301a6b..bdfdffc9e 100644 --- a/api-specs/frontend-api/ruleset.xml +++ b/api-specs/frontend-api/ruleset.xml @@ -4,46 +4,34 @@ default - - com.commercetools.rmf.validators.ResourcePluralRule - - - - - - - - - - - - - - com.commercetools.rmf.validators.SdkBaseUriRule - - - com.commercetools.rmf.validators.UnionTypePropertyRule - - - - - - com.commercetools.rmf.validators.CamelCaseRule - - - - - - com.commercetools.rmf.validators.NamedStringEnumRule - - - - - - com.commercetools.rmf.validators.StringPropertySingularRule - - - - + + com.commercetools.rmf.validators.ResourcePluralRule + + + + + + + + + + + com.commercetools.rmf.validators.UnionTypePropertyRule + + + + + + com.commercetools.rmf.validators.DatetimeRule + + + com.commercetools.rmf.validators.SdkBaseUriRule + + + com.commercetools.rmf.validators.NamedStringEnumRule + + + + diff --git a/api-specs/frontend-api/types/BuildMetadata.raml b/api-specs/frontend-api/types/BuildMetadata.raml deleted file mode 100644 index 2bec00a74..000000000 --- a/api-specs/frontend-api/types/BuildMetadata.raml +++ /dev/null @@ -1,38 +0,0 @@ -#%RAML 1.0 DataType -(package): Common -displayName: BuildMetadata -type: object -properties: - branch: - type: string - description: Name of the Git branch to deploy. - revision: - type: string - description: Full commit ID hash of the current HEAD. - versionNumber: - type: string - description: Current time represented in the format `YYYY.MM.DD.HH.mm`. This value should be unique and sortable. - nodeJsVersion: - type: integer - description: Node.js version for the [Extension runner](/../frontend-getting-started/development-concepts#extension-runner). - default: 18 - required: false - buildSuccessful: - type: boolean - description: | - If `true`, the build is marked as successful and [displayed in the Studio](/../frontend-studio/using-deployment-in-the-studio). - buildTime: - type: string - description: Date and time of the build in the [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) format. For example, `2023-11-21T08:14:31.830Z`. - buildDuration: - type: integer - description: Build duration in seconds. - buildLog: - type: string - description: CI execution logs. - deploy: - type: boolean - description: | - If `true`, the build is automatically deployed to the staging environment, if `buildSuccessful` is `true`. - default: false - required: false diff --git a/api-specs/frontend-api/types/BuildUpload.raml b/api-specs/frontend-api/types/BuildUpload.raml deleted file mode 100644 index e809d6db5..000000000 --- a/api-specs/frontend-api/types/BuildUpload.raml +++ /dev/null @@ -1,20 +0,0 @@ -#%RAML 1.0 DataType -(package): Common -displayName: BuildUpload -type: object -properties: - metadata: - description: Metadata about the build. - type: BuildMetadata - required: true - example: !include ../examples/build-upload-metadata-payload.json - extension: - description: Javascript bundle containing all code of the backend extensions. - type: file - required: true - fileTypes: ['*.js'] - extension_map: - description: Map for the build file. When provided, exceptions will be logged with readable stack traces. - type: file - required: false - fileTypes: ['*.js.map'] diff --git a/api-specs/frontend-api/types/BuildUploadResult.raml b/api-specs/frontend-api/types/BuildUploadResult.raml deleted file mode 100644 index 9e369890e..000000000 --- a/api-specs/frontend-api/types/BuildUploadResult.raml +++ /dev/null @@ -1,14 +0,0 @@ -#%RAML 1.0 DataType -(package): Common -displayName: BuildUploadResult -type: object -properties: - status: - type: string - description: Status of the build. - enum: - - success - - failure - message: - type: string - description: Description of the upload result. diff --git a/api-specs/generate-a-postman-collection.md b/api-specs/generate-a-postman-collection.md index 34d26bb8c..372aceca3 100644 --- a/api-specs/generate-a-postman-collection.md +++ b/api-specs/generate-a-postman-collection.md @@ -47,5 +47,6 @@ yarn run generate-postman - api: HTTP API - history: Change History API - import: Import API +- ml: Machine Learning API 4. Choose one of the APIs and import the corresponding `collection.json` and `template.json` files to Postman. diff --git a/api-specs/graphql/schema.sdl b/api-specs/graphql/schema.sdl index 5b73a975f..1f390f7e4 100644 --- a/api-specs/graphql/schema.sdl +++ b/api-specs/graphql/schema.sdl @@ -27,6 +27,8 @@ type APIClientWithoutSecretQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [APIClientWithoutSecret!]! } @@ -123,6 +125,7 @@ input AddCartDiscountCode { validateDuplicates: Boolean = false } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input AddCartDiscountStore { store: ResourceIdentifierInput! } @@ -656,6 +659,7 @@ input ApplyStagedChanges { dummy: String } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlow implements Versioned { status: String! approvals: [ApprovalFlowApproval!]! @@ -668,7 +672,6 @@ type ApprovalFlow implements Versioned { eligibleApprovers: [RuleApprover!]! pendingApprovers: [RuleApprover!]! currentTierPendingApprovers: [RuleApprover!]! - custom: CustomFieldsType id: String! version: Long! createdAt: DateTime! @@ -677,11 +680,13 @@ type ApprovalFlow implements Versioned { lastModifiedBy: Initiator } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlowApproval { approver: Associate! approvedAt: DateTime! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlowApproved implements MessagePayload { associate: Customer order: Order @@ -690,6 +695,7 @@ type ApprovalFlowApproved implements MessagePayload { type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlowCompleted implements MessagePayload { status: String! order: Order @@ -697,6 +703,7 @@ type ApprovalFlowCompleted implements MessagePayload { type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlowCreated implements MessagePayload { approvalFlow: ApprovalFlow! type: String! @@ -706,10 +713,13 @@ type ApprovalFlowQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ApprovalFlow!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlowRejected implements MessagePayload { rejectionReason: String associate: Customer @@ -719,19 +729,23 @@ type ApprovalFlowRejected implements MessagePayload { type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalFlowRejection { rejecter: Associate! rejectedAt: DateTime! reason: String } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApprovalFlowUpdateAction { - reject: RejectApprovalFlow - setCustomField: SetApprovalFlowCustomField - setCustomType: SetApprovalFlowCustomType + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" approve: ApproveApprovalFlow + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" + reject: RejectApprovalFlow } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRule implements Versioned { key: String name: String! @@ -750,23 +764,27 @@ type ApprovalRule implements Versioned { lastModifiedBy: Initiator } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleApproversSet implements MessagePayload { oldApprovers: ApproverHierarchy! approvers: ApproverHierarchy! type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleCreated implements MessagePayload { approvalRule: ApprovalRule! type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleDescriptionSet implements MessagePayload { oldDescription: String description: String type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApprovalRuleDraft { key: String name: String! @@ -777,18 +795,21 @@ input ApprovalRuleDraft { requesters: [RuleRequesterDraft!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleKeySet implements MessagePayload { oldKey: String key: String type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleNameSet implements MessagePayload { oldName: String! name: String! type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRulePredicateSet implements MessagePayload { oldPredicate: String! predicate: String! @@ -799,61 +820,87 @@ type ApprovalRuleQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ApprovalRule!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleRequestersSet implements MessagePayload { oldRequesters: [RuleRequester!]! requesters: [RuleRequester!]! type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" enum ApprovalRuleStatus { Active Inactive } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApprovalRuleStatusSet implements MessagePayload { oldStatus: ApprovalRuleStatus! status: ApprovalRuleStatus! type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApprovalRuleUpdateAction { + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" + setApprovers: SetApprovalRuleApprovers + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setKey: SetApprovalRuleKey + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setName: SetApprovalRuleName + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setDescription: SetApprovalRuleDescription + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setPredicate: SetApprovalRulePredicate + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setRequesters: SetApprovalRuleRequesters + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setStatus: SetApprovalRuleStatus - setApprovers: SetApprovalRuleApprovers } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApproveApprovalFlow { dummy: String } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApproverConjunction { and: [ApproverDisjunction!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApproverConjunctionDraft { and: [ApproverDisjunctionDraft!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApproverDisjunction { or: [RuleApprover!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApproverDisjunctionDraft { or: [RuleApproverDraft!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ApproverHierarchy { tiers: [ApproverConjunction!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ApproverHierarchyDraft { tiers: [ApproverConjunctionDraft!]! } @@ -879,14 +926,22 @@ type AsAssociate implements CartQueryInterface & OrderQueryInterface & QuoteQuer "Queries with specified key" key: String): Quote quotes(where: String, sort: [String!], limit: Int, offset: Int): QuoteQueryResult! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" approvalRule( "Queries with specified ID" id: String, "Queries with specified key" key: String): ApprovalRule + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" approvalRules(where: String, sort: [String!], limit: Int, offset: Int): ApprovalRuleQueryResult! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" approvalFlow(id: String!): ApprovalFlow + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" approvalFlows(where: String, sort: [String!], limit: Int, offset: Int): ApprovalFlowQueryResult! businessUnit( "Queries with specified ID" @@ -1045,6 +1100,8 @@ type AssociateRoleQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [AssociateRole!]! } @@ -1159,6 +1216,8 @@ type AttributeGroupQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [AttributeGroup!]! } @@ -1213,7 +1272,7 @@ input AttributeTypeDraft { ltext: SimpleAttributeTypeDraft } -"AuthenticationMode values." +"AuthenticationMode values. BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" enum AuthenticationMode { ExternalAuth Password @@ -1251,6 +1310,17 @@ input AzureServiceBusDestinationInput { connectionString: String! } +input CartDiscountValueBaseMoneyInput { + centPrecision: MoneyInput + highPrecision: HighPrecisionMoneyInput + + "CurrencyCode and centAmount are deprecated. Please use `Money`(centPrecision) or `HighPrecisionMoney`(highPrecision)." + currencyCode: Currency + + "CurrencyCode and centAmount are deprecated. Please use `Money`(centPrecision) or `HighPrecisionMoney`(highPrecision)." + centAmount: Long +} + interface BaseMoney { type: String! currencyCode: Currency! @@ -1525,6 +1595,8 @@ type BusinessUnitQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [BusinessUnit!]! } @@ -1627,6 +1699,7 @@ type Cart implements Versioned & ReferenceExpandable { customLineItems: [CustomLineItem!]! totalPrice: Money! taxedPrice: TaxedPrice + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" discountOnTotalPrice: DiscountOnTotalPrice shippingAddress: Address billingAddress: Address @@ -1711,7 +1784,11 @@ type CartDiscount implements Versioned & ReferenceExpandable { descriptionAllLocales: [LocalizedString!] referenceRefs: [Reference!]! custom: CustomFieldsType + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" storesRef: [KeyReference!]! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" stores: [Store!]! value: CartDiscountValue! target: CartDiscountTarget @@ -1723,15 +1800,6 @@ type CartDiscount implements Versioned & ReferenceExpandable { lastModifiedBy: Initiator } -type CartDiscountCreated implements MessagePayload { - cartDiscount: CartDiscount! - type: String! -} - -type CartDiscountDeleted implements MessagePayload { - type: String! -} - input CartDiscountDraft { value: CartDiscountValueInput! cartPredicate: String! @@ -1746,6 +1814,8 @@ input CartDiscountDraft { isActive: Boolean = true custom: CustomFieldsDraft key: String + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" stores: [ResourceIdentifierInput!] } @@ -1773,28 +1843,12 @@ type CartDiscountQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [CartDiscount!]! } -type CartDiscountStoreAdded implements MessagePayload { - store: Store! - storeRef: KeyReference! - type: String! -} - -type CartDiscountStoreRemoved implements MessagePayload { - store: Store! - storeRef: KeyReference! - type: String! -} - -type CartDiscountStoresSet implements MessagePayload { - storesRef: [KeyReference!]! - stores: [Store!]! - type: String! -} - interface CartDiscountTarget { type: String! } @@ -1808,17 +1862,23 @@ input CartDiscountTargetInput { totalPrice: CartDiscountTotalPriceTargetInput } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type CartDiscountTotalPriceTarget implements CartDiscountTarget { type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input CartDiscountTotalPriceTargetInput { dummy: String } - input CartDiscountUpdateAction { + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setStores: SetCartDiscountStores + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" addStore: AddCartDiscountStore + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" removeStore: RemoveCartDiscountStore changeCartPredicate: ChangeCartDiscountCartPredicate changeIsActive: ChangeCartDiscountIsActive @@ -1841,17 +1901,6 @@ interface CartDiscountValue { type: String! } -input CartDiscountValueBaseMoneyInput { - centPrecision: MoneyInput - highPrecision: HighPrecisionMoneyInput - - "CurrencyCode and centAmount are deprecated. Please use `Money`(centPrecision) or `HighPrecisionMoney`(highPrecision)." - currencyCode: Currency - - "CurrencyCode and centAmount are deprecated. Please use `Money`(centPrecision) or `HighPrecisionMoney`(highPrecision)." - centAmount: Long -} - input CartDiscountValueInput { relative: RelativeDiscountValueInput absolute: AbsoluteDiscountValueInput @@ -1901,14 +1950,14 @@ type CartLimitsProjection { } enum CartOrigin { - "The cart was created by the customer. This is the default value" - Customer + "The cart was created by our platform and belongs to a Quote." + Quote "The cart was created by the merchant on behalf of the customer" Merchant - "The cart was created by our platform and belongs to a Quote." - Quote + "The cart was created by the customer. This is the default value" + Customer } "Fields to access carts. Includes direct access to a single cart and searching for carts." @@ -1921,6 +1970,8 @@ type CartQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Cart!]! } @@ -2150,6 +2201,8 @@ type CategoryQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Category!]! } @@ -2846,6 +2899,8 @@ type ChannelQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Channel!]! } @@ -2937,6 +2992,8 @@ type CommercetoolsSubscriptionQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [CommercetoolsSubscription!]! } @@ -3256,6 +3313,8 @@ type CustomObjectQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [CustomObject!]! } @@ -3516,6 +3575,8 @@ type CustomerGroupQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [CustomerGroup!]! } @@ -3597,6 +3658,8 @@ type CustomerQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Customer!]! } @@ -3692,6 +3755,8 @@ input CustomerSignUpDraft { customerGroup: ResourceIdentifierInput isEmailVerified: Boolean anonymousId: String + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" authenticationMode: AuthenticationMode } @@ -3942,6 +4007,8 @@ type DiscountCodeQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [DiscountCode!]! } @@ -3982,13 +4049,6 @@ input DiscountCodeUpdateAction { setValidUntil: SetDiscountCodeValidUntil } -type DiscountOnTotalPrice { - discountedAmount: BaseMoney! - includedDiscounts: [DiscountedTotalPricePortion!]! - discountedNetAmount: BaseMoney - discountedGrossAmount: BaseMoney -} - type DiscountedLineItemPortion { discount: CartDiscount discountRef: Reference! @@ -4032,6 +4092,7 @@ type DiscountedProductSearchPriceValue { discount: ProductDiscount } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type DiscountedTotalPricePortion { discount: CartDiscount discountRef: Reference! @@ -4156,6 +4217,8 @@ type ExtensionQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Extension!]! } @@ -4305,9 +4368,9 @@ input FieldTypeSetTypeDraft { } type FixedPriceDiscountValue implements CartDiscountValue { - type: String! money: [BaseMoney!]! -} + type: String! + } input FixedPriceDiscountValueInput { money: [CartDiscountValueBaseMoneyInput!]! @@ -4679,6 +4742,8 @@ type InventoryEntryQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [InventoryEntry!]! } @@ -5178,6 +5243,8 @@ type MessageQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Message!]! } @@ -5427,15 +5494,9 @@ type Mutation { createDiscountCode(draft: DiscountCodeDraft!): DiscountCode updateDiscountCode(id: String!, version: Long!, actions: [DiscountCodeUpdateAction!]!): DiscountCode deleteDiscountCode(id: String!, version: Long!): DiscountCode - createCartDiscount(draft: CartDiscountDraft!, - - "The mutation is only performed if the resource is part of the store. Can be used with store-specific OAuth permissions." - storeKey: KeyReferenceInput): CartDiscount + createCartDiscount(draft: CartDiscountDraft!): CartDiscount updateCartDiscount(version: Long!, actions: [CartDiscountUpdateAction!]!, - "The mutation is only performed if the resource is part of the store. Can be used with store-specific OAuth permissions." - storeKey: KeyReferenceInput, - "Queries with specified ID" id: String, @@ -5443,9 +5504,6 @@ type Mutation { key: String): CartDiscount deleteCartDiscount(version: Long!, - "The mutation is only performed if the resource is part of the store. Can be used with store-specific OAuth permissions." - storeKey: KeyReferenceInput, - "Queries with specified ID" id: String, @@ -6024,10 +6082,14 @@ type Mutation { "Queries with specified key" key: String): Quote + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" createApprovalRule(draft: ApprovalRuleDraft!, "Create/modify entity as an associate in business-unit." asAssociate: AsAssociateArgument!): ApprovalRule + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" updateApprovalRule(version: Long!, actions: [ApprovalRuleUpdateAction!]!, "Create/modify entity as an associate in business-unit." @@ -6038,6 +6100,8 @@ type Mutation { "Queries with specified key" key: String): ApprovalRule + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" updateApprovalFlow(version: Long!, actions: [ApprovalFlowUpdateAction!]!, "Create/modify entity as an associate in business-unit." @@ -6262,6 +6326,8 @@ type MyPaymentQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [MyPayment!]! } @@ -6385,6 +6451,7 @@ type Order implements Versioned & ReferenceExpandable { customLineItems: [CustomLineItem!]! totalPrice: Money! taxedPrice: TaxedPrice + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" discountOnTotalPrice: DiscountOnTotalPrice shippingAddress: Address billingAddress: Address @@ -6480,6 +6547,17 @@ type OrderCustomFieldRemoved implements MessagePayload & OrderMessagePayload { type: String! } +type OrderCustomTypeRemoved implements MessagePayload & OrderMessagePayload { + previousTypeId: String + type: String! +} + +type OrderCustomTypeSet implements MessagePayload & OrderMessagePayload { + customFields: CustomFieldsType! + previousTypeId: String + type: String! +} + type OrderCustomLineItemAdded implements MessagePayload & OrderMessagePayload { customLineItem: CustomLineItem! type: String! @@ -6508,17 +6586,6 @@ type OrderCustomLineItemRemoved implements MessagePayload & OrderMessagePayload type: String! } -type OrderCustomTypeRemoved implements MessagePayload & OrderMessagePayload { - previousTypeId: String - type: String! -} - -type OrderCustomTypeSet implements MessagePayload & OrderMessagePayload { - customFields: CustomFieldsType! - previousTypeId: String - type: String! -} - type OrderCustomerEmailSet implements MessagePayload & OrderMessagePayload { email: String oldEmail: String @@ -6615,6 +6682,8 @@ type OrderEditQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [OrderEdit!]! } @@ -6724,6 +6793,8 @@ type OrderQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Order!]! } @@ -7037,6 +7108,8 @@ type PaymentQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Payment!]! } @@ -7117,6 +7190,8 @@ enum Permission { AcceptMyQuotes AcceptOthersQuotes AddChildUnits + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" CreateApprovalRules CreateMyCarts CreateMyOrdersFromMyCarts @@ -7134,7 +7209,11 @@ enum Permission { ReassignOthersQuotes RenegotiateMyQuotes RenegotiateOthersQuotes + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" UpdateApprovalFlows + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" UpdateApprovalRules UpdateAssociates UpdateBusinessUnitDetails @@ -7259,6 +7338,8 @@ type ProductAssignment { productSelectionRef: Reference! productSelection: ProductSelection variantSelection: ProductVariantSelection + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" variantExclusion: ProductVariantExclusion } @@ -7266,6 +7347,8 @@ type ProductAssignmentQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ProductAssignment!]! } @@ -7463,6 +7546,8 @@ type ProductDiscountQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ProductDiscount!]! } @@ -7526,6 +7611,8 @@ type ProductOfSelection { productRef: Reference! product: Product variantSelection: ProductVariantSelection + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" variantExclusion: ProductVariantExclusion } @@ -7533,6 +7620,8 @@ type ProductOfSelectionQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ProductOfSelection!]! } @@ -7808,6 +7897,8 @@ type ProductQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Product!]! } @@ -7941,7 +8032,7 @@ enum ProductSelectionMode { "Mode of Product Selection used to include a specific list of individual Products" Individual - "Mode of Product Selection used to exclude a specific list of individual Products" + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta. Mode of Product Selection used to exclude a specific list of individual Products" IndividualExclusion } @@ -7952,6 +8043,7 @@ type ProductSelectionProductAdded implements MessagePayload { type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ProductSelectionProductExcluded implements MessagePayload { variantExclusion: ProductVariantExclusion product: Product @@ -7974,6 +8066,8 @@ type ProductSelectionQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ProductSelection!]! } @@ -7997,15 +8091,20 @@ input ProductSelectionSettingInActionInput { input ProductSelectionUpdateAction { addProduct: AddProductSelectionProduct changeName: ChangeProductSelectionName + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" excludeProduct: ExcludeProductSelectionProduct removeProduct: RemoveProductSelectionProduct setCustomField: SetProductSelectionCustomField setCustomType: SetProductSelectionCustomType setKey: SetProductSelectionKey + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" setVariantExclusion: SetProductSelectionVariantExclusion setVariantSelection: SetProductSelectionVariantSelection } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ProductSelectionVariantExclusionChanged implements MessagePayload { oldVariantExclusion: ProductVariantExclusion newVariantExclusion: ProductVariantExclusion @@ -8077,6 +8176,8 @@ type ProductTypeDefinitionQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ProductTypeDefinition!]! } @@ -8255,13 +8356,15 @@ type ProductVariantAvailabilityWithChannels { type ProductVariantDeleted implements MessagePayload { removedImageUrls: Set! variant: ProductVariant - type: String! + type: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type ProductVariantExclusion { skus: [String!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input ProductVariantExclusionDraft { skus: [String!] } @@ -8309,7 +8412,6 @@ type ProjectCustomLimitsProjection { products: ProductLimitsProjection! shoppingLists: ShoppingListLimitsProjection! extensions: ExtensionLimitsProjection! - subscriptions: SubscriptionsLimitsProjection! productDiscounts: ProductDiscountLimitsProjection! cartDiscounts: CartDiscountLimitsProjection! orderEdits: OrderEditLimitsProjection! @@ -8760,6 +8862,8 @@ type QuoteQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Quote!]! } @@ -8856,6 +8960,8 @@ type QuoteRequestQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [QuoteRequest!]! } @@ -9083,6 +9189,7 @@ type RefreshTokenLimitsProjection { total: RefreshTokenLimitWithCurrent! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input RejectApprovalFlow { reason: String } @@ -9136,6 +9243,7 @@ input RemoveCartDiscountCode { discountCode: ReferenceInput! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input RemoveCartDiscountStore { store: ResourceIdentifierInput! } @@ -9549,6 +9657,8 @@ type ReviewQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Review!]! } @@ -9612,20 +9722,24 @@ enum RoundingMode { HalfUp } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type RuleApprover { associateRole: AssociateRole! associateRoleRef: KeyReference! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input RuleApproverDraft { associateRole: ResourceIdentifierInput! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" type RuleRequester { associateRole: AssociateRole! associateRoleRef: KeyReference! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input RuleRequesterDraft { associateRole: ResourceIdentifierInput! } @@ -9692,6 +9806,7 @@ type ScoreShippingRateInputDraftOutput implements ShippingRateInputDraftOutput { } input SearchFacetInput { + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" model: SearchFacetModelInput string: String } @@ -9702,6 +9817,7 @@ input SearchFacetModelInput { } input SearchFilterInput { + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" model: SearchFilterModelInput string: String } @@ -9717,7 +9833,7 @@ input SearchFilterModelInput { type SearchIndexingConfiguration { products: SearchIndexingConfigurationValues orders: OrderSearchConfiguration -} + } type SearchIndexingConfigurationValues { status: SearchIndexingStatus @@ -9780,14 +9896,18 @@ type SelectionOfProduct { productSelectionRef: Reference! productSelection: ProductSelection variantSelection: ProductVariantSelection + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" variantExclusion: ProductVariantExclusion createdAt: DateTime! -} + } type SelectionOfProductQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [SelectionOfProduct!]! } @@ -9795,42 +9915,37 @@ type SelectionOfProductQueryResult { "A set." scalar Set -input SetApprovalFlowCustomField { - name: String! - value: String -} - -input SetApprovalFlowCustomType { - fields: [CustomFieldInput!] - type: ResourceIdentifierInput - typeKey: String - typeId: String -} - +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRuleApprovers { approvers: ApproverHierarchyDraft! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRuleDescription { description: String } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRuleKey { key: String } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRuleName { name: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRulePredicate { predicate: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRuleRequesters { requesters: [RuleRequesterDraft!]! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetApprovalRuleStatus { status: ApprovalRuleStatus! } @@ -9986,13 +10101,13 @@ input SetCartCustomLineItemTaxAmount { customLineItemId: String customLineItemKey: String externalTaxAmount: ExternalTaxAmountDraft -} + } input SetCartCustomLineItemTaxRate { customLineItemId: String customLineItemKey: String externalTaxRate: ExternalTaxRateDraft -} + } input SetCartCustomShippingMethod { shippingMethodName: String! @@ -10048,6 +10163,7 @@ input SetCartDiscountKey { key: String } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" input SetCartDiscountStores { stores: [ResourceIdentifierInput!] } @@ -11434,27 +11550,27 @@ input SetStagedOrderCustomLineItemTaxAmount { customLineItemId: String customLineItemKey: String externalTaxAmount: ExternalTaxAmountDraft -} + } type SetStagedOrderCustomLineItemTaxAmountOutput implements StagedOrderUpdateActionOutput { type: String! customLineItemId: String customLineItemKey: String externalTaxAmount: ExternalTaxAmountDraftOutput -} + } input SetStagedOrderCustomLineItemTaxRate { customLineItemId: String customLineItemKey: String externalTaxRate: ExternalTaxRateDraft -} + } type SetStagedOrderCustomLineItemTaxRateOutput implements StagedOrderUpdateActionOutput { type: String! customLineItemId: String customLineItemKey: String externalTaxRate: ExternalTaxRateDraftOutput -} + } input SetStagedOrderCustomShippingMethod { shippingMethodName: String! @@ -12310,6 +12426,8 @@ type ShippingMethodQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ShippingMethod!]! } @@ -12587,6 +12705,8 @@ type ShoppingListQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [ShoppingList!]! } @@ -12799,6 +12919,8 @@ type StagedQuoteQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [StagedQuote!]! } @@ -12912,6 +13034,8 @@ type StandalonePriceQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [StandalonePrice!]! } @@ -13031,6 +13155,8 @@ type StateQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [State!]! } @@ -13175,6 +13301,8 @@ type StoreQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Store!]! } @@ -13258,10 +13386,6 @@ input SubscriptionUpdateAction { setMessages: SetSubscriptionMessages } -type SubscriptionsLimitsProjection { - maxSubscriptions: Limit! -} - type SuggestResult { searchKeywords: [SuggestResultEntry!]! } @@ -13353,6 +13477,8 @@ type TaxCategoryQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [TaxCategory!]! } @@ -13559,6 +13685,14 @@ type TimeType implements FieldType { name: String! } +"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" +type DiscountOnTotalPrice { + discountedAmount: BaseMoney! + includedDiscounts: [DiscountedTotalPricePortion!]! + discountedNetAmount: BaseMoney + discountedGrossAmount: BaseMoney +} + type TrackingData { trackingId: String carrier: String @@ -13781,6 +13915,8 @@ type TypeDefinitionQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [TypeDefinition!]! } @@ -13929,6 +14065,8 @@ type ZoneQueryResult { offset: Int! count: Int! total: Long! + + "BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta" exists: Boolean! results: [Zone!]! } diff --git a/api-specs/history/types/change/AddAddressChange.raml b/api-specs/history/types/change/AddAddressChange.raml index bff945eda..92c3e4a6c 100644 --- a/api-specs/history/types/change/AddAddressChange.raml +++ b/api-specs/history/types/change/AddAddressChange.raml @@ -13,6 +13,9 @@ properties: type: string enum: - AddAddressChange + previousValue: + type: Address + description: Value before the change. nextValue: type: Address description: Value after the change. diff --git a/api-specs/history/types/change/AddChannelRolesChange.raml b/api-specs/history/types/change/AddChannelRolesChange.raml index 0a8ea4b9e..58638df7c 100644 --- a/api-specs/history/types/change/AddChannelRolesChange.raml +++ b/api-specs/history/types/change/AddChannelRolesChange.raml @@ -16,10 +16,10 @@ properties: previousValue: type: array items: - type: ChannelRoleEnum + type: ChannelRole description: Value before the change. nextValue: type: array items: - type: ChannelRoleEnum + type: ChannelRole description: Value after the change. diff --git a/api-specs/history/types/change/AddLocalizedEnumValueChange.raml b/api-specs/history/types/change/AddLocalizedEnumValueChange.raml index 37c0a887c..0033d9bec 100644 --- a/api-specs/history/types/change/AddLocalizedEnumValueChange.raml +++ b/api-specs/history/types/change/AddLocalizedEnumValueChange.raml @@ -18,7 +18,7 @@ properties: enum: - addLocalizedEnumValue nextValue: - type: AttributeLocalizedEnumValue + type: LocalizedEnumValue description: Value after the change. fieldName: type: string diff --git a/api-specs/history/types/change/AddLocationChange.raml b/api-specs/history/types/change/AddLocationChange.raml index 296e1d3bc..caa0a51e6 100644 --- a/api-specs/history/types/change/AddLocationChange.raml +++ b/api-specs/history/types/change/AddLocationChange.raml @@ -13,6 +13,9 @@ properties: type: string enum: - addLocation + previousValue: + type: Location + description: Value before the change. nextValue: type: Location description: Value after the change. diff --git a/api-specs/history/types/change/AddPlainEnumValueChange.raml b/api-specs/history/types/change/AddPlainEnumValueChange.raml index 109a595f6..42574eeb0 100644 --- a/api-specs/history/types/change/AddPlainEnumValueChange.raml +++ b/api-specs/history/types/change/AddPlainEnumValueChange.raml @@ -14,7 +14,7 @@ properties: enum: - addPlainEnumValue nextValue: - type: AttributePlainEnumValue + type: EnumValue description: Value after the change. attributeName: type: string diff --git a/api-specs/history/types/change/AddStateRolesChange.raml b/api-specs/history/types/change/AddStateRolesChange.raml index 296d68e12..0f60c118f 100644 --- a/api-specs/history/types/change/AddStateRolesChange.raml +++ b/api-specs/history/types/change/AddStateRolesChange.raml @@ -16,10 +16,10 @@ properties: previousValue: type: array items: - type: StateRoleEnum + type: StateRole description: Value before the change. nextValue: type: array items: - type: StateRoleEnum + type: StateRole description: Value after the change. diff --git a/api-specs/history/types/change/ChangeDescriptionChange.raml b/api-specs/history/types/change/ChangeDescriptionChange.raml index 4cccf7e52..77ed4a2c2 100644 --- a/api-specs/history/types/change/ChangeDescriptionChange.raml +++ b/api-specs/history/types/change/ChangeDescriptionChange.raml @@ -4,8 +4,10 @@ type: Change displayName: ChangeDescriptionChange discriminatorValue: ChangeDescriptionChange description: | - Change triggered by the [Change Description](ctp:api:type:ProductTypeChangeDescriptionAction) update action. + Change triggered by the following update actions: + - [Change Description](ctp:api:type:ChannelChangeDescriptionAction) on Channels. + - [Change Description](ctp:api:type:ProductTypeChangeDescriptionAction) on Product Types. properties: type: type: string diff --git a/api-specs/history/types/change/ChangeLocalizedDescriptionChange.raml b/api-specs/history/types/change/ChangeLocalizedDescriptionChange.raml index 839a60661..982802862 100644 --- a/api-specs/history/types/change/ChangeLocalizedDescriptionChange.raml +++ b/api-specs/history/types/change/ChangeLocalizedDescriptionChange.raml @@ -4,8 +4,10 @@ type: Change displayName: ChangeLocalizedDescriptionChange discriminatorValue: ChangeLocalizedDescriptionChange description: | - Change triggered by the [Change Description](ctp:api:type:ChannelChangeDescriptionAction) update action. + Change triggered by the following update actions: + - [Change Description](ctp:api:type:ProductTypeChangeDescriptionAction) on Product Types. + - [Change Description](ctp:api:type:ChannelChangeDescriptionAction) on Channels. properties: type: type: string diff --git a/api-specs/history/types/change/ChangeLocalizedNameChange.raml b/api-specs/history/types/change/ChangeLocalizedNameChange.raml index 71451f4f6..bdbc437da 100644 --- a/api-specs/history/types/change/ChangeLocalizedNameChange.raml +++ b/api-specs/history/types/change/ChangeLocalizedNameChange.raml @@ -9,10 +9,14 @@ description: | - [Change Name](ctp:api:type:CartDiscountChangeNameAction) on Cart Discounts. - [Change Name](ctp:api:type:CategoryChangeNameAction) on Categories. - [Change Name](ctp:api:type:ChannelChangeNameAction) on Channels. + - [Change Name](ctp:api:type:CustomerGroupChangeNameAction) on Customer Groups. - [Change Name](ctp:api:type:ProductChangeNameAction) on Products. - [Change Name](ctp:api:type:ProductDiscountChangeNameAction) on Product Discounts. - [Change Name](ctp:api:type:ProductSelectionChangeNameAction) on Product Selections. + - [Change Name](ctp:api:type:ProductTypeChangeNameAction) on Product Types. - [Change Name](ctp:api:type:ShoppingListChangeNameAction) on Shopping Lists. + - [Change Name](ctp:api:type:TaxCategoryChangeNameAction) on Tax Categories. + - [Change Name](ctp:api:type:TypeChangeNameAction) on Types. - [Change Name](ctp:api:type:ZoneChangeNameAction) on Zones. properties: type: diff --git a/api-specs/history/types/change/ChangeNameChange.raml b/api-specs/history/types/change/ChangeNameChange.raml index 769b0ee2c..e3fd9ac19 100644 --- a/api-specs/history/types/change/ChangeNameChange.raml +++ b/api-specs/history/types/change/ChangeNameChange.raml @@ -6,9 +6,17 @@ discriminatorValue: ChangeNameChange description: | Change triggered by the following update actions: + - [Change Name](ctp:api:type:CartDiscountChangeNameAction) on Cart Discounts. + - [Change Name](ctp:api:type:CategoryChangeNameAction) on Categories. + - [Change Name](ctp:api:type:ChannelChangeNameAction) on Channels. - [Change Name](ctp:api:type:CustomerGroupChangeNameAction) on Customer Groups. + - [Change Name](ctp:api:type:ProductChangeNameAction) on Products. + - [Change Name](ctp:api:type:ProductDiscountChangeNameAction) on Product Discounts. + - [Change Name](ctp:api:type:ProductSelectionChangeNameAction) on Product Selections. - [Change Name](ctp:api:type:ProductTypeChangeNameAction) on Product Types. + - [Change Name](ctp:api:type:ShoppingListChangeNameAction) on Shopping Lists. - [Change Name](ctp:api:type:TaxCategoryChangeNameAction) on Tax Categories. + - [Change Name](ctp:api:type:TypeChangeNameAction) on Types. - [Change Name](ctp:api:type:ZoneChangeNameAction) on Zones. properties: type: diff --git a/api-specs/history/types/change/ChangeStateTypeChange.raml b/api-specs/history/types/change/ChangeStateTypeChange.raml index ab5080f0d..904b911ee 100644 --- a/api-specs/history/types/change/ChangeStateTypeChange.raml +++ b/api-specs/history/types/change/ChangeStateTypeChange.raml @@ -14,8 +14,8 @@ properties: enum: - changeType previousValue: - type: StateTypeEnum + type: StateType description: Value before the change. nextValue: - type: StateTypeEnum + type: StateType description: Value after the change. diff --git a/api-specs/history/types/change/RemoveChannelRolesChange.raml b/api-specs/history/types/change/RemoveChannelRolesChange.raml index 57ce942f1..a1c3153f2 100644 --- a/api-specs/history/types/change/RemoveChannelRolesChange.raml +++ b/api-specs/history/types/change/RemoveChannelRolesChange.raml @@ -16,10 +16,10 @@ properties: previousValue: type: array items: - type: ChannelRoleEnum + type: ChannelRole description: Value before the change. nextValue: type: array items: - type: ChannelRoleEnum + type: ChannelRole description: Value after the change. diff --git a/api-specs/history/types/change/RemoveLocationChange.raml b/api-specs/history/types/change/RemoveLocationChange.raml index 5e5ae74c9..bb8b8182f 100644 --- a/api-specs/history/types/change/RemoveLocationChange.raml +++ b/api-specs/history/types/change/RemoveLocationChange.raml @@ -16,3 +16,6 @@ properties: previousValue: type: Location description: Value before the change. + nextValue: + type: Location + description: Value after the change. diff --git a/api-specs/history/types/change/RemoveStateRolesChange.raml b/api-specs/history/types/change/RemoveStateRolesChange.raml index 1f2eb4920..cee4834f6 100644 --- a/api-specs/history/types/change/RemoveStateRolesChange.raml +++ b/api-specs/history/types/change/RemoveStateRolesChange.raml @@ -16,10 +16,10 @@ properties: previousValue: type: array items: - type: StateRoleEnum + type: StateRole description: Value before the change. nextValue: type: array items: - type: StateRoleEnum + type: StateRole description: Value after the change. diff --git a/api-specs/history/types/change/RemoveTaxRateChange.raml b/api-specs/history/types/change/RemoveTaxRateChange.raml index 5cb759695..b01103d6b 100644 --- a/api-specs/history/types/change/RemoveTaxRateChange.raml +++ b/api-specs/history/types/change/RemoveTaxRateChange.raml @@ -16,3 +16,6 @@ properties: previousValue: type: TaxRate description: Value before the change. + nextValue: + type: TaxRate + description: Value after the change. diff --git a/api-specs/history/types/change/SetChannelRolesChange.raml b/api-specs/history/types/change/SetChannelRolesChange.raml index d84e2fc51..153aacb05 100644 --- a/api-specs/history/types/change/SetChannelRolesChange.raml +++ b/api-specs/history/types/change/SetChannelRolesChange.raml @@ -16,10 +16,10 @@ properties: previousValue: type: array items: - type: ChannelRoleEnum + type: ChannelRole description: Value before the change. nextValue: type: array items: - type: ChannelRoleEnum + type: ChannelRole description: Value after the change. diff --git a/api-specs/history/types/change/SetDescriptionChange.raml b/api-specs/history/types/change/SetDescriptionChange.raml index 580a30933..d6098976b 100644 --- a/api-specs/history/types/change/SetDescriptionChange.raml +++ b/api-specs/history/types/change/SetDescriptionChange.raml @@ -6,7 +6,15 @@ discriminatorValue: SetDescriptionChange description: | Change triggered by the following update actions: + - [Set Description](ctp:api:type:CartDiscountSetDescriptionAction) on Cart Discounts. + - [Set Description](ctp:api:type:CategorySetDescriptionAction) on Categories. + - [Set Description](ctp:api:type:DiscountCodeSetDescriptionAction) on Discount Codes. + - [Set Description](ctp:api:type:ProductSetDescriptionAction) on Products. + - [Set Description](ctp:api:type:ProductDiscountSetDescriptionAction) on Product Discounts. + - [Set Description](ctp:api:type:ShoppingListSetDescriptionAction) on Shopping Lists. + - [Set Description](ctp:api:type:StateSetDescriptionAction) on States. - [Set Description](ctp:api:type:TaxCategorySetDescriptionAction) on Tax Categories. + - [Set Description](ctp:api:type:TypeSetDescriptionAction) on Types. - [Set Description](ctp:api:type:ZoneSetDescriptionAction) on Zones. properties: type: diff --git a/api-specs/history/types/change/SetLocalizedDescriptionChange.raml b/api-specs/history/types/change/SetLocalizedDescriptionChange.raml index 7f67cb146..24cc5414c 100644 --- a/api-specs/history/types/change/SetLocalizedDescriptionChange.raml +++ b/api-specs/history/types/change/SetLocalizedDescriptionChange.raml @@ -13,7 +13,9 @@ description: | - [Set Description](ctp:api:type:ProductDiscountSetDescriptionAction) on Product Discounts. - [Set Description](ctp:api:type:ShoppingListSetDescriptionAction) on Shopping Lists. - [Set Description](ctp:api:type:StateSetDescriptionAction) on States. + - [Set Description](ctp:api:type:TaxCategorySetDescriptionAction) on Tax Categories. - [Set Description](ctp:api:type:TypeSetDescriptionAction) on Types. + - [Set Description](ctp:api:type:ZoneSetDescriptionAction) on Zones. properties: type: type: string diff --git a/api-specs/history/types/change/SetStateRolesChange.raml b/api-specs/history/types/change/SetStateRolesChange.raml index 71f294e22..ab3c821b2 100644 --- a/api-specs/history/types/change/SetStateRolesChange.raml +++ b/api-specs/history/types/change/SetStateRolesChange.raml @@ -16,10 +16,10 @@ properties: previousValue: type: array items: - type: StateRoleEnum + type: StateRole description: Value before the change. nextValue: type: array items: - type: StateRoleEnum + type: StateRole description: Value after the change. diff --git a/api-specs/history/types/common/AttributeLocalizedEnumValue.raml b/api-specs/history/types/common/AttributeLocalizedEnumValue.raml deleted file mode 100644 index 392207067..000000000 --- a/api-specs/history/types/common/AttributeLocalizedEnumValue.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -(package): Common -type: object -displayName: AttributeLocalizedEnumValue -description: | - A localized enum value must be unique within the enum, else a [DuplicateEnumValues](ctp:api:type:DuplicateEnumValuesError) error is returned. -properties: - key: - type: string - description: | - Key of the value used as a programmatic identifier, for example in facets & filters. - label: - type: LocalizedString - description: | - Descriptive, localized label of the value. diff --git a/api-specs/history/types/common/AttributePlainEnumValue.raml b/api-specs/history/types/common/AttributePlainEnumValue.raml deleted file mode 100644 index 2370d211e..000000000 --- a/api-specs/history/types/common/AttributePlainEnumValue.raml +++ /dev/null @@ -1,15 +0,0 @@ -#%RAML 1.0 DataType -(package): Common -type: object -displayName: AttributePlainEnumValue -description: | - A plain enum value must be unique within the enum, else a [DuplicateEnumValues](ctp:api:type:DuplicateEnumValuesError) error is returned. -properties: - key: - type: string - description: | - Key of the value used as a programmatic identifier, for example in facets & filters. - label: - type: string - description: | - Descriptive label of the value. diff --git a/api-specs/history/types/common/ChannelRoleEnum.raml b/api-specs/history/types/common/ChannelRole.raml similarity index 52% rename from api-specs/history/types/common/ChannelRoleEnum.raml rename to api-specs/history/types/common/ChannelRole.raml index f62feac1d..07f0dfc56 100644 --- a/api-specs/history/types/common/ChannelRoleEnum.raml +++ b/api-specs/history/types/common/ChannelRole.raml @@ -1,9 +1,8 @@ #%RAML 1.0 DataType (package): Common -displayName: ChannelRoleEnum type: string -description: | - Describes the purpose and type of the Channel. A Channel can have one or more roles. +displayName: ChannelRole +description: enum: - InventorySupply - ProductDistribution diff --git a/api-specs/history/types/common/StateRoleEnum.raml b/api-specs/history/types/common/StateRole.raml similarity index 51% rename from api-specs/history/types/common/StateRoleEnum.raml rename to api-specs/history/types/common/StateRole.raml index c5663c3b4..f09b3a685 100644 --- a/api-specs/history/types/common/StateRoleEnum.raml +++ b/api-specs/history/types/common/StateRole.raml @@ -1,8 +1,8 @@ #%RAML 1.0 DataType (package): Common type: string -description: | - For some resource types, a State can fulfill the following predefined roles: +displayName: StateRole +description: enum: - ReviewIncludedInStatistics - Return diff --git a/api-specs/history/types/common/StateTypeEnum.raml b/api-specs/history/types/common/StateType.raml similarity index 52% rename from api-specs/history/types/common/StateTypeEnum.raml rename to api-specs/history/types/common/StateType.raml index 62d4bce44..87ce8da6a 100644 --- a/api-specs/history/types/common/StateTypeEnum.raml +++ b/api-specs/history/types/common/StateType.raml @@ -1,14 +1,11 @@ #%RAML 1.0 DataType (package): Common type: string -description: | - Resource or object type the State can be assigned to. +displayName: StateType +description: enum: - OrderState - LineItemState - ProductState - ReviewState - PaymentState - - QuoteRequestState - - StagedQuoteState - - QuoteState diff --git a/api-specs/history/types/types.raml b/api-specs/history/types/types.raml index f365da767..6e0e494a5 100644 --- a/api-specs/history/types/types.raml +++ b/api-specs/history/types/types.raml @@ -59,8 +59,6 @@ AssociateRoleInheritanceMode: !include common/AssociateRoleInheritanceMode.raml AssociateRoleLabel: !include label/AssociateRoleLabel.raml AttributeConstraintEnum: !include common/AttributeConstraintEnum.raml AttributeDefinition: !include common/AttributeDefinition.raml -AttributeLocalizedEnumValue: !include common/AttributeLocalizedEnumValue.raml -AttributePlainEnumValue: !include common/AttributePlainEnumValue.raml AttributeType: !include common/AttributeType.raml AttributeValue: !include change/change-value/AttributeValue.raml AuthenticationMode: !include common/AuthenticationMode.raml @@ -146,7 +144,7 @@ ChangeValueChange: !include change/ChangeValueChange.raml ChangeValueExternalChangeValue: !include change/change-value/ChangeValueExternalChangeValue.raml ChangeValueGiftLineItemChangeValue: !include change/change-value/ChangeValueGiftLineItemChangeValue.raml ChangeValueRelativeChangeValue: !include change/change-value/ChangeValueRelativeChangeValue.raml -ChannelRoleEnum: !include common/ChannelRoleEnum.raml +ChannelRole: !include common/ChannelRole.raml CountryCode: !include common/CountryCode.raml CurrencyCode: !include common/CurrencyCode.raml CustomFieldExpandedValue: !include change/change-value/CustomFieldExpandedValue.raml @@ -410,8 +408,8 @@ ShoppingListLineItemValue: !include change/change-value/ShoppingListLineItemValu StackingMode: !include common/StackingMode.raml StagedQuoteLabel: !include label/StagedQuoteLabel.raml StagedQuoteState: !include common/StagedQuoteState.raml -StateRoleEnum: !include common/StateRoleEnum.raml -StateTypeEnum: !include common/StateTypeEnum.raml +StateRole: !include common/StateRole.raml +StateType: !include common/StateType.raml StoreCountry: !include common/StoreCountry.raml StringLabel: !include label/StringLabel.raml SubRate: !include common/SubRate.raml diff --git a/api-specs/importapi/api.raml b/api-specs/importapi/api.raml index d897f5de6..237e6a401 100644 --- a/api-specs/importapi/api.raml +++ b/api-specs/importapi/api.raml @@ -249,7 +249,6 @@ traits: 200: body: type: import-summary.ImportSummary - example: !include examples/import-summary.json /import-operations: type: base get: @@ -268,7 +267,7 @@ traits: Number of [elements skipped](/../api/general-concepts#offset). sort?: description: | - See [Sorting](/../api/general-concepts#sorting). + See [Sorting](https://docs.commercetools.com/api/general-concepts#sorting). type: string[] resourceKey?: description: | diff --git a/api-specs/importapi/examples/import-summary.json b/api-specs/importapi/examples/import-summary.json deleted file mode 100644 index fa173f2cd..000000000 --- a/api-specs/importapi/examples/import-summary.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "states": { - "processing": 3, - "validationFailed": 0, - "unresolved": 0, - "waitForMasterVariant": 0, - "imported": 2, - "rejected": 0, - "canceled": 0 - }, - "total": 5 -} diff --git a/api-specs/importapi/types/order-import.raml b/api-specs/importapi/types/order-import.raml index ddf07aae0..5300f9a10 100644 --- a/api-specs/importapi/types/order-import.raml +++ b/api-specs/importapi/types/order-import.raml @@ -443,7 +443,7 @@ types: The data representation for an Order to be imported that is persisted as an [Order](/../api/projects/orders#top) in the Project. In commercetools, you can import an Order using the - [Create Order by Import](ctp:importapi:endpoint:/{projectKey}/orders/import:POST) + [Create Order by Import](/../api/projects/orders-import#create-order-by-import) endpoint method instead of creating it from a Cart. An OrderImport is a snapshot of an order at the time it was imported. diff --git a/api-specs/ml/api.raml b/api-specs/ml/api.raml new file mode 100644 index 000000000..dd22dc753 --- /dev/null +++ b/api-specs/ml/api.raml @@ -0,0 +1,34 @@ +#%RAML 1.0 +--- +title: commercetools Composable Commerce Machine Learning API +version: v1 +mediaType: application/json +baseUri: https://ml-eu.europe-west1.gcp.commercetools.com + +uses: + category-recommendations: types/category-recommendations.raml + general-recommendations: types/general-recommendations.raml + image-search: types/image-search.raml + image-search-config: types/image-search-config.raml + missing-data: types/missing-data.raml + common: types/common.raml + similar-products: types/similar-products.raml + annotations: types/annotations.raml +(annotations.products): + - Composable Commerce + +securitySchemes: + oauth_2_0: !include securitySchemes/oauth2.raml +securedBy: [oauth_2_0] + +/{projectKey}: + (annotations.methodName): withProjectKey + uriParameters: + projectKey: + type: string + /image-search: !include resources/image-search.raml + /recommendations: + /project-categories: !include resources/category-recommendations.raml + /general-categories: !include resources/general-recommendations.raml + /missing-data: !include resources/missing-data.raml + /similarities: !include resources/similar-products.raml diff --git a/api-specs/ml/examples/category-recommendations.json b/api-specs/ml/examples/category-recommendations.json new file mode 100644 index 000000000..d993be470 --- /dev/null +++ b/api-specs/ml/examples/category-recommendations.json @@ -0,0 +1,34 @@ +{ + "count": 2, + "total": 16, + "offset": 0, + "results": [ + { + "category": { + "id": "c077eb33-c5fe-4560-af75-abb8b205ca25", + "typeId": "category" + }, + "confidence": 0.08427, + "path": "Men > Shoes" + }, + { + "category": { + "id": "b0b08091-8e32-4601-948a-8b504606d3ac", + "typeId": "category" + }, + "confidence": 0.08319, + "path": "Accessories > Men > Shoes" + } + ], + "meta": { + "productName": "Runner – Philippe Model “Tropez”", + "productImageUrl": "https://s3-eu-west-1.amazonaws.com/commercetools-maximilian/products/083442_1_medium.jpg?$mcsmall$", + "generalCategoryNames": [ + "shoes", + "sports", + "fitness", + "sneakers", + "loafers" + ] + } +} diff --git a/api-specs/ml/examples/general-recommendations.json b/api-specs/ml/examples/general-recommendations.json new file mode 100644 index 000000000..987bd4fe1 --- /dev/null +++ b/api-specs/ml/examples/general-recommendations.json @@ -0,0 +1,19 @@ +{ + "count": 3, + "total": 11, + "offset": 0, + "results": [ + { + "categoryName": "headwear", + "confidence": 0.06584 + }, + { + "categoryName": "caps", + "confidence": 0.0279 + }, + { + "categoryName": "women", + "confidence": 0.02391 + } + ] +} diff --git a/api-specs/ml/examples/image-search.json b/api-specs/ml/examples/image-search.json new file mode 100644 index 000000000..f814ef260 --- /dev/null +++ b/api-specs/ml/examples/image-search.json @@ -0,0 +1,62 @@ +{ + "count": 3, + "offset": 0, + "total": 110, + "results": [ + { + "imageUrl": "http://cdn6.bigcommerce.com/s-stm8v/products/586/images/1711/3D_GOLF_HOODIE_BLACK__17630.1481286168.490.588.jpg?c=2", + "productVariants": [ + { + "product": { + "id": "0f5feac3-b50f-447b-8c36-7603153a2dd0", + "typeId": "product" + }, + "staged": true, + "variantId": 1 + } + ] + }, + { + "imageUrl": "http://images.koovscdn.com/uploads/products/81364_1a41bcd8e5e3a8bf675c48aa2be132a3_image1_zoom.jpg", + "productVariants": [ + { + "product": { + "id": "8a7f5101-8b20-4ba6-8988-ff43dbf35d3d", + "typeId": "product" + }, + "staged": true, + "variantId": 1 + } + ] + }, + { + "imageUrl": "http://sandiegobrewing.com/gear/wp-content/uploads/2015/03/guy-white-380x380.png", + "productVariants": [ + { + "product": { + "id": "15245f8f-478b-426a-b3a9-41e8257f39d9", + "typeId": "product" + }, + "staged": true, + "variantId": 1 + }, + { + "product": { + "id": "a315869c-3d78-476c-99d1-3dec4375a97a", + "typeId": "product" + }, + "staged": false, + "variantId": 1 + }, + { + "product": { + "id": "a315869c-3d78-476c-99d1-3dec4375a97a", + "typeId": "product" + }, + "staged": true, + "variantId": 1 + } + ] + } + ] +} diff --git a/api-specs/ml/examples/missing-data-response.json b/api-specs/ml/examples/missing-data-response.json new file mode 100644 index 000000000..63e48e753 --- /dev/null +++ b/api-specs/ml/examples/missing-data-response.json @@ -0,0 +1,45 @@ +{ + "result": { + "count": 1, + "offset": 0, + "total": 26137, + "meta": { + "productLevel": { + "total": 2968, + "missingAttributeNames": 2968, + "missingAttributeValues": 2968 + }, + "variantLevel": { + "total": 26137, + "missingAttributeNames": 26137, + "missingAttributeValues": 26137 + } + }, + "results": [ + { + "product": { + "id": "a8e01ea0-4181-4b00-9a2d-198504c6e4bd", + "typeId": "product" + }, + "productType": { + "id": "e7878071-7713-4f37-9ddd-dfc99b9b33dc", + "typeId": "product-type" + }, + "variantId": 1, + "attributeCount": { + "productTypeAttributes": 15, + "variantAttributes": 12, + "missingAttributeValues": 2 + }, + "attributeCoverage": { + "names": 0.8, + "values": 0.83 + }, + "missingAttributeNames": ["designer", "color", "style"], + "missingAttributeValues": ["completeTheLook", "lookProducts"] + } + ] + }, + "state": "SUCCESS", + "expires": "2019-01-19T15:00:56.546614Z" +} diff --git a/api-specs/ml/examples/missing-data-token.json b/api-specs/ml/examples/missing-data-token.json new file mode 100644 index 000000000..517800231 --- /dev/null +++ b/api-specs/ml/examples/missing-data-token.json @@ -0,0 +1,4 @@ +{ + "taskId": "b37e87f3-1d2b-4550-83ef-bd2e7e7f1b09", + "uriPath": "/{projectKey}/missing-data/attributes/status/b37e87f3-1d2b-4550-83ef-bd2e7e7f1b09" +} diff --git a/api-specs/ml/examples/missing-images-response.json b/api-specs/ml/examples/missing-images-response.json new file mode 100644 index 000000000..628ecbfb6 --- /dev/null +++ b/api-specs/ml/examples/missing-images-response.json @@ -0,0 +1,30 @@ +{ + "result": { + "count": 1, + "offset": 0, + "total": 7, + "meta": { + "threshold": 1, + "productLevel": { + "total": 2968, + "missingImages": 1 + }, + "variantLevel": { + "total": 29105, + "missingImages": 7 + } + }, + "results": [ + { + "product": { + "id": "a2a9db01-00fe-436d-b56e-2545642984c0", + "typeId": "product" + }, + "variantId": 2, + "imageCount": 0 + } + ] + }, + "state": "SUCCESS", + "expires": "2019-01-19T15:09:27.791377Z" +} diff --git a/api-specs/ml/examples/missing-prices-response.json b/api-specs/ml/examples/missing-prices-response.json new file mode 100644 index 000000000..d745ba587 --- /dev/null +++ b/api-specs/ml/examples/missing-prices-response.json @@ -0,0 +1,35 @@ +{ + "result": { + "count": 2, + "offset": 0, + "total": 122, + "meta": { + "productLevel": { + "total": 2828, + "missingPrices": 122 + }, + "variantLevel": { + "total": 2828, + "missingPrices": 122 + } + }, + "results": [ + { + "product": { + "id": "d637f362-0940-4902-9e8e-a361ff71d569", + "typeId": "product" + }, + "variantId": 1 + }, + { + "product": { + "id": "9a47c2be-c842-4403-a779-64f8872d587d", + "typeId": "product" + }, + "variantId": 1 + } + ] + }, + "state": "SUCCESS", + "expires": "2019-01-19T16:18:45.121950Z" +} diff --git a/api-specs/ml/examples/similar-products-response.json b/api-specs/ml/examples/similar-products-response.json new file mode 100644 index 000000000..bc7660bb2 --- /dev/null +++ b/api-specs/ml/examples/similar-products-response.json @@ -0,0 +1,45 @@ +{ + "state": "SUCCESS", + "result": { + "count": 1, + "total": 16, + "offset": 0, + "results": [ + { + "confidence": 0.68427, + "products": [ + { + "product": { + "id": "b0b08091-8e32-4601-948a-8b504606d3ac", + "typeId": "product" + }, + "variantId": 1, + "meta": { + "name": { + "en": "White T-Shirt | Commercetools Hackathon Edition | Available in S/M/L" + } + } + }, + + { + "product": { + "id": "46014606-8b50-4606-8292-4a414601948a", + "typeId": "product" + }, + "variantId": 1, + "meta": { + "name": { + "en": "Limited edition of the Commercetools T-Shirt - White Color - Now on Sale!" + } + } + } + ] + } + ], + "meta": { + "similarityMeasures": { + "name": 1 + } + } + } +} diff --git a/api-specs/ml/examples/similar-products-token.json b/api-specs/ml/examples/similar-products-token.json new file mode 100644 index 000000000..6804147d6 --- /dev/null +++ b/api-specs/ml/examples/similar-products-token.json @@ -0,0 +1,4 @@ +{ + "taskId": "078b4eb3-8e29-1276-45b1-8964cf118707", + "uriPath": "/{projectKey}/similarities/products/078b4eb3-8e29-1276-45b1-8964cf118707" +} diff --git a/api-specs/ml/resources/category-recommendations.raml b/api-specs/ml/resources/category-recommendations.raml new file mode 100644 index 000000000..119543e06 --- /dev/null +++ b/api-specs/ml/resources/category-recommendations.raml @@ -0,0 +1,36 @@ +#%RAML 1.0 Library + +/{productId}: + (annotations.methodName): withProductId + uriParameters: + productId: + type: string + get: + description: | + Response Representation: PagedQueryResult with a results array of ProjectCategoryrecommendation, sorted by confidence scores in descending order and the meta information of ProjectCategoryrecommendationMeta. + queryParameters: + limit?: + default: 3 + type: integer + description: | + Number of [results requested](/../api/general-concepts#limit). + offset?: + default: 0 + type: integer + description: | + Number of [elements skipped](/../api/general-concepts#offset). + staged?: + type: boolean + description: Flag to target either the staged or the current version of a Product. + confidenceMin?: + type: number + format: float + confidenceMax?: + type: number + format: float + responses: + 200: + body: + application/json: + type: category-recommendations.ProjectCategoryRecommendationPagedQueryResponse + example: !include ../examples/category-recommendations.json diff --git a/api-specs/ml/resources/general-recommendations.raml b/api-specs/ml/resources/general-recommendations.raml new file mode 100644 index 000000000..dae277795 --- /dev/null +++ b/api-specs/ml/resources/general-recommendations.raml @@ -0,0 +1,39 @@ +#%RAML 1.0 Library + +get: + description: | + This endpoint takes arbitrary product names or image URLs and generates recommendations from a general set of categories, which cover a broad range of industries. The full list of supported categories can be found [here](https://docs.commercetools.com/category_recommendations_supported_categories.txt). These are independent of the categories that are actually defined in your project. The main purpose of this API is to provide a quick way to test the behavior of the category recommendations engine for different names and images. In contrast to the [project-specific endpoint](https://docs.commercetools.com/http-api-projects-categoryrecommendations#project-specific-category-recommendations), this endpoint does not have [activation criteria](https://docs.commercetools.com/http-api-projects-categoryrecommendations#activating-the-api) and is enabled for all projects. + queryParameters: + productImageUrl?: + type: string + description: + Either `productName` or `productImageUrl` is required URL to a product + image. + productName: + type: string + description: + Either `productName` or `productImageUrl` is required. Name of the + product that should get category recommendations (best results with + English names). + limit?: + default: 3 + type: integer + description: | + Number of [results requested](/../api/general-concepts#limit). + offset?: + default: 0 + type: integer + description: | + Number of [elements skipped](/../api/general-concepts#offset). + confidenceMin?: + type: number + format: float + confidenceMax?: + type: number + format: float + responses: + 200: + body: + application/json: + type: general-recommendations.GeneralCategoryRecommendationPagedQueryResponse + example: !include ../examples/general-recommendations.json diff --git a/api-specs/ml/resources/image-search.raml b/api-specs/ml/resources/image-search.raml new file mode 100644 index 000000000..95d746f65 --- /dev/null +++ b/api-specs/ml/resources/image-search.raml @@ -0,0 +1,46 @@ +#%RAML 1.0 Library + +description: | + Search for similar products using an image as search input. +post: + description: | + Accepts an image file and returns similar products from product catalogue. + queryParameters: + limit?: + description: | + Number of [results requested](/../api/general-concepts#limit). + default: 5 + type: integer + offset?: + default: 0 + type: integer + description: | + Number of [elements skipped](/../api/general-concepts#offset). + body: + multipart/form-data: + type: image-search.ImageSearchRequest + fileTypes: ['image/jpeg', 'image/png', 'image/gif'] + responses: + 200: + body: + application/json: + type: image-search.ImageSearchResponse + example: !include ../examples/image-search.json +/config: + get: + description: Get the current image search config. + responses: + 200: + body: + application/json: + type: image-search-config.ImageSearchConfigResponse + post: + description: Endpoint to update the image search config. + body: + application/json: + type: image-search-config.ImageSearchConfigRequest + responses: + 200: + body: + application/json: + type: image-search-config.ImageSearchConfigResponse diff --git a/api-specs/ml/resources/missing-data.raml b/api-specs/ml/resources/missing-data.raml new file mode 100644 index 000000000..b50bcf801 --- /dev/null +++ b/api-specs/ml/resources/missing-data.raml @@ -0,0 +1,105 @@ +#%RAML 1.0 Library +(annotations.deprecated): true +(annotations.beta): true +/attributes: + (annotations.deprecated): true + (annotations.beta): true + post: + (annotations.deprecated): true + (annotations.beta): true + body: + application/json: + type: missing-data.MissingAttributesSearchRequest + responses: + 202: + body: + application/json: + type: common.TaskToken + example: !include ../examples/missing-data-token.json + /status: + (annotations.deprecated): true + (annotations.beta): true + /{taskId}: + (annotations.deprecated): true + (annotations.beta): true + (annotations.methodName): withTaskId + uriParameters: + taskId: + type: string + get: + (annotations.deprecated): true + (annotations.beta): true + responses: + 200: + body: + application/json: + type: missing-data.MissingDataTaskStatus + example: !include ../examples/missing-data-response.json +/images: + (annotations.deprecated): true + (annotations.beta): true + post: + (annotations.deprecated): true + (annotations.beta): true + body: + application/json: + type: missing-data.MissingImagesSearchRequest + responses: + 202: + body: + application/json: + type: common.TaskToken + example: !include ../examples/missing-data-token.json + /status: + (annotations.deprecated): true + (annotations.beta): true + /{taskId}: + (annotations.deprecated): true + (annotations.beta): true + (annotations.methodName): withTaskId + uriParameters: + taskId: + type: string + get: + (annotations.deprecated): true + (annotations.beta): true + responses: + 200: + body: + application/json: + type: missing-data.MissingImagesTaskStatus + example: !include ../examples/missing-images-response.json +/prices: + (annotations.deprecated): true + (annotations.beta): true + post: + (annotations.deprecated): true + (annotations.beta): true + body: + application/json: + type: missing-data.MissingPricesSearchRequest + responses: + 202: + body: + application/json: + type: common.TaskToken + example: !include ../examples/missing-data-token.json + /status: + (annotations.deprecated): true + (annotations.beta): true + /{taskId}: + (annotations.deprecated): true + (annotations.beta): true + (annotations.methodName): withTaskId + uriParameters: + taskId: + type: string + get: + (annotations.deprecated): true + (annotations.beta): true + responses: + 200: + body: + application/json: + type: missing-data.MissingPricesTaskStatus + example: !include ../examples/missing-prices-response.json diff --git a/api-specs/ml/resources/similar-products.raml b/api-specs/ml/resources/similar-products.raml new file mode 100644 index 000000000..92079e9b2 --- /dev/null +++ b/api-specs/ml/resources/similar-products.raml @@ -0,0 +1,26 @@ +#%RAML 1.0 Library + +/products: + post: + body: + application/json: + type: similar-products.SimilarProductSearchRequest + responses: + 202: + body: + application/json: + type: common.TaskToken + example: !include ../examples/similar-products-token.json + /status: + /{taskId}: + (annotations.methodName): withTaskId + uriParameters: + taskId: + type: string + get: + responses: + 200: + body: + application/json: + type: similar-products.SimilarProductsTaskStatus + example: !include ../examples/similar-products-response.json diff --git a/api-specs/ml/ruleset.xml b/api-specs/ml/ruleset.xml new file mode 100644 index 000000000..da3dd12a8 --- /dev/null +++ b/api-specs/ml/ruleset.xml @@ -0,0 +1,66 @@ + + + default + + + + com.commercetools.rmf.validators.ResourcePluralRule + + + + + + + com.commercetools.rmf.validators.PropertyPluralRule + + + + + + + + + + + + + + + + com.commercetools.rmf.validators.StringPropertySingularRule + + + + + + + com.commercetools.rmf.validators.NamedStringEnumRule + + + + + + + + com.commercetools.rmf.validators.PostBodyRule + + + + + + + com.commercetools.rmf.validators.UnionTypePropertyRule + + + + + + + com.commercetools.rmf.validators.DatetimeRule + + + + + + diff --git a/api-specs/ml/securitySchemes/oauth2.raml b/api-specs/ml/securitySchemes/oauth2.raml new file mode 100644 index 000000000..e0ee804e9 --- /dev/null +++ b/api-specs/ml/securitySchemes/oauth2.raml @@ -0,0 +1,49 @@ +#%RAML 1.0 SecurityScheme + +description: | + HTTP API authorization uses [OAuth2](https://datatracker.ietf.org/doc/html/rfc6750){:target="_blank"}. + + Clients must obtain an access token from the auth service using one of + the authorization flows described below, before they are able to make authorized requests + to other SPHERE.IO services. On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: +type: OAuth 2.0 +describedBy: + headers: + Authorization: + description: | + On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: + + Authorization: Bearer {access_token} + type: string + responses: + 401: + description: Unauthorized +settings: + authorizationUri: https://auth.sphere.io/oauth/token + accessTokenUri: https://auth.sphere.io/oauth/token + authorizationGrants: [client_credentials] + scopes: + - 'manage_project:{projectKey}' + - 'manage_products:{projectKey}' + - 'view_products:{projectKey}' + - 'manage_orders:{projectKey}' + - 'view_orders:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_payments:{projectKey}' + - 'view_payments:{projectKey}' + - 'manage_subscriptions:{projectKey}' + - 'manage_extensions:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_types:{projectKey}' + - 'view_types:{projectKey}' + - 'view_shopping_lists:{projectKey}' + - 'manage_shopping_lists:{projectKey}' + - 'manage_my_orders:{projectKey}' + - 'manage_my_profile:{projectKey}' + - 'view_project_settings:{projectKey}' diff --git a/api-specs/ml/securitySchemes/oauth2_anonymous.raml b/api-specs/ml/securitySchemes/oauth2_anonymous.raml new file mode 100644 index 000000000..9a957b800 --- /dev/null +++ b/api-specs/ml/securitySchemes/oauth2_anonymous.raml @@ -0,0 +1,46 @@ +#%RAML 1.0 SecurityScheme + +description: | + HTTP API authorization uses [OAuth2](https://datatracker.ietf.org/doc/html/rfc6750){:target="_blank"}. + + Clients must obtain an access token from the auth service using one of + the authorization flows described below, before they are able to make authorized requests + to other SPHERE.IO services. On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: +type: OAuth 2.0 +describedBy: + headers: + Authorization: + description: | + On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: + + Authorization: Bearer {access_token} + type: string + responses: + 401: + description: Unauthorized +settings: + authorizationUri: https://auth.sphere.io/oauth/{projectKey}/anonymous/token + accessTokenUri: https://auth.sphere.io/oauth/{projectKey}/anonymous/token + authorizationGrants: [client_credentials] + scopes: + - 'manage_project:{projectKey}' + - 'manage_products:{projectKey}' + - 'view_products:{projectKey}' + - 'manage_orders:{projectKey}' + - 'view_orders:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_payments:{projectKey}' + - 'view_payments:{projectKey}' + - 'manage_subscriptions:{projectKey}' + - 'view_subscriptions:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_types:{projectKey}' + - 'view_types:{projectKey}' + - 'manage_my_orders:{projectKey}' + - 'manage_my_profile:{projectKey}' diff --git a/api-specs/ml/securitySchemes/oauth2_password.raml b/api-specs/ml/securitySchemes/oauth2_password.raml new file mode 100644 index 000000000..c2bcd9255 --- /dev/null +++ b/api-specs/ml/securitySchemes/oauth2_password.raml @@ -0,0 +1,46 @@ +#%RAML 1.0 SecurityScheme + +description: | + HTTP API authorization uses [OAuth2](https://datatracker.ietf.org/doc/html/rfc6750){:target="_blank"}. + + Clients must obtain an access token from the auth service using one of + the authorization flows described below, before they are able to make authorized requests + to other SPHERE.IO services. On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: +type: OAuth 2.0 +describedBy: + headers: + Authorization: + description: | + On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: + + Authorization: Bearer {access_token} + type: string + responses: + 401: + description: Unauthorized +settings: + authorizationUri: https://auth.sphere.io/oauth/{projectKey}/customers/token + accessTokenUri: https://auth.sphere.io/oauth/{projectKey}/customers/token + authorizationGrants: [password] + scopes: + - 'manage_project:{projectKey}' + - 'manage_products:{projectKey}' + - 'view_products:{projectKey}' + - 'manage_orders:{projectKey}' + - 'view_orders:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_payments:{projectKey}' + - 'view_payments:{projectKey}' + - 'manage_subscriptions:{projectKey}' + - 'view_subscriptions:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_types:{projectKey}' + - 'view_types:{projectKey}' + - 'manage_my_orders:{projectKey}' + - 'manage_my_profile:{projectKey}' diff --git a/api-specs/ml/securitySchemes/oauth2_refresh.raml b/api-specs/ml/securitySchemes/oauth2_refresh.raml new file mode 100644 index 000000000..e843b394a --- /dev/null +++ b/api-specs/ml/securitySchemes/oauth2_refresh.raml @@ -0,0 +1,46 @@ +#%RAML 1.0 SecurityScheme + +description: | + HTTP API authorization uses [OAuth2](https://datatracker.ietf.org/doc/html/rfc6750){:target="_blank"}. + + Clients must obtain an access token from the auth service using one of + the authorization flows described below, before they are able to make authorized requests + to other SPHERE.IO services. On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: +type: OAuth 2.0 +describedBy: + headers: + Authorization: + description: | + On successful completion of an authorization flow, + a client will be given an `access_token`, which they need to include in requests + to authorized service endpoints via the HTTP `Authorization` header like this: + + Authorization: Bearer {access_token} + type: string + responses: + 401: + description: Unauthorized +settings: + authorizationUri: https://auth.sphere.io/oauth/token + accessTokenUri: https://auth.sphere.io/oauth/token + authorizationGrants: [refresh_token] + scopes: + - 'manage_project:{projectKey}' + - 'manage_products:{projectKey}' + - 'view_products:{projectKey}' + - 'manage_orders:{projectKey}' + - 'view_orders:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_payments:{projectKey}' + - 'view_payments:{projectKey}' + - 'manage_subscriptions:{projectKey}' + - 'view_subscriptions:{projectKey}' + - 'manage_customers:{projectKey}' + - 'view_customers:{projectKey}' + - 'manage_types:{projectKey}' + - 'view_types:{projectKey}' + - 'manage_my_orders:{projectKey}' + - 'manage_my_profile:{projectKey}' diff --git a/api-specs/ml/types/annotations.raml b/api-specs/ml/types/annotations.raml new file mode 100644 index 000000000..59fb17f35 --- /dev/null +++ b/api-specs/ml/types/annotations.raml @@ -0,0 +1,55 @@ +#%RAML 1.0 Library +usage: Generator annotation types. + +annotationTypes: + asMap: + type: object + properties: + key: string + value: string + package: + description: | + Allows to specify a target package for a generator for a RAML library. + This package name should be a language indepedent logical name (e.g. "products"), which a generator then uses to + generate a language specific package name (e.g. "com.myapi.jvm.products") from its configuration. + allowedTargets: + - Library + type: string + enumDescriptions: + description: | + Allows to describe the values of an enum type. + type: object + properties: + //: + description: | + Adds a description for the enum value given by the key. + type: string + updateType: + type: string + allowedTargets: TypeDeclaration + identifier: + type: boolean + allowedTargets: TypeDeclaration + abstract: + type: boolean + allowedTargets: TypeDeclaration + methodName: + type: string + markDeprecated: + type: boolean + allowedTargets: + - Resource + - TypeDeclaration + deprecated: + type: boolean + allowedTargets: + - Resource + - TypeDeclaration + products: + allowedTargets: + - API + type: array + items: + type: string + beta: + type: boolean diff --git a/api-specs/ml/types/category-recommendations.raml b/api-specs/ml/types/category-recommendations.raml new file mode 100644 index 000000000..ae7ffadb3 --- /dev/null +++ b/api-specs/ml/types/category-recommendations.raml @@ -0,0 +1,61 @@ +#%RAML 1.0 Library +usage: Category recommendations types +(annotations.package): category-recommendations + +uses: + common: ./common.raml + annotations: ./annotations.raml + +types: + ProjectCategoryRecommendation: + properties: + category: + description: A category that is recommended for a product. + type: common.CategoryReference + confidence: + description: Probability score for the category recommendation. + type: number + format: float + path: + type: string + description: + Breadcrumb path to the recommended category. This only picks up one + language, not all available languages for the category. English is + prioritized, but if English data is not available, an arbitrary + language is selected. Do not use this to identify a category,use the + category ID from the category reference instead. + ProjectCategoryRecommendationMeta: + properties: + productName: + type: string + required: false + description: The product name that was used to generate recommendations. + productImageUrl: + type: string + required: false + description: The product image that was used to generate recommendations. + generalCategoryNames: + type: string[] + description: + Top 5 general categories that were used internally to generate the + project-specific categories. These category names are not related to + the categories defined in the project, but they provide additional + information to understand the project-specific categories in the + results section. + ProjectCategoryRecommendationPagedQueryResponse: + properties: + count: + type: number + format: int64 + total: + type: number + format: int64 + offset: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + results: + type: ProjectCategoryRecommendation[] + meta: + type: ProjectCategoryRecommendationMeta diff --git a/api-specs/ml/types/common.raml b/api-specs/ml/types/common.raml new file mode 100644 index 000000000..4bba73c42 --- /dev/null +++ b/api-specs/ml/types/common.raml @@ -0,0 +1,112 @@ +#%RAML 1.0 Library +usage: Common data types. +(annotations.package): common + +uses: + annotations: ./annotations.raml + +types: + LocalizedString: + (annotations.asMap): + key: string + value: string + properties: + /^[a-z]{2}(-[A-Z]{2})?$/: + type: string + + CurrencyCode: + type: string + description: | + The currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + pattern: ^[A-Z]{3}$ + + Money: + properties: + centAmount: + type: number + format: int64 + currencyCode: + type: CurrencyCode + + ReferenceTypeId: + type: string + enum: + - cart + - cart-discount + - category + - channel + - customer + - customer-group + - discount-code + - key-value-document + - payment + - product + - product-type + - product-discount + - order + - review + - shopping-list + - shipping-method + - state + - store + - tax-category + - type + - zone + - inventory-entry + - order-edit + + Reference: + type: object + discriminator: typeId + properties: + typeId: + type: ReferenceTypeId + id: + type: string + + CategoryReference: + type: Reference + discriminatorValue: category + + ProductReference: + type: Reference + discriminatorValue: product + + ProductTypeReference: + type: Reference + discriminatorValue: product-type + + ProductVariant: + description: The product variant that contains the image. + properties: + product: + description: The product that contains this variant. + type: ProductReference + required: true + staged: + description: The state of the product variant. + type: boolean + required: true + variantId: + description: The id of the product variant. + type: number + format: int32 + required: true + + TaskStatusEnum: + type: string + enum: + - PENDING + - SUCCESS + + TaskToken: + description: + Represents a URL path to poll to get the results of an Asynchronous + Request. + properties: + taskId: + description: The ID for the task. Used to find the status of the task. + type: string + uriPath: + description: The URI path to poll for the status of the task. + type: string diff --git a/api-specs/ml/types/general-recommendations.raml b/api-specs/ml/types/general-recommendations.raml new file mode 100644 index 000000000..0505dbc97 --- /dev/null +++ b/api-specs/ml/types/general-recommendations.raml @@ -0,0 +1,33 @@ +#%RAML 1.0 Library +usage: General Category recommendations types +(annotations.package): general-category-recommendations + +uses: + common: ./common.raml + annotations: ./annotations.raml + +types: + GeneralCategoryRecommendation: + properties: + categoryName: + description: An English category name that is recommended for a product. + type: string + confidence: + description: Probability score for the category recommendation. + type: number + format: float + GeneralCategoryRecommendationPagedQueryResponse: + properties: + count: + type: number + format: int64 + total: + type: number + format: int64 + offset: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + results: + type: GeneralCategoryRecommendation[] diff --git a/api-specs/ml/types/image-search-config.raml b/api-specs/ml/types/image-search-config.raml new file mode 100644 index 000000000..95a0bb6c7 --- /dev/null +++ b/api-specs/ml/types/image-search-config.raml @@ -0,0 +1,39 @@ +#%RAML 1.0 Library + +usage: Image search config endpoint +(annotations.package): image-search-config + +uses: + common: ./common.raml + annotations: ./annotations.raml + +types: + ImageSearchConfigStatus: + type: string + enum: + - 'on' + - 'off' + ImageSearchConfigUpdateAction: + discriminator: action + properties: + action: + type: string + + ChangeStatusUpdateAction: + type: ImageSearchConfigUpdateAction + discriminatorValue: changeStatus + properties: + status: + type: ImageSearchConfigStatus + + ImageSearchConfigRequest: + properties: + actions: + description: The list of update actions to be performed on the project. + type: ImageSearchConfigUpdateAction[] + ImageSearchConfigResponse: + properties: + status: + type: ImageSearchConfigStatus + description: The image search activation status. + lastModifiedAt: datetime diff --git a/api-specs/ml/types/image-search.raml b/api-specs/ml/types/image-search.raml new file mode 100644 index 000000000..110791bad --- /dev/null +++ b/api-specs/ml/types/image-search.raml @@ -0,0 +1,55 @@ +#%RAML 1.0 Library +usage: Image search types +(annotations.package): image-search + +uses: + common: ./common.raml + annotations: ./annotations.raml + +types: + ImageSearchRequest: + type: file + description: | + Image file in .png, .jpg, .gif or .bmp format. Optimal dimensions are 224x224px. + Larger images will be scaled before search so that the largest + dimension matches 224px. + ImageSearchResponse: + description: | + Response format from image search endpoint. + properties: + count: + type: number + format: int32 + required: true + description: The maximum number of results to return from a query. + offset: + type: number + required: true + description: | + Number of [elements skipped](/../api/general-concepts#offset). + default: 0 + total: + type: number + format: int32 + required: true + description: The total number of product images that were have been analyzed. + results: + type: ResultItem[] + description: + An array of image URLs of images that are similar to the query image. + If no matching images are found, results is empty. + required: true + example: !include ../examples/image-search.json + ResultItem: + description: + An image URL and the product variants it is contained in. If no matching + images are found, ResultItem is not present. + properties: + imageUrl: + type: string + required: true + description: The URL of the image. + productVariants: + type: common.ProductVariant[] + required: true + description: An array of product variants containing the image URL. diff --git a/api-specs/ml/types/missing-data.raml b/api-specs/ml/types/missing-data.raml new file mode 100644 index 000000000..754dbadef --- /dev/null +++ b/api-specs/ml/types/missing-data.raml @@ -0,0 +1,512 @@ +#%RAML 1.0 Library +usage: Missing data types +(annotations.package): missing-data + +uses: + common: ./common.raml + annotations: ./annotations.raml + +types: + AttributeCount: + (annotations.deprecated): true + (annotations.beta): true + properties: + productTypeAttributes: + description: Number of attributes defined in the product type. + type: number + format: int32 + variantAttributes: + description: Number of attributes defined in the variant. + type: number + format: int32 + missingAttributeValues: + description: Number of attributes missing values in the variant. + type: number + format: int32 + + AttributeCoverage: + (annotations.deprecated): true + (annotations.beta): true + properties: + names: + description: + The percentage of attributes from the product type defined in the + product variant. A value of `1.0` indicates a product variant contains + all attributes defined in the product type. + type: number + format: float + values: + description: + Represents the percentage of attributes in the product variant that + contain values. + type: number + format: float + + MissingAttributesDetails: + (annotations.deprecated): true + (annotations.beta): true + properties: + total: + description: Number of products scanned. + type: number + format: int32 + missingAttributeNames: + description: Number of products missing attribute names. + type: number + format: int32 + missingAttributeValues: + description: Number of products missing attribute values. + type: number + format: int32 + + MissingAttributes: + (annotations.deprecated): true + (annotations.beta): true + properties: + product: + type: common.ProductReference + productType: + type: common.ProductTypeReference + variantId: + description: ID of a ProductVariant. + type: number + format: int32 + missingAttributeValues: + description: + The names of the attributes of the product type that the variant is + missing, sorted by attribute importance in descending order. + type: string[] + missingAttributeNames?: + description: + The names of the attributes of the product type that the variant is + missing, sorted by attribute importance in descending order. + type: string[] + attributeCount?: + type: AttributeCount + attributeCoverage?: + type: AttributeCoverage + + MissingAttributesMeta: + (annotations.deprecated): true + (annotations.beta): true + properties: + productLevel: + type: MissingAttributesDetails + variantLevel: + type: MissingAttributesDetails + productTypeIds?: + description: The IDs of the product types containing the requested `attributeName`. + type: string[] + + MissingAttributesSearchRequest: + (annotations.deprecated): true + (annotations.beta): true + properties: + limit?: + type: number + format: int32 + description: | + Number of [results requested](/../api/general-concepts#limit). + offset?: + type: number + format: int32 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + staged?: + description: + If true, searches data from staged products in addition to published + products. + type: boolean + default: false + productSetLimit?: + type: number + format: int32 + default: 100000 + description: Maximum number of products to scan. + includeVariants?: + description: + If true, searches all product variants. If false, only searches master + variants. + type: boolean + coverageMin?: + description: + Minimum attribute coverage of variants to display, applied to both + coverage types. + type: number + format: float + coverageMax?: + description: + Maximum attribute coverage of variants to display, applied to both + coverage types. + type: number + format: float + sortBy?: + description: | + Default value: `coverageAttributeValues` - Allowed values: [`coverageAttributeValues`, `coverageAttributeNames`] + `coverageAttributeValues` shows the product variants with the most missing attribute values first and `coverageAttributeNames` the ones with the most missing attribute names. + type: string + showMissingAttributeNames?: + description: If true, the `missingAttributeNames` will be included in the results. + type: boolean + productIds?: + description: | + Filters results by the provided Product IDs. + Cannot be applied in combination with any other filter. + type: string[] + productTypeIds?: + description: | + Filters results by the provided product type IDs. + Cannot be applied in combination with any other filter. + type: string[] + attributeName?: + description: | + Filters results by the provided attribute name. If provided, products are only checked for this attribute. Therefore, only products of product types which define the attribute name are considered. These product type IDs + are then listed in `MissingAttributesMeta`. The `attributeCount` and `attributeCoverage` fields are not part of the response when using this filter. Cannot be applied in combination with any other filter. + type: string + MissingAttributesPagedQueryResult: + (annotations.deprecated): true + (annotations.beta): true + properties: + count: + type: number + format: int64 + total: + type: number + format: int64 + offset: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + results: + type: MissingAttributes[] + meta: + type: MissingAttributesMeta + + MissingDataTaskStatus: + (annotations.deprecated): true + (annotations.beta): true + description: + Represents a URL path to poll to get the results of an Asynchronous + Request. + properties: + state: common.TaskStatusEnum + expires: + description: | + The expiry date of the result. You cannot access the result after the expiry date. Default: 1 day after the result first becomes available. This is only available when the TaskStatus state is SUCCESS. + type: datetime + result: + description: + The response to an asynchronous request. The type depends on the + request initiated. Only populated when the status is `SUCCESS`. + type: MissingAttributesPagedQueryResult + ## Missing image section + MissingImages: + (annotations.deprecated): true + (annotations.beta): true + properties: + product: common.ProductReference + variantId: + description: ID of the variant + type: number + format: int64 + imageCount: + description: Number of images the variant contains. + type: number + format: int64 + + MissingImagesCount: + (annotations.deprecated): true + (annotations.beta): true + properties: + missingImages: + type: number + format: int64 + total: + description: Number of products scanned. + type: number + format: int64 + + MissingImagesProductLevel: + (annotations.deprecated): true + (annotations.beta): true + type: MissingImagesCount + properties: + missingImages: + description: Number of products missing images. + type: number + format: int64 + total: + description: Number of products scanned. + type: number + format: int64 + + MissingImagesVariantLevel: + (annotations.deprecated): true + (annotations.beta): true + type: MissingImagesCount + properties: + missingImages: + description: Number of product variants missing images. + type: number + format: int64 + total: + description: Number of products scanned. + type: number + format: int64 + + MissingImagesMeta: + (annotations.deprecated): true + (annotations.beta): true + properties: + productLevel: MissingImagesProductLevel + variantLevel: MissingImagesVariantLevel + threshold: + description: + The minimum number of images a product variant must have. Anything + below this value is considered a product variant with missing images. + type: number + format: int64 + + MissingImagesSearchRequest: + (annotations.deprecated): true + (annotations.beta): true + properties: + limit?: + type: number + format: int64 + description: | + Number of [results requested](/../api/general-concepts#limit). + offset?: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + staged?: + description: + If true, searches data from staged products in addition to published + products. + type: boolean + default: false + productSetLimit?: + description: Maximum number of products to scan. + type: number + format: int64 + includeVariants?: + description: + If true, searches all product variants. If false, only searches master + variants. + type: boolean + default: true + autoThreshold?: + description: + If true, uses the median number of images per product variant as a + threshold value. + type: boolean + default: false + threshold?: + description: + The minimum number of images a product variant must have. Anything + below this value is considered a product variant with missing images. + type: number + format: int64 + productIds?: + description: + Filters results by the provided Product IDs. Cannot be applied in + combination with any other filter. + type: string[] + productTypeIds?: + description: + Filters results by the provided product type IDs. It cannot be applied + in combination with any other filter. + type: string[] + MissingImagesPagedQueryResult: + (annotations.deprecated): true + (annotations.beta): true + properties: + count: + type: number + format: int64 + total: + type: number + format: int64 + offset: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + results: + type: MissingImages[] + meta: + type: MissingImagesMeta + MissingImagesTaskStatus: + (annotations.deprecated): true + (annotations.beta): true + description: + Represents a URL path to poll to get the results of an Asynchronous + Request. + properties: + state: common.TaskStatusEnum + expires: + description: | + The expiry date of the result. You cannot access the result after the expiry date. Default: 1 day after the result first becomes available. This is only available when the TaskStatus state is SUCCESS. + type: datetime + result: + description: + The response to an asynchronous request. The type depends on the + request initiated. Only populated when the status is `SUCCESS`. + type: MissingImagesPagedQueryResult + + # Missing prices section + MissingPrices: + (annotations.deprecated): true + (annotations.beta): true + properties: + product: common.ProductReference + variantId: + description: Id of the `ProductVariant`. + type: number + format: int64 + MissingPricesProductCount: + (annotations.deprecated): true + (annotations.beta): true + properties: + total: + type: number + format: int64 + missingPrices: + type: number + format: int64 + MissingPricesProductLevel: + (annotations.deprecated): true + (annotations.beta): true + type: MissingPricesProductCount + properties: + total: + description: Number of products scanned. + type: number + format: int64 + missingPrices: + description: Number of products missing prices. + type: number + format: int64 + + MissingPricesVariantLevel: + (annotations.deprecated): true + (annotations.beta): true + type: MissingPricesProductCount + properties: + total: + description: Number of product variants scanned. + type: number + format: int64 + missingPrices: + description: Number of product variants missing prices. + type: number + format: int64 + MissingPricesMeta: + (annotations.deprecated): true + (annotations.beta): true + properties: + productLevel: MissingPricesProductLevel + variantLevel: MissingPricesVariantLevel + + MissingPricesSearchRequest: + (annotations.deprecated): true + (annotations.beta): true + properties: + limit?: + type: number + format: int64 + description: | + Number of [results requested](/../api/general-concepts#limit). + offset?: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + staged?: + description: + If true, searches data from staged products in addition to published + products. + type: boolean + default: false + productSetLimit?: + description: Maximum number of products to scan. + type: number + format: int64 + default: 10000 + includeVariants?: + description: + If true, searches all product variants. If false, only searches master + variants. + type: boolean + default: true + currencyCode?: + type: string + description: + If used, only checks if a product variant has a price in the provided + currency code. + checkDate?: + type: boolean + default: false + description: + If true, checks if there are prices for the specified date range and + time. + validFrom?: + type: datetime + description: + Starting date of the range to check. If no value is given, checks + prices valid at the time the search is initiated. + validUntil?: + type: datetime + description: + Ending date of the range to check. If no value is given, it is equal + to `validFrom`. + productIds?: + description: + Filters results by the provided Product IDs. Cannot be applied in + combination with the `productTypeIds` filter. + type: string[] + productTypeIds?: + description: + Filters results by the provided product type IDs. Cannot be applied in + combination with the `productIds` filter. + type: string[] + + MissingPricesPagedQueryResult: + (annotations.deprecated): true + (annotations.beta): true + properties: + count: + type: number + format: int64 + total: + type: number + format: int64 + offset: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + results: + type: MissingPrices[] + meta: + type: MissingPricesMeta + MissingPricesTaskStatus: + (annotations.deprecated): true + (annotations.beta): true + description: + Represents a URL path to poll to get the results of an Asynchronous + Request. + properties: + state: common.TaskStatusEnum + expires: + description: | + The expiry date of the result. You cannot access the result after the expiry date. Default: 1 day after the result first becomes available. This is only available when the TaskStatus state is SUCCESS. + type: datetime + result: + description: + The response to an asynchronous request. The type depends on the + request initiated. Only populated when the status is `SUCCESS`. + type: MissingPricesPagedQueryResult diff --git a/api-specs/ml/types/similar-products.raml b/api-specs/ml/types/similar-products.raml new file mode 100644 index 000000000..89db79214 --- /dev/null +++ b/api-specs/ml/types/similar-products.raml @@ -0,0 +1,201 @@ +#%RAML 1.0 Library +usage: Missing data types +(annotations.package): similar-products + +uses: + common: ./common.raml + annotations: ./annotations.raml + +types: + ProductSetSelector: + description: + A set of ProductData for comparison. If no optional attributes are + specified, all `current` ProductData are selected for comparison. + properties: + projectKey: + type: string + description: The project containing the project set. + productIds?: + type: string[] + description: + An array of Product IDs to compare. If unspecified, no Product ID + filter is applied. + productTypeIds?: + type: string[] + description: + An array of product type IDs. Only products with product types in this + array are compared. If unspecified, no product type filter is applied. + staged?: + type: boolean + description: Specifies use of staged or current product data. + default: false + includeVariants?: + type: boolean + description: + Specifies use of product variants. If set to `true`, all product + variants are compared, not just the master variant. + default: false + productSetLimit?: + type: number + format: int64 + description: + Maximum number of products to check (if unspecified, all products are + considered). Note that the maximum number of product comparisons + between two productSets is 20,000,000. This limit cannot be exceeded. + If you need a higher limit, contact https://support.commercetools.com + SimilarityMeasures: + description: + Specify which ProductData attributes to use for estimating similarity and + how to weigh them. An attribute's weight can be any whole positive + integer, starting with 0. The larger the integer, the higher its weight. + properties: + name?: + description: Importance of the `name` attribute in overall similarity. + type: number + format: int64 + default: 1 + description?: + description: Importance of the `description` attribute in overall similarity. + type: number + format: int64 + default: 1 + attribute?: + description: Importance of the `description` attribute in overall similarity. + type: number + format: int64 + default: 1 + variantCount?: + description: Importance of the number of product variants in overall similarity. + type: number + format: int64 + default: 0 + price?: + description: Importance of the `price` attribute in overall similarity. + type: number + format: int64 + default: 0 + SimilarProductSearchRequest: + properties: + limit?: + type: number + format: int64 + default: 0 + description: | + Number of [results requested](/../api/general-concepts#limit). + offset?: + type: number + format: int64 + default: 0 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + language?: + description: language tag used to prioritize language for text comparisons. + type: string + default: en + currencyCode?: + type: string + default: EUR + description: + The three-digit currency code to compare prices in. When a product + has multiple prices, all prices for the product are converted to the + currency provided by the currency attribute and the median price is + calculated for comparison. Currencies are converted using the ECB + currency exchange rates at the time the request is made. Of the + currency codes, only currencies with currency exchange rates provided + by the ECB are supported. + similarityMeasures?: + type: SimilarityMeasures + description: | + `similarityMeasures` defines the attributes taken into account to measure product similarity. + productSetSelectors?: + description: Array of length 2 of ProductSetSelector + type: ProductSetSelector[] + confidenceMin?: + type: number + format: float + default: 0 + confidenceMax?: + type: number + format: float + default: 1 + SimilarProduct: + description: One part of a SimilarProductPair. Refers to a specific ProductVariant. + properties: + product?: + description: Reference to Product + type: common.ProductReference + variantId?: + type: number + format: int64 + description: ID of the ProductVariant that was compared. + meta?: + description: + Supplementary information about the data used for similarity + estimation. This information helps you understand the estimated + confidence score, but it should not be used to identify a product. + type: SimilarProductMeta + + SimilarProductMeta: + properties: + name?: + type: common.LocalizedString + description: Localized product name used for similarity estimation. + description?: + type: common.LocalizedString + description: Localized product description used for similarity estimation. + price?: + description: The product price in cents using the currency defined in + SimilarProductSearchRequest If multiple prices exist, the median value + is taken as a representative amount. + type: common.Money + variantCount?: + description: Total number of variants associated with the product. + type: number + format: int64 + SimilarProductPair: + description: A pair of SimilarProducts + properties: + confidence: + type: number + format: float + default: 0 + description: The probability of product similarity. + products: SimilarProduct[] + SimilarProductSearchRequestMeta: + properties: + similarityMeasures: + description: The SimilarityMeasures used in this search. + type: SimilarityMeasures + + SimilarProductsPagedQueryResult: + properties: + count: + type: number + format: int64 + total: + type: number + format: int64 + offset: + type: number + format: int64 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + results: + type: SimilarProductPair[] + meta: + type: SimilarProductSearchRequestMeta + SimilarProductsTaskStatus: + description: + Represents a URL path to poll to get the results of an Asynchronous + Request. + properties: + state: common.TaskStatusEnum + expires?: + description: | + The expiry date of the result. You cannot access the result after the expiry date. Default: 1 day after the result first becomes available. This is only available when the TaskStatus state is SUCCESS. + type: datetime + result: + description: + The response to an asynchronous request. The type depends on the + request initiated. Only populated when the status is `SUCCESS`. + type: SimilarProductsPagedQueryResult diff --git a/api-specs/readme.md b/api-specs/readme.md index 2d6d0a603..49d3fe864 100644 --- a/api-specs/readme.md +++ b/api-specs/readme.md @@ -550,7 +550,7 @@ or (markDeprecated): true ``` -In the RAMl spec for other libraries (such as the Connect API in `api-specs/connect`) use the following format: +In the RAMl spec for other libraries (such as the Machine Learning API in `api-specs/ml`) use the following format: ```raml uses: